Comment nous modérons les annonces

Comment nous modérons les annonces

Chaque service permettant à ses utilisateurs de créer leur propre contenu (UGC - User-generated content) doit non seulement répondre à des enjeux commerciaux, mais aussi organiser ce contenu généré par les utilisateurs. Une modération de contenu de mauvaise qualité ou inefficace peut réduire l'attrait du service pour les utilisateurs, allant jusqu'à compromettre son fonctionnement.

Aujourd'hui, nous allons vous parler de la synergie entre Yula et Odnoklassniki, qui nous aide à modérer efficacement les annonces sur Yula.

La synergie est une chose trĂšs utile, et dans le monde moderne, oĂč les technologies et les tendances changent rapidement, elle peut devenir une vĂ©ritable bouĂ©e de sauvetage. Pourquoi dĂ©penser des ressources et du temps limitĂ©s Ă  rĂ©inventer la roue quand quelqu'un d'autre l'a dĂ©jĂ  fait et l'a perfectionnĂ©e ?

C'est également ce que nous avons pensé, lorsque nous avons été confrontés à la tùche de modération du contenu utilisateur - images, textes et liens. Chaque jour, nos utilisateurs téléchargent des millions d'unités de contenu sur Yula, et sans un traitement automatique, il est totalement irréaliste de modérer toutes ces données manuellement.

C'est pourquoi nous avons utilisé une plateforme de modération existante, que nos collÚgues d'Odnoklassniki ont perfectionnée à presque la perfection.

Pourquoi Odnoklassniki ?

Chaque jour, des dizaines de millions d'utilisateurs se rendent sur le réseau social, publiant des milliards d'unités de contenu : des photos aux vidéos et textes. La plateforme de modération d'Odnoklassniki aide à vérifier de trÚs grands volumes de données et à lutter contre les spammeurs et les bots.

L'Ă©quipe de modĂ©ration d'OK a accumulĂ© une grande expĂ©rience, perfectionnant son outil depuis 12 ans. Il est important qu'ils puissent non seulement partager leurs solutions prĂȘtes Ă  l'emploi, mais aussi adapter l'architecture de leur plateforme Ă  nos besoins spĂ©cifiques.

Comment nous modérons les annonces

Pour des raisons de concision, nous appellerons la plateforme de modération d'OK simplement « plateforme ».

Comment tout fonctionne

L'échange de données entre Yula et Odnoklassniki se fait via Apache Kafka.

Pourquoi avons-nous choisi cet outil :

  • Sur Yula, toutes les annonces passent par une post-moderation, donc une rĂ©ponse synchrone n'Ă©tait pas requise au dĂ©part.
  • S'il arrive qu'il y ait un gros problĂšme et que Yula ou Odnoklassniki soient indisponibles, y compris en raison de pics de charges, les donnĂ©es de Kafka ne disparaĂźtront nulle part et pourront ĂȘtre lues plus tard.
  • La plateforme a dĂ©jĂ  Ă©tĂ© intĂ©grĂ©e Ă  Kafka, donc la plupart des problĂšmes de sĂ©curitĂ© ont Ă©tĂ© rĂ©solus.

Comment nous modérons les annonces

Pour chaque annonce créée ou modifiĂ©e par l'utilisateur sur Yula, un JSON contenant les donnĂ©es est gĂ©nĂ©rĂ©, qui est placĂ© dans Kafka pour modĂ©ration ultĂ©rieure. Les annonces sont ensuite chargĂ©es dans la plateforme Ă  partir de Kafka, oĂč des dĂ©cisions sont prises automatiquement ou manuellement. Les mauvaises annonces sont bloquĂ©es avec la mention du motif, tandis que celles que la plateforme n'a pas considĂ©rĂ©es comme violant les rĂšgles sont marquĂ©es comme « bonnes ». Ensuite, toutes les dĂ©cisions sont renvoyĂ©es Ă  Yula et appliquĂ©es dans le service.

Ainsi, pour Yula, tout se résume à des actions simples : envoyer l'annonce à la plateforme Odnoklassniki et recevoir en retour une résolution « OK », ou une explication sur pourquoi ce n'est pas « OK ».

Traitement automatique

Que se passe-t-il avec l'annonce aprÚs qu'elle ait été placée dans la plateforme ? Chaque annonce est décomposée en plusieurs entités :

  • titre,
  • description,
  • photos,
  • catĂ©gorie et sous-catĂ©gorie sĂ©lectionnĂ©es par l'utilisateur pour l'annonce,
  • prix.

