{"id":35108,"date":"2019-10-31T22:02:22","date_gmt":"2019-10-31T19:02:22","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-my-moderiruem-obyavleniya\/"},"modified":"2019-10-31T22:02:22","modified_gmt":"2019-10-31T19:02:22","slug":"kak-my-moderiruem-obyavleniya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/kak-my-moderiruem-obyavleniya","title":{"rendered":"Comment nous mod\u00e9rons les annonces","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Comment nous mod\u00e9rons les annonces\" src=\"\/wp-content\/uploads\/26550996eb43e06cf069d989d90fe8d5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nChaque service permettant \u00e0 ses utilisateurs de cr\u00e9er leur propre contenu (UGC - User-generated content) doit non seulement r\u00e9pondre \u00e0 des enjeux commerciaux, mais aussi organiser ce contenu g\u00e9n\u00e9r\u00e9 par les utilisateurs. Une mod\u00e9ration de contenu de mauvaise qualit\u00e9 ou inefficace peut r\u00e9duire l'attrait du service pour les utilisateurs, allant jusqu'\u00e0 compromettre son fonctionnement. <\/p>\n<p>Aujourd'hui, nous allons vous parler de la synergie entre Yula et Odnoklassniki, qui nous aide \u00e0 mod\u00e9rer efficacement les annonces sur Yula. <\/p>\n<p>La synergie est une chose tr\u00e8s utile, et dans le monde moderne, o\u00f9 les technologies et les tendances changent rapidement, elle peut devenir une v\u00e9ritable bou\u00e9e de sauvetage. Pourquoi d\u00e9penser des ressources et du temps limit\u00e9s \u00e0 r\u00e9inventer la roue quand quelqu'un d'autre l'a d\u00e9j\u00e0 fait et l'a perfectionn\u00e9e ? <\/p>\n<p>C'est \u00e9galement ce que nous avons pens\u00e9, lorsque nous avons \u00e9t\u00e9 confront\u00e9s \u00e0 la t\u00e2che de mod\u00e9ration du contenu utilisateur - images, textes et liens. Chaque jour, nos utilisateurs t\u00e9l\u00e9chargent des millions d'unit\u00e9s de contenu sur Yula, et sans un traitement automatique, il est totalement irr\u00e9aliste de mod\u00e9rer toutes ces donn\u00e9es manuellement.<\/p>\n<p>C'est pourquoi nous avons utilis\u00e9 une plateforme de mod\u00e9ration existante, que nos coll\u00e8gues d'Odnoklassniki ont perfectionn\u00e9e \u00e0 presque la perfection.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Pourquoi Odnoklassniki ?<\/h2>\n<p>\nChaque jour, des dizaines de millions d'utilisateurs se rendent sur le r\u00e9seau social, publiant des milliards d'unit\u00e9s de contenu : des photos aux vid\u00e9os et textes. La plateforme de mod\u00e9ration d'Odnoklassniki aide \u00e0 v\u00e9rifier de tr\u00e8s grands volumes de donn\u00e9es et \u00e0 lutter contre les spammeurs et les bots. <\/p>\n<p>L'\u00e9quipe de mod\u00e9ration d'OK a accumul\u00e9 une grande exp\u00e9rience, perfectionnant son outil depuis 12 ans. Il est important qu'ils puissent non seulement partager leurs solutions pr\u00eates \u00e0 l'emploi, mais aussi adapter l'architecture de leur plateforme \u00e0 nos besoins sp\u00e9cifiques.<\/p>\n<p><img decoding=\"async\" alt=\"Comment nous mod\u00e9rons les annonces\" src=\"\/wp-content\/uploads\/5f98b6c93728aad3de613fffb153f3d4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPour des raisons de concision, nous appellerons la plateforme de mod\u00e9ration d'OK simplement \u00ab plateforme \u00bb.<\/p>\n<h2>Comment tout fonctionne<\/h2>\n<p>\nL'\u00e9change de donn\u00e9es entre Yula et Odnoklassniki se fait via <noindex><a rel=\"nofollow\" href=\"https:\/\/kafka.apache.org\/\">Apache Kafka<\/a><\/noindex>. <\/p>\n<p>Pourquoi avons-nous choisi cet outil :<\/p>\n<ul>\n<li>Sur Yula, toutes les annonces passent par une post-moderation, donc une r\u00e9ponse synchrone n'\u00e9tait pas requise au d\u00e9part.\n<\/li>\n<li>S'il arrive qu'il y ait un gros probl\u00e8me et que Yula ou Odnoklassniki soient indisponibles, y compris en raison de pics de charges, les donn\u00e9es de Kafka ne dispara\u00eetront nulle part et pourront \u00eatre lues plus tard.\n<\/li>\n<li>La plateforme a d\u00e9j\u00e0 \u00e9t\u00e9 int\u00e9gr\u00e9e \u00e0 Kafka, donc la plupart des probl\u00e8mes de s\u00e9curit\u00e9 ont \u00e9t\u00e9 r\u00e9solus.\n<\/li>\n<\/ul>\n<p>\n <img decoding=\"async\" alt=\"Comment nous mod\u00e9rons les annonces\" src=\"\/wp-content\/uploads\/5aeaf03bac41c3113659d6d739021e71.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPour chaque annonce cr\u00e9\u00e9e ou modifi\u00e9e par l'utilisateur sur Yula, un JSON contenant les donn\u00e9es est g\u00e9n\u00e9r\u00e9, qui est plac\u00e9 dans Kafka pour mod\u00e9ration ult\u00e9rieure. Les annonces sont ensuite charg\u00e9es dans la plateforme \u00e0 partir de Kafka, o\u00f9 des d\u00e9cisions sont prises automatiquement ou manuellement. Les mauvaises annonces sont bloqu\u00e9es avec la mention du motif, tandis que celles que la plateforme n'a pas consid\u00e9r\u00e9es comme violant les r\u00e8gles sont marqu\u00e9es comme \u00ab bonnes \u00bb. Ensuite, toutes les d\u00e9cisions sont renvoy\u00e9es \u00e0 Yula et appliqu\u00e9es dans le service.<\/p>\n<p>Ainsi, pour Yula, tout se r\u00e9sume \u00e0 des actions simples : envoyer l'annonce \u00e0 la plateforme Odnoklassniki et recevoir en retour une r\u00e9solution \u00ab OK \u00bb, ou une explication sur pourquoi ce n'est pas \u00ab OK \u00bb.<\/p>\n<h2>Traitement automatique<\/h2>\n<p>\nQue se passe-t-il avec l'annonce apr\u00e8s qu'elle ait \u00e9t\u00e9 plac\u00e9e dans la plateforme ? Chaque annonce est d\u00e9compos\u00e9e en plusieurs entit\u00e9s :<\/p>\n<ul>\n<li>titre,\n<\/li>\n<li>description,\n<\/li>\n<li>photos,\n<\/li>\n<li>cat\u00e9gorie et sous-cat\u00e9gorie s\u00e9lectionn\u00e9es par l'utilisateur pour l'annonce,\n<\/li>\n<li>prix.\n<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Comment nous mod\u00e9rons les annonces\" src=\"\/wp-content\/uploads\/e4396a3b4378975987fe3a871c3d6fbf.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEnsuite, pour chaque entit\u00e9, la plateforme effectue une clustering afin de trouver des doublons. Les textes et les photos sont clusteris\u00e9s selon des sch\u00e9mas diff\u00e9rents.<\/p>\n<p>Les textes sont normalis\u00e9s avant le clustering pour \u00e9liminer les caract\u00e8res sp\u00e9ciaux, les lettres modifi\u00e9es et autres \u00e9l\u00e9ments ind\u00e9sirables. Les donn\u00e9es obtenues sont divis\u00e9es en N-grammes, chacun \u00e9tant hach\u00e9. En fin de compte, on obtient un grand nombre de hachages uniques. La similarit\u00e9 entre les textes est calcul\u00e9e selon <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9A%D0%BE%D1%8D%D1%84%D1%84%D0%B8%D1%86%D0%B8%D0%B5%D0%BD%D1%82_%D1%81%D1%85%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%B0\">la mesure de Jaccard<\/a><\/noindex> entre les deux ensembles obtenus. Si la similarit\u00e9 d\u00e9passe le seuil, les textes sont fusionn\u00e9s en un seul cluster. Pour acc\u00e9l\u00e9rer la recherche de clusters similaires, MinHash et le hachage sensible \u00e0 la localisation sont utilis\u00e9s.<\/p>\n<p>Pour les photos, diff\u00e9rentes m\u00e9thodes de fusion d'images ont \u00e9t\u00e9 imagin\u00e9es, allant de la comparaison de hachages perceptuels (pHash) aux recherches de doublons \u00e0 l'aide de r\u00e9seaux neuronaux. <\/p>\n<p>Cette derni\u00e8re m\u00e9thode est la plus \u00ab s\u00e9v\u00e8re \u00bb. Pour former le mod\u00e8le, des triplets d'images (N, A, P) ont \u00e9t\u00e9 constitu\u00e9s, o\u00f9 N n'est pas similaire \u00e0 A, tandis que P est similaire \u00e0 A (un demi-doublon). Ensuite, le r\u00e9seau neuronal a appris \u00e0 faire en sorte qu'A et P soient le plus proches possible, tandis qu'A et N soient le plus \u00e9loign\u00e9s possible. Ainsi, on obtient moins de faux positifs par rapport \u00e0 simplement utiliser les embeddings d'un r\u00e9seau pr\u00e9-entra\u00een\u00e9.<\/p>\n<p>Lorsque le r\u00e9seau de neurones re\u00e7oit des images, il g\u00e9n\u00e8re pour chacune d'elles un vecteur de N(128) dimensions et effectue une requ\u00eate pour \u00e9valuer la similarit\u00e9 de l'image. Ensuite, un seuil est calcul\u00e9, au-dessous duquel les images proches sont consid\u00e9r\u00e9es comme des doublons.<\/p>\n<p>Le mod\u00e8le est capable de d\u00e9tecter habilement les spammeurs qui photographient intentionnellement le m\u00eame produit sous diff\u00e9rents angles pour contourner la comparaison par pHash.<\/p>\n<p><img decoding=\"async\" alt=\"Comment nous mod\u00e9rons les annonces\" src=\"\/wp-content\/uploads\/943a628a844ea124317e7eec8d3c19f7.png\" style=\"display:block;margin: 0 auto;\" \/><img decoding=\"async\" alt=\"Comment nous mod\u00e9rons les annonces\" src=\"\/wp-content\/uploads\/4b6f7082751ddb7581d00cf171797b1d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Exemple de photos de spammeurs fusionn\u00e9es par le r\u00e9seau de neurones en tant que doublons.<\/i><\/p>\n<p>\u00c0 l'\u00e9tape finale, les doublons d'annonces sont recherch\u00e9s simultan\u00e9ment par le texte et par l'image.<\/p>\n<p>Si deux annonces ou plus sont fusionn\u00e9es dans un cluster, le syst\u00e8me d\u00e9clenche un blocage automatique qui, selon certains algorithmes, d\u00e9termine quels doublons supprimer et lesquels conserver. Par exemple, si deux utilisateurs ont les m\u00eames photos dans leurs annonces, le syst\u00e8me bloquera l'annonce la plus r\u00e9cente.<\/p>\n<p>Apr\u00e8s leur cr\u00e9ation, tous les clusters passent par une s\u00e9rie de filtres automatiques. Chaque filtre attribue un score au cluster : quelle est la probabilit\u00e9 qu'il contienne une menace d\u00e9tect\u00e9e par ce filtre. <\/p>\n<p>Par exemple, le syst\u00e8me analyse la description de l'annonce et s\u00e9lectionne des cat\u00e9gories potentielles pour celle-ci. Il prend ensuite celle avec la probabilit\u00e9 maximale et la compare \u00e0 la cat\u00e9gorie fournie par l'auteur de l'annonce. Si elles ne correspondent pas, l'annonce est bloqu\u00e9e pour cat\u00e9gorie incorrecte. Et comme nous sommes bienveillants et honn\u00eates, nous disons directement \u00e0 l'utilisateur quelle cat\u00e9gorie il doit choisir pour que l'annonce soit mod\u00e9r\u00e9e.<\/p>\n<p><img decoding=\"async\" alt=\"Comment nous mod\u00e9rons les annonces\" src=\"\/wp-content\/uploads\/a909ea1ff91d57a225d2db1c96cd56a7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Notification de blocage pour une cat\u00e9gorie incorrecte.<\/i><\/p>\n<p>Sur notre plateforme, l'apprentissage automatique s'\u00e9panouit. Par exemple, gr\u00e2ce \u00e0 lui, nous recherchons dans les titres et descriptions des produits interdits en RF. Et les mod\u00e8les de r\u00e9seaux neuronaux examinent minutieusement les images pour d\u00e9tecter des URL, des textes ind\u00e9sirables, des num\u00e9ros de t\u00e9l\u00e9phone et tout ce qui rel\u00e8ve de l'interdiction.<\/p>\n<p>Dans les cas o\u00f9 un produit interdit est tent\u00e9 d'\u00eatre vendu en le masquant sous quelque chose de l\u00e9gal, sans aucun texte dans le titre ou la description, nous utilisons le marquage des images. Jusqu'\u00e0 11 000 diff\u00e9rentes \u00e9tiquettes peuvent \u00eatre appliqu\u00e9es \u00e0 chaque image, d\u00e9crivant ce qu'elle repr\u00e9sente.<\/p>\n<p><img decoding=\"async\" alt=\"Comment nous mod\u00e9rons les annonces\" src=\"\/wp-content\/uploads\/865afd80422c05d1277ac53f7fe0009e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Un narguil\u00e9 est tent\u00e9 d'\u00eatre vendu en le masquant sous un samovar.<\/i><\/p>\n<p>Parall\u00e8lement aux filtres complexes, des filtres simples fonctionnent \u00e9galement, r\u00e9solvant des probl\u00e8mes \u00e9vidents li\u00e9s au texte : <\/p>\n<ul>\n<li>antimat\u00e9riel; \n<\/li>\n<li>d\u00e9tecteur d'URL et de num\u00e9ros de t\u00e9l\u00e9phone; \n<\/li>\n<li>mention des messageries et d'autres contacts; \n<\/li>\n<li>prix sous-\u00e9valu\u00e9; \n<\/li>\n<li>annonces o\u00f9 rien n'est vendu, etc.\n<\/li>\n<\/ul>\n<p>\nAujourd'hui, chaque annonce passe par un filtre fin de plus de 50 filtres automatiques qui tentent de d\u00e9tecter quelque chose de mauvais dans l'annonce.<\/p>\n<p>Si aucun des d\u00e9tecteurs ne se d\u00e9clenche, une r\u00e9ponse est envoy\u00e9e \u00e0 Yulu indiquant que l'annonce est \u00ab probablement \u00bb en bon \u00e9tat. Nous utilisons cette r\u00e9ponse, et les utilisateurs qui se sont abonn\u00e9s au vendeur re\u00e7oivent une notification concernant l'apparition d'un nouveau produit.<\/p>\n<p><img decoding=\"async\" alt=\"Comment nous mod\u00e9rons les annonces\" src=\"\/wp-content\/uploads\/37ed66a822d50348686c823e6b919712.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Notification indiquant qu'un nouveau produit est disponible chez le vendeur.<\/i><\/p>\n<p>Ainsi, chaque annonce \u00ab s'enrichit \u00bb de m\u00e9tadonn\u00e9es, dont une partie est g\u00e9n\u00e9r\u00e9e lors de la cr\u00e9ation de l'annonce (adresse IP de l'auteur, user-agent, plateforme, g\u00e9olocalisation, etc.), et le reste consiste en des scores attribu\u00e9s par chaque filtre.<\/p>\n<h2>Files d'attente d'annonces<\/h2>\n<p>\nLorsque l'annonce entre sur la plateforme, le syst\u00e8me la place dans l'une des files d'attente. Chaque file est form\u00e9e \u00e0 l'aide d'une formule math\u00e9matique qui combine les m\u00e9tadonn\u00e9es de l'annonce afin de d\u00e9tecter un mauvais motif.<\/p>\n<p>Par exemple, une file d'attente d'annonces dans la cat\u00e9gorie \u00ab t\u00e9l\u00e9phones mobiles \u00bb peut \u00eatre cr\u00e9\u00e9e \u00e0 partir d'utilisateurs de Yulu pr\u00e9tendument de Saint-P\u00e9tersbourg, mais ayant des adresses IP de Moscou ou d'autres villes.<\/p>\n<p><img decoding=\"async\" alt=\"Comment nous mod\u00e9rons les annonces\" src=\"\/wp-content\/uploads\/de7b944fed4fc8682ab068c5956f1023.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Exemple d'annonces publi\u00e9es par un m\u00eame utilisateur dans diff\u00e9rentes villes.<\/i><\/p>\n<p>Ou bien les files peuvent \u00eatre form\u00e9es sur la base des scores que le r\u00e9seau de neurones attribue aux annonces, les classant par ordre d\u00e9croissant.<\/p>\n<p>Chaque file, selon sa formule, attribue un score final \u00e0 l'annonce. Ensuite, plusieurs actions peuvent \u00eatre envisag\u00e9es : <\/p>\n<ul>\n<li>indiquer un seuil \u00e0 partir duquel l'annonce recevra un type de blocage sp\u00e9cifique; \n<\/li>\n<li>envoyer toutes les annonces de la file aux mod\u00e9rateurs pour une v\u00e9rification manuelle;\n<\/li>\n<li>ou combiner les options pr\u00e9c\u00e9dentes : indiquer un seuil de blocage automatique et envoyer aux mod\u00e9rateurs les annonces qui n'ont pas atteint ce seuil.\n<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Comment nous mod\u00e9rons les annonces\" src=\"\/wp-content\/uploads\/46a773be691fb644df64fe68f999a568.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPourquoi ces files d'attente? Supposons qu'un utilisateur t\u00e9l\u00e9charge une photo d'une arme \u00e0 feu. Le r\u00e9seau neuronal lui attribue un score de 95 \u00e0 100 et d\u00e9termine avec 99 % de pr\u00e9cision qu'il s'agit d'une arme sur l'image. Mais si le score est inf\u00e9rieur \u00e0 95 %, la pr\u00e9cision du mod\u00e8le commence \u00e0 diminuer (c'est une particularit\u00e9 des mod\u00e8les de r\u00e9seaux de neurones).<\/p>\n<p>En cons\u00e9quence, une file d'attente se forme sur la base du score du mod\u00e8le, et les annonces qui obtiennent un score de 95 \u00e0 100 sont automatiquement bloqu\u00e9es comme \u00ab produit interdit \u00bb. Les annonces avec un score inf\u00e9rieur \u00e0 95 sont envoy\u00e9es pour un traitement manuel par des mod\u00e9rateurs.<\/p>\n<p><img decoding=\"async\" alt=\"Comment nous mod\u00e9rons les annonces\" src=\"\/wp-content\/uploads\/0b22d783560e9670b99661df2de9d9ba.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Beretta en chocolat avec des munitions. Uniquement pour mod\u00e9ration manuelle! \ud83d\ude42<\/i><\/p>\n<h2>Mod\u00e9ration manuelle<\/h2>\n<p>\nD\u00e9but 2019, environ 94 % de toutes les annonces sur Youla sont mod\u00e9r\u00e9es automatiquement. <\/p>\n<p><img decoding=\"async\" alt=\"Comment nous mod\u00e9rons les annonces\" src=\"\/wp-content\/uploads\/7dc3172e65097cc58b2a29d2df063507.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSi la plateforme ne peut pas se d\u00e9cider sur certaines annonces, elle les envoie pour une mod\u00e9ration manuelle. Odnoklassniki a d\u00e9velopp\u00e9 son propre outil : dans les missions pour les mod\u00e9rateurs, toutes les informations n\u00e9cessaires \u00e0 une d\u00e9cision rapide - l'annonce est-elle valable ou doit-elle \u00eatre bloqu\u00e9e avec indication de la raison - s'affichent imm\u00e9diatement.<\/p>\n<p>Pour garantir que la qualit\u00e9 du service ne soit pas affect\u00e9e lors de la mod\u00e9ration manuelle, le travail des personnes est constamment contr\u00f4l\u00e9. Par exemple, dans le flux de missions, le mod\u00e9rateur voit des \u00ab pi\u00e8ges \u00bb - des annonces pour lesquelles des d\u00e9cisions sont d\u00e9j\u00e0 prises. Si la d\u00e9cision du mod\u00e9rateur ne correspond pas \u00e0 celle pr\u00e9d\u00e9finie, une erreur est comptabilis\u00e9e pour le mod\u00e9rateur.<\/p>\n<p>Un mod\u00e9rateur passe en moyenne 10 secondes \u00e0 examiner une annonce. Le taux d'erreurs est inf\u00e9rieur \u00e0 0,5 % de toutes les annonces examin\u00e9es.<\/p>\n<h2>Mod\u00e9ration populaire<\/h2>\n<p>\nDes coll\u00e8gues d'Odnoklassniki ont pouss\u00e9 plus loin, en profitant de l'\u00ab aide de la salle \u00bb : ils ont \u00e9crit une application de jeu pour le r\u00e9seau social, o\u00f9 il est possible de marquer rapidement un grand nombre de donn\u00e9es en signalant un mauvais crit\u00e8re - Mod\u00e9rateur Odnoklassniki (<noindex><a rel=\"nofollow\" href=\"https:\/\/ok.ru\/app\/moderator\">https:\/\/ok.ru\/app\/moderator<\/a><\/noindex>). Une bonne fa\u00e7on de b\u00e9n\u00e9ficier de l'aide des utilisateurs d'OK, qui s'efforcent d'am\u00e9liorer le contenu.<\/p>\n<p><img decoding=\"async\" alt=\"Comment nous mod\u00e9rons les annonces\" src=\"\/wp-content\/uploads\/8889b29402991047e43c1d7eaf7a3c77.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Un jeu dans lequel les utilisateurs marquent des photos contenant un num\u00e9ro de t\u00e9l\u00e9phone.<\/i><\/p>\n<p>Toute file d'annonces sur la plateforme peut \u00eatre redirig\u00e9e vers le jeu Mod\u00e9rateur Odnoklassniki. Tout ce que les utilisateurs du jeu marquent est ensuite soumis \u00e0 des mod\u00e9rateurs internes pour v\u00e9rification. Ce syst\u00e8me permet de bloquer les annonces pour lesquelles des filtres n'ont pas encore \u00e9t\u00e9 cr\u00e9\u00e9s, tout en cr\u00e9ant des ensembles d'apprentissage.<\/p>\n<h2>Stockage des r\u00e9sultats de mod\u00e9ration<\/h2>\n<p>\nNous sauvegardons toutes les d\u00e9cisions prises lors de la mod\u00e9ration, afin de ne pas avoir \u00e0 traiter \u00e0 nouveau les annonces pour lesquelles une d\u00e9cision a d\u00e9j\u00e0 \u00e9t\u00e9 prise.<\/p>\n<p>Chaque jour, des millions de clusters sont cr\u00e9\u00e9s pour les annonces. Au fil du temps, chaque cluster re\u00e7oit une note \u00abbon\u00bb ou \u00abmauvais\u00bb. Chaque nouvelle annonce ou sa r\u00e9vision, en entrant dans un cluster not\u00e9, re\u00e7oit automatiquement la r\u00e9solution du cluster lui-m\u00eame. Environ 20 000 de telles r\u00e9solutions automatiques sont g\u00e9n\u00e9r\u00e9es chaque jour.<\/p>\n<p><img decoding=\"async\" alt=\"Comment nous mod\u00e9rons les annonces\" src=\"\/wp-content\/uploads\/0be3a108970402282121b4dc58dc3a57.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSi aucun nouvel annonce n'est re\u00e7u dans le cluster, il est supprim\u00e9 de la m\u00e9moire et son hash et sa d\u00e9cision sont enregistr\u00e9s dans Apache Cassandra.<\/p>\n<p>Lorsque la plateforme re\u00e7oit une nouvelle annonce, elle essaie d'abord de trouver un cluster similaire parmi ceux d\u00e9j\u00e0 cr\u00e9\u00e9s et prend la d\u00e9cision qui en d\u00e9coule. Si aucun cluster n'est trouv\u00e9, la plateforme se rend dans Cassandra et y recherche. Trouv\u00e9 ? Parfait, elle applique la d\u00e9cision au cluster et l'envoie \u00e0 Yula. En moyenne, environ 70 000 de ces d\u00e9cisions \u00abr\u00e9p\u00e9t\u00e9es\u00bb sont g\u00e9n\u00e9r\u00e9es chaque jour - soit 8 % de l'ensemble.<\/p>\n<h2>En r\u00e9sum\u00e9<\/h2>\n<p>\nNous utilisons la plateforme de mod\u00e9ration Odnoklassniki depuis deux ans et demi. Nous sommes satisfaits des r\u00e9sultats :<\/p>\n<ul>\n<li>94 % de toutes les annonces sont mod\u00e9r\u00e9es automatiquement par jour.\n<\/li>\n<li>Le co\u00fbt de la mod\u00e9ration d'une annonce a \u00e9t\u00e9 r\u00e9duit de 2 roubles \u00e0 7 kopecks.\n<\/li>\n<li>Gr\u00e2ce \u00e0 cet outil pr\u00eat \u00e0 l'emploi, nous avons oubli\u00e9 les probl\u00e8mes de gestion des mod\u00e9rateurs.\n<\/li>\n<li>Nous avons multipli\u00e9 par 2,5 le nombre d'annonces trait\u00e9es manuellement tout en maintenant le m\u00eame nombre de mod\u00e9rateurs et le m\u00eame budget. De plus, la qualit\u00e9 de la mod\u00e9ration manuelle s'est am\u00e9lior\u00e9e gr\u00e2ce au contr\u00f4le automatis\u00e9, oscillant autour de 0,5 % d'erreurs.\n<\/li>\n<li>Nous couvrons rapidement de nouveaux types de spam avec des filtres.\n<\/li>\n<li>Nous int\u00e9grons rapidement de nouvelles divisions \u00e0 la mod\u00e9ration. <noindex><a rel=\"nofollow\" href=\"https:\/\/vc.ru\/transport\/32671-servis-obyavleniy-yula-zapustil-razdel-dlya-prodazhi-avtomobiley-s-vydachey-kreditov\">\u00abYula Verticales\u00bb<\/a><\/noindex>. Depuis 2017, Yula a introduit les verticales Immobilier, Emplois et Auto.\n<\/li>\n<\/ul>\n<p>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/youla\/blog\/455128\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u0447\u044c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043d\u0442 (UGC \u2014 User-generated content), \u0432\u044b\u043d\u0443\u0436\u0434\u0435\u043d \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0448\u0430\u0442\u044c \u0431\u0438\u0437\u043d\u0435\u0441-\u0437\u0430\u0434\u0430\u0447\u0438, \u043d\u043e \u0438 \u043d\u0430\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432 UGC. \u041f\u043b\u043e\u0445\u0430\u044f \u0438\u043b\u0438 \u043d\u0435\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u0440\u0430\u0446\u0438\u044f \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0432 \u0438\u0442\u043e\u0433\u0435 \u043c\u043e\u0436\u0435\u0442 \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u043f\u0440\u0438\u0432\u043b\u0435\u043a\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0435\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u044b. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0432\u0430\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c \u043f\u0440\u043e \u0441\u0438\u043d\u0435\u0440\u0433\u0438\u044e \u043c\u0435\u0436\u0434\u0443 \u042e\u043b\u043e\u0439 \u0438 \u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043d\u0430\u043c \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35108","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u0447\u044c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043d\u0442.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/kak-my-moderiruem-obyavleniya\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u043c\u044b \u043c\u043e\u0434\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u0447\u044c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043d\u0442.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/kak-my-moderiruem-obyavleniya\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:02:22+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:02:22+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Comment nous mod\u00e9rons les annonces | ProHoster","description":"Chaque service dont les utilisateurs peuvent cr\u00e9er leur propre contenu.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/kak-my-moderiruem-obyavleniya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u043c\u044b \u043c\u043e\u0434\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f | ProHoster","og:description":"\u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u0447\u044c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043d\u0442.","og:url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/kak-my-moderiruem-obyavleniya","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:02:22+00:00","article:modified_time":"2019-10-31T19:02:22+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35108","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 21:51:33","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:09:55","updated":"2026-01-21 21:51:33","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/35108","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=35108"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/35108\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=35108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=35108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=35108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}