Comment nous modérons les publicités

Comment nous modérons les publicités

Chaque service dont les utilisateurs peuvent créer leur propre contenu (UGC - User-generated content) est obligé non seulement de résoudre des problèmes commerciaux, mais aussi de mettre de l'ordre dans l'UGC. Une modération de contenu médiocre ou de mauvaise qualité peut, à terme, réduire l'attractivité du service pour les utilisateurs, voire mettre fin à son fonctionnement.

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

La synergie en général est une chose très utile, et dans le monde moderne, lorsque les technologies et les tendances changent très rapidement, elle peut devenir une bouée de sauvetage. Pourquoi perdre du temps et des ressources rares à inventer quelque chose qui a déjà été inventé et évoqué avant vous ?

Nous avons pensé la même chose lorsque nous avons été confrontés à la tâche complète de modération du contenu des utilisateurs – images, textes et liens. Nos utilisateurs téléchargent des millions de contenus sur Yula chaque jour, et sans traitement automatique, il est totalement impossible de modérer manuellement toutes ces données.

C’est pourquoi nous avons utilisé une plateforme de modération toute faite, que nos collègues d’Odnoklassniki avaient alors complétée à un état de « presque perfection ».

Pourquoi Odnoklassniki ?

Chaque jour, des dizaines de millions d'utilisateurs viennent sur le réseau social et publient des milliards de contenus : des photos aux vidéos en passant par les textes. La plateforme de modération Odnoklassniki permet de vérifier de très gros volumes de données et de lutter contre les spammeurs et les robots.

L’équipe de modération OK a accumulé beaucoup d’expérience, puisqu’elle améliore son outil depuis 12 ans. Il est important qu'ils puissent non seulement partager leurs solutions toutes faites, mais également personnaliser l'architecture de leur plateforme en fonction de nos tâches spécifiques.

Comment nous modérons les publicités

Désormais, par souci de concision, nous appellerons simplement la plateforme de modération OK « plateforme ».

Comment ça marche

L'échange de données entre Yula et Odnoklassniki est établi via Apache Kafka.

Pourquoi nous avons choisi cet outil :

  • Dans Yula, toutes les publicités sont post-modérées, donc initialement une réponse synchrone n'était pas requise.
  • Si un mauvais paragraphe se produit et que Yula ou Odnoklassniki ne sont pas disponibles, notamment en raison de certaines charges de pointe, les données de Kafka ne disparaîtront nulle part et pourront être lues plus tard.
  • La plateforme était déjà intégrée à Kafka, la plupart des problèmes de sécurité ont donc été résolus.

Comment nous modérons les publicités

Pour chaque annonce créée ou modifiée par l'utilisateur dans Yula, un JSON avec des données est généré, qui est placé dans Kafka pour une modération ultérieure. Depuis Kafka, les annonces sont chargées dans la plateforme, où elles sont évaluées automatiquement ou manuellement. Les mauvaises publicités sont bloquées avec une raison, et celles dans lesquelles la plateforme ne constate aucune violation sont marquées comme « bonnes ». Ensuite, toutes les décisions sont renvoyées à Yula et appliquées au service.

Au final, pour Yula, tout se résume à des actions simples : envoyer une annonce sur la plateforme Odnoklassniki et obtenir une résolution « ok », ou pourquoi pas « ok ».

Traitement automatique

Qu'arrive-t-il à l'annonce une fois qu'elle est diffusée sur la plateforme ? Chaque annonce est divisée en plusieurs entités :

  • Nom,
  • la description,
  • Photos,
  • catégorie et sous-catégorie de l'annonce sélectionnées par l'utilisateur,
  • Цена.

Comment nous modérons les publicités

La plateforme effectue ensuite un clustering pour chaque entité afin de rechercher les doublons. De plus, textes et photographies sont regroupés selon des schémas différents.

Avant le regroupement, les textes sont normalisés pour supprimer les caractères spéciaux, les lettres modifiées et autres déchets. Les données reçues sont divisées en N-grammes, chacun étant haché. Le résultat est de nombreux hachages uniques. La similitude entre les textes est déterminée par mesure de Jaccard entre les deux ensembles résultants. Si la similarité est supérieure au seuil, alors les textes sont fusionnés en un seul cluster. Pour accélérer la recherche de clusters similaires, le hachage MinHash et sensible à la localité est utilisé.

Diverses options de collage d'images ont été inventées pour les photographies, de la comparaison d'images pHash à la recherche de doublons à l'aide d'un réseau neuronal.