Comment nous modérons les annonces

Ensuite, pour chaque entité, la plateforme effectue une clustering afin de trouver des doublons. Les textes et les photos sont clusterisés selon des schémas différents.

Les textes sont normalisés avant le clustering pour éliminer les caractÚres spéciaux, les lettres modifiées et autres éléments indésirables. Les données obtenues sont divisées en N-grammes, chacun étant haché. En fin de compte, on obtient un grand nombre de hachages uniques. La similarité entre les textes est calculée selon la mesure de Jaccard entre les deux ensembles obtenus. Si la similarité dépasse le seuil, les textes sont fusionnés en un seul cluster. Pour accélérer la recherche de clusters similaires, MinHash et le hachage sensible à la localisation sont utilisés.

Pour les photos, différentes méthodes de fusion d'images ont été imaginées, allant de la comparaison de hachages perceptuels (pHash) aux recherches de doublons à l'aide de réseaux neuronaux.

Cette derniĂšre mĂ©thode est la plus « sĂ©vĂšre ». Pour former le modĂšle, des triplets d'images (N, A, P) ont Ă©tĂ© constituĂ©s, oĂč N n'est pas similaire Ă  A, tandis que P est similaire Ă  A (un demi-doublon). Ensuite, le rĂ©seau neuronal a appris Ă  faire en sorte qu'A et P soient le plus proches possible, tandis qu'A et N soient le plus Ă©loignĂ©s possible. Ainsi, on obtient moins de faux positifs par rapport Ă  simplement utiliser les embeddings d'un rĂ©seau prĂ©-entraĂźnĂ©.

Lorsque le rĂ©seau de neurones reçoit des images, il gĂ©nĂšre pour chacune d'elles un vecteur de N(128) dimensions et effectue une requĂȘte pour Ă©valuer la similaritĂ© de l'image. Ensuite, un seuil est calculĂ©, au-dessous duquel les images proches sont considĂ©rĂ©es comme des doublons.

Le modĂšle est capable de dĂ©tecter habilement les spammeurs qui photographient intentionnellement le mĂȘme produit sous diffĂ©rents angles pour contourner la comparaison par pHash.

Comment nous modérons les annoncesComment nous modérons les annonces
Exemple de photos de spammeurs fusionnées par le réseau de neurones en tant que doublons.

À l'Ă©tape finale, les doublons d'annonces sont recherchĂ©s simultanĂ©ment par le texte et par l'image.

Si deux annonces ou plus sont fusionnĂ©es dans un cluster, le systĂšme dĂ©clenche un blocage automatique qui, selon certains algorithmes, dĂ©termine quels doublons supprimer et lesquels conserver. Par exemple, si deux utilisateurs ont les mĂȘmes photos dans leurs annonces, le systĂšme bloquera l'annonce la plus rĂ©cente.

AprÚs leur création, tous les clusters passent par une série de filtres automatiques. Chaque filtre attribue un score au cluster : quelle est la probabilité qu'il contienne une menace détectée par ce filtre.

Par exemple, le systĂšme analyse la description de l'annonce et sĂ©lectionne des catĂ©gories potentielles pour celle-ci. Il prend ensuite celle avec la probabilitĂ© maximale et la compare Ă  la catĂ©gorie fournie par l'auteur de l'annonce. Si elles ne correspondent pas, l'annonce est bloquĂ©e pour catĂ©gorie incorrecte. Et comme nous sommes bienveillants et honnĂȘtes, nous disons directement Ă  l'utilisateur quelle catĂ©gorie il doit choisir pour que l'annonce soit modĂ©rĂ©e.

Comment nous modérons les annonces
Notification de blocage pour une catégorie incorrecte.

Sur notre plateforme, l'apprentissage automatique s'épanouit. Par exemple, grùce à lui, nous recherchons dans les titres et descriptions des produits interdits en RF. Et les modÚles de réseaux neuronaux examinent minutieusement les images pour détecter des URL, des textes indésirables, des numéros de téléphone et tout ce qui relÚve de l'interdiction.

Dans les cas oĂč un produit interdit est tentĂ© d'ĂȘtre vendu en le masquant sous quelque chose de lĂ©gal, sans aucun texte dans le titre ou la description, nous utilisons le marquage des images. Jusqu'Ă  11 000 diffĂ©rentes Ă©tiquettes peuvent ĂȘtre appliquĂ©es Ă  chaque image, dĂ©crivant ce qu'elle reprĂ©sente.

Comment nous modérons les annonces
Un narguilĂ© est tentĂ© d'ĂȘtre vendu en le masquant sous un samovar.

ParallÚlement aux filtres complexes, des filtres simples fonctionnent également, résolvant des problÚmes évidents liés au texte :

  • antimatĂ©riel;
  • dĂ©tecteur d'URL et de numĂ©ros de tĂ©lĂ©phone;
  • mention des messageries et d'autres contacts;
  • prix sous-Ă©valuĂ©;
  • annonces oĂč rien n'est vendu, etc.

Aujourd'hui, chaque annonce passe par un filtre fin de plus de 50 filtres automatiques qui tentent de détecter quelque chose de mauvais dans l'annonce.

Si aucun des détecteurs ne se déclenche, une réponse est envoyée à Yulu indiquant que l'annonce est « probablement » en bon état. Nous utilisons cette réponse, et les utilisateurs qui se sont abonnés au vendeur reçoivent une notification concernant l'apparition d'un nouveau produit.

Comment nous modérons les annonces
Notification indiquant qu'un nouveau produit est disponible chez le vendeur.

Ainsi, chaque annonce « s'enrichit » de métadonnées, dont une partie est générée lors de la création de l'annonce (adresse IP de l'auteur, user-agent, plateforme, géolocalisation, etc.), et le reste consiste en des scores attribués par chaque filtre.

Files d'attente d'annonces

Lorsque l'annonce entre sur la plateforme, le systÚme la place dans l'une des files d'attente. Chaque file est formée à l'aide d'une formule mathématique qui combine les métadonnées de l'annonce afin de détecter un mauvais motif.

Par exemple, une file d'attente d'annonces dans la catĂ©gorie « tĂ©lĂ©phones mobiles » peut ĂȘtre créée Ă  partir d'utilisateurs de Yulu prĂ©tendument de Saint-PĂ©tersbourg, mais ayant des adresses IP de Moscou ou d'autres villes.

Comment nous modérons les annonces
Exemple d'annonces publiĂ©es par un mĂȘme utilisateur dans diffĂ©rentes villes.

Ou bien les files peuvent ĂȘtre formĂ©es sur la base des scores que le rĂ©seau de neurones attribue aux annonces, les classant par ordre dĂ©croissant.

Chaque file, selon sa formule, attribue un score final Ă  l'annonce. Ensuite, plusieurs actions peuvent ĂȘtre envisagĂ©es :

  • indiquer un seuil Ă  partir duquel l'annonce recevra un type de blocage spĂ©cifique;
  • envoyer toutes les annonces de la file aux modĂ©rateurs pour une vĂ©rification manuelle;
  • ou combiner les options prĂ©cĂ©dentes : indiquer un seuil de blocage automatique et envoyer aux modĂ©rateurs les annonces qui n'ont pas atteint ce seuil.

Comment nous modérons les annonces

Pourquoi ces files d'attente? Supposons qu'un utilisateur télécharge une photo d'une arme à feu. Le réseau neuronal lui attribue un score de 95 à 100 et détermine avec 99 % de précision qu'il s'agit d'une arme sur l'image. Mais si le score est inférieur à 95 %, la précision du modÚle commence à diminuer (c'est une particularité des modÚles de réseaux de neurones).

En conséquence, une file d'attente se forme sur la base du score du modÚle, et les annonces qui obtiennent un score de 95 à 100 sont automatiquement bloquées comme « produit interdit ». Les annonces avec un score inférieur à 95 sont envoyées pour un traitement manuel par des modérateurs.

Comment nous modérons les annonces
Beretta en chocolat avec des munitions. Uniquement pour modĂ©ration manuelle! 🙂

Modération manuelle

Début 2019, environ 94 % de toutes les annonces sur Youla sont modérées automatiquement.

Comment nous modérons les annonces

Si la plateforme ne peut pas se dĂ©cider sur certaines annonces, elle les envoie pour une modĂ©ration manuelle. Odnoklassniki a dĂ©veloppĂ© son propre outil : dans les missions pour les modĂ©rateurs, toutes les informations nĂ©cessaires Ă  une dĂ©cision rapide - l'annonce est-elle valable ou doit-elle ĂȘtre bloquĂ©e avec indication de la raison - s'affichent immĂ©diatement.