Cette dernière méthode est la plus « sévère ». Pour entraîner le modèle, des triplets d'images (N, A, P) ont été sélectionnés dans lesquels N n'est pas similaire à A et P est similaire à A (est un semi-duplicata). Ensuite, le réseau neuronal a appris à rendre A et P aussi proches que possible, et A et N aussi loin que possible. Cela entraîne moins de faux positifs par rapport à la simple prise en compte d'intégrations à partir d'un réseau pré-entraîné.

Lorsque le réseau neuronal reçoit des images en entrée, il génère un vecteur dimensionnel à N (128) pour chacune d'elles et une requête est faite pour évaluer la proximité de l'image. Ensuite, un seuil est calculé à partir duquel les images proches sont considérées comme des doublons.

Le modèle est capable de trouver habilement les spammeurs qui photographient spécifiquement le même produit sous différents angles afin de contourner la comparaison pHash.

Comment nous modérons les publicitésComment nous modérons les publicités
Un exemple de photos de spam collées ensemble par un réseau de neurones en tant que doublons.

Au stade final, les annonces en double sont recherchées simultanément par texte et par image.

Si deux publicités ou plus sont regroupées dans un cluster, le système démarre un blocage automatique qui, à l'aide de certains algorithmes, sélectionne les doublons à supprimer et ceux à laisser. Par exemple, si deux utilisateurs ont les mêmes photos dans une annonce, le système bloquera l'annonce la plus récente.

Une fois créés, 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 la menace identifiée par ce filtre.

Par exemple, le système analyse la description d'une annonce et sélectionne des catégories potentielles pour celle-ci. Ensuite, il prend celui avec la probabilité maximale et le compare à la catégorie spécifiée par l'auteur de l'annonce. S'ils ne correspondent pas, l'annonce est bloquée pour la mauvaise catégorie. Et comme nous sommes gentils et honnêtes, nous indiquons directement à l'utilisateur quelle catégorie il doit sélectionner pour que l'annonce passe la modération.

Comment nous modérons les publicités
Notification de blocage pour catégorie incorrecte.

L’apprentissage automatique s’intègre parfaitement dans notre plateforme. Par exemple, avec son aide, nous recherchons les noms et les descriptions de marchandises interdites dans la Fédération de Russie. Et les modèles de réseaux neuronaux « examinent » méticuleusement les images pour voir si elles contiennent des URL, des textes de spam, des numéros de téléphone et les mêmes informations « interdites ».

Dans les cas où ils tentent de vendre un produit interdit déguisé en quelque chose de légal, et qu'il n'y a aucun texte dans le titre ou la description, nous utilisons le marquage d'image. Pour chaque image, jusqu'à 11 XNUMX balises différentes peuvent être ajoutées pour décrire le contenu de l'image.

Comment nous modérons les publicités
Ils tentent de vendre le narguilé en le déguisant en samovar.

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

  • antimat;
  • Détecteur d'URL et de numéro de téléphone ;
  • mention de messageries instantanées et autres contacts ;
  • prix réduit;
  • des publicités dans lesquelles rien n'est à vendre, etc.

Aujourd'hui, chaque publicité passe par un tamis fin de plus de 50 filtres automatiques qui tentent de trouver quelque chose de mauvais dans la publicité.

Si aucun des détecteurs n'a fonctionné, une réponse est alors envoyée à Yula indiquant que l'annonce est « très probablement » en parfait état. Nous utilisons nous-mêmes cette réponse et les utilisateurs abonnés au vendeur reçoivent une notification concernant la disponibilité d'un nouveau produit.

Comment nous modérons les publicités
Notification indiquant que le vendeur a un nouveau produit.

De ce fait, chaque annonce est « envahie » par des 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 est le score délivré par chaque filtre. .

Files d'attente d'annonces

Lorsqu'une annonce arrive sur la plateforme, le système la place dans l'une des files d'attente. Chaque file d'attente est créée à l'aide d'une formule mathématique qui combine les métadonnées publicitaires de manière à détecter tout mauvais modèle.

Par exemple, vous pouvez créer une file d'attente d'annonces dans la catégorie « Téléphones portables » provenant d'utilisateurs de Yula soi-disant de Saint-Pétersbourg, mais dont les adresses IP proviennent de Moscou ou d'autres villes.

Comment nous modérons les publicités
Un exemple d'annonces publiées par un utilisateur dans différentes villes.

Vous pouvez également former des files d'attente en fonction des scores que le réseau neuronal attribue aux annonces, en les classant par ordre décroissant.

Chaque file d'attente, selon sa propre formule, attribue une note finale à l'annonce. Ensuite vous pouvez procéder de différentes manières :

  • spécifier le seuil à partir duquel une annonce recevra un certain type de blocage ;
  • envoyer toutes les annonces de la file d'attente aux modérateurs pour examen manuel ;
  • ou combinez les options précédentes : précisez le seuil de blocage automatique et envoyez aux modérateurs les annonces qui n'ont pas atteint ce seuil.

Comment nous modérons les publicités

Pourquoi ces files d'attente sont-elles nécessaires ? Disons qu'un utilisateur a téléchargé une photo d'une arme à feu. Le réseau neuronal lui attribue un score de 95 à 100 et détermine avec une précision de 99 % qu'il y a une arme dans l'image. Mais si la valeur du score est inférieure à 95 %, la précision du modèle commence à diminuer (c'est une caractéristique des modèles de réseaux neuronaux).

En conséquence, une file d'attente est formée sur la base du modèle de score, et les annonces reçues entre 95 et 100 sont automatiquement bloquées en tant que « Produits interdits ». Les annonces avec un score inférieur à 95 sont envoyées aux modérateurs pour un traitement manuel.

Comment nous modérons les publicités
Beretta en chocolat avec cartouches. Uniquement pour la modération manuelle ! 🙂

Modération manuelle

Début 2019, environ 94 % de toutes les publicités sur Yula sont modérées automatiquement.

Comment nous modérons les publicités

Si la plateforme ne peut pas se prononcer sur certaines annonces, elle les envoie pour modération manuelle. Odnoklassniki a développé son propre outil : les tâches destinées aux modérateurs affichent immédiatement toutes les informations nécessaires pour prendre une décision rapide - l'annonce est appropriée ou doit être bloquée, en indiquant la raison.

Et pour que la qualité du service ne souffre pas lors de la modération manuelle, le travail des personnes est constamment surveillé. Par exemple, dans le flux de tâches, le modérateur voit des « pièges » – des publicités pour lesquelles il existe déjà des solutions toutes faites. Si la décision du modérateur ne coïncide pas avec celle terminée, le modérateur reçoit une erreur.

En moyenne, un modérateur passe 10 secondes à vérifier une annonce. De plus, le nombre d'erreurs ne dépasse pas 0,5 % de toutes les annonces vérifiées.

La modération populaire

Des collègues d'Odnoklassniki sont allés encore plus loin et ont profité de « l'aide du public » : ils ont écrit une application de jeu pour le réseau social dans laquelle vous pouvez rapidement marquer une grande quantité de données, mettant en évidence un mauvais signe - Modérateur d'Odnoklassniki (https://ok.ru/app/moderator). Un bon moyen de profiter de l’aide des utilisateurs d’OK qui tentent de rendre le contenu plus agréable.

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

Toute file d'attente d'annonces sur la plateforme peut être redirigée vers le jeu Odnoklassniki Moderator. Tout ce que les utilisateurs du jeu marquent est ensuite envoyé aux modérateurs internes pour examen. Ce schéma vous permet de bloquer les publicités pour lesquelles des filtres n'ont pas encore été créés, et de créer simultanément des échantillons de formation.

Stockage des résultats de modération

Nous sauvegardons toutes les décisions prises lors de la modération afin de ne pas retraiter les annonces sur lesquelles nous avons déjà pris une décision.

Des millions de clusters sont créés chaque jour sur la base de publicités. Au fil du temps, chaque cluster est étiqueté « bon » ou « mauvais ». Chaque nouvelle annonce ou sa révision, entrant dans un cluster avec une marque, reçoit automatiquement une résolution du cluster lui-même. Il y a environ 20 XNUMX résolutions automatiques de ce type par jour.

Comment nous modérons les publicités

Si aucune nouvelle annonce n'arrive au cluster, celui-ci est supprimé de la mémoire et son hachage et sa solution sont écrits 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 d’en tirer une solution. S'il n'existe pas de cluster de ce type, la plateforme se rend chez Cassandra et y regarde. L'AS-tu trouvé? Super, applique la solution au cluster et l'envoie à Yula. Il y a en moyenne 70 8 décisions « répétées » chaque jour, soit XNUMX % du total.

Résumant

Nous utilisons la plateforme de modération Odnoklassniki depuis deux ans et demi. Nous aimons les résultats :

  • Nous modérons automatiquement 94 % de toutes les annonces par jour.
  • Le coût de modération d'une annonce a été réduit de 2 roubles à 7 kopecks.
  • Grâce à l'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 avec le même nombre de modérateurs et le même budget. La qualité de la modération manuelle a également augmenté grâce au contrôle automatisé et oscille autour de 0,5 % d'erreurs.
  • Nous couvrons rapidement les nouveaux types de spam avec des filtres.
  • Nous connectons rapidement les nouveaux départements à la modération "Verticales Yula". Depuis 2017, Yula a ajouté les secteurs verticaux de l'immobilier, des postes vacants et de l'automobile.

Source: habr.com

Ajouter un commentaire