Pour garantir que la qualité du service ne soit pas affectée lors de la modération manuelle, le travail des personnes est constamment contrÎlé. Par exemple, dans le flux de missions, le modérateur voit des « piÚges » - des annonces pour lesquelles des décisions sont déjà prises. Si la décision du modérateur ne correspond pas à celle prédéfinie, une erreur est comptabilisée pour le modérateur.

Un modérateur passe en moyenne 10 secondes à examiner une annonce. Le taux d'erreurs est inférieur à 0,5 % de toutes les annonces examinées.

Modération populaire

Des collĂšgues d'Odnoklassniki ont poussĂ© plus loin, en profitant de l'« aide de la salle » : ils ont Ă©crit une application de jeu pour le rĂ©seau social, oĂč il est possible de marquer rapidement un grand nombre de donnĂ©es en signalant un mauvais critĂšre - ModĂ©rateur Odnoklassniki (https://ok.ru/app/moderator). Une bonne façon de bĂ©nĂ©ficier de l'aide des utilisateurs d'OK, qui s'efforcent d'amĂ©liorer le contenu.

Comment nous modérons les annonces
Un jeu dans lequel les utilisateurs marquent des photos contenant un numéro de téléphone.

Toute file d'annonces sur la plateforme peut ĂȘtre redirigĂ©e vers le jeu ModĂ©rateur Odnoklassniki. Tout ce que les utilisateurs du jeu marquent est ensuite soumis Ă  des modĂ©rateurs internes pour vĂ©rification. Ce systĂšme permet de bloquer les annonces pour lesquelles des filtres n'ont pas encore Ă©tĂ© créés, tout en crĂ©ant des ensembles d'apprentissage.

Stockage des résultats de modération

Nous sauvegardons toutes les décisions prises lors de la modération, afin de ne pas avoir à traiter à nouveau les annonces pour lesquelles une décision a déjà été prise.

Chaque jour, des millions de clusters sont créés pour les annonces. Au fil du temps, chaque cluster reçoit une note «bon» ou «mauvais». Chaque nouvelle annonce ou sa rĂ©vision, en entrant dans un cluster notĂ©, reçoit automatiquement la rĂ©solution du cluster lui-mĂȘme. Environ 20 000 de telles rĂ©solutions automatiques sont gĂ©nĂ©rĂ©es chaque jour.

Comment nous modérons les annonces

Si aucun nouvel annonce n'est reçu dans le cluster, il est supprimé de la mémoire et son hash et sa décision sont enregistrés dans Apache Cassandra.

Lorsque la plateforme reçoit une nouvelle annonce, elle essaie d'abord de trouver un cluster similaire parmi ceux déjà créés et prend la décision qui en découle. Si aucun cluster n'est trouvé, la plateforme se rend dans Cassandra et y recherche. Trouvé ? Parfait, elle applique la décision au cluster et l'envoie à Yula. En moyenne, environ 70 000 de ces décisions «répétées» sont générées chaque jour - soit 8 % de l'ensemble.

En résumé

Nous utilisons la plateforme de modération Odnoklassniki depuis deux ans et demi. Nous sommes satisfaits des résultats :

  • 94 % de toutes les annonces sont modĂ©rĂ©es automatiquement par jour.
  • Le coĂ»t de la modĂ©ration d'une annonce a Ă©tĂ© rĂ©duit de 2 roubles Ă  7 kopecks.
  • GrĂące Ă  cet outil prĂȘt Ă  l'emploi, nous avons oubliĂ© les problĂšmes de gestion des modĂ©rateurs.
  • Nous avons multipliĂ© par 2,5 le nombre d'annonces traitĂ©es manuellement tout en maintenant le mĂȘme nombre de modĂ©rateurs et le mĂȘme budget. De plus, la qualitĂ© de la modĂ©ration manuelle s'est amĂ©liorĂ©e grĂące au contrĂŽle automatisĂ©, oscillant autour de 0,5 % d'erreurs.
  • Nous couvrons rapidement de nouveaux types de spam avec des filtres.
  • Nous intĂ©grons rapidement de nouvelles divisions Ă  la modĂ©ration. «Yula Verticales». Depuis 2017, Yula a introduit les verticales Immobilier, Emplois et Auto.

Source : habr.com

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster