Hoe wij advertenties modereren

Hoe wij advertenties modereren

Elke dienst waarvan de gebruikers hun eigen inhoud kunnen creëren (UGC - User-generated content) wordt niet alleen gedwongen om zakelijke problemen op te lossen, maar ook om orde op zaken te stellen in UGC. Slechte contentmoderatie of contentmoderatie van lage kwaliteit kan uiteindelijk de aantrekkelijkheid van de dienst voor gebruikers verminderen, tot en met de beëindiging van de exploitatie ervan.

Vandaag vertellen we u over de synergie tussen Yula en Odnoklassniki, waarmee we advertenties in Yula effectief kunnen modereren.

Synergie is in het algemeen iets heel nuttigs, en in de moderne wereld, wanneer technologieën en trends heel snel veranderen, kan het een redder in nood worden. Waarom zou u schaarse middelen en tijd verspillen aan het uitvinden van iets dat al is uitgevonden en voor u in gedachten is gebracht?

We dachten hetzelfde toen we werden geconfronteerd met de volledige taak van het modereren van gebruikersinhoud: afbeeldingen, tekst en links. Onze gebruikers uploaden elke dag miljoenen stukjes inhoud naar Yula, en zonder automatische verwerking is het volkomen onmogelijk om al deze gegevens handmatig te modereren.

Daarom gebruikten we een kant-en-klaar moderatieplatform, dat onze collega’s van Odnoklassniki tegen die tijd tot een staat van ‘bijna perfectie’ hadden voltooid.

Waarom Odnoklassniki?

Elke dag komen tientallen miljoenen gebruikers naar het sociale netwerk en publiceren miljarden stukjes inhoud: van foto's tot video's en teksten. Het moderatieplatform van Odnoklassniki helpt bij het controleren van zeer grote hoeveelheden gegevens en het tegengaan van spammers en bots.

Het OK-moderatieteam heeft veel ervaring opgebouwd, aangezien het zijn tool al 12 jaar verbetert. Het is belangrijk dat ze niet alleen hun kant-en-klare oplossingen kunnen delen, maar ook de architectuur van hun platform kunnen aanpassen aan onze specifieke taken.

Hoe wij advertenties modereren

Kortheidshalve zullen we het OK-moderatieplatform voortaan eenvoudigweg ‘platform’ noemen.

Hoe alles werkt

Gegevensuitwisseling tussen Yula en Odnoklassniki vindt plaats via Apache Kafka.

Waarom we voor dit hulpmiddel hebben gekozen:

  • In Yula worden alle advertenties post-gemodereerd, dus aanvankelijk was een synchrone reactie niet vereist.
  • Als er een slechte paragraaf optreedt en Yula of Odnoklassniki niet beschikbaar zijn, ook vanwege enkele piekbelastingen, verdwijnen de gegevens van Kafka nergens en kunnen ze later worden gelezen.
  • Het platform was al geïntegreerd met Kafka, dus de meeste beveiligingsproblemen waren opgelost.

Hoe wij advertenties modereren

Voor elke advertentie die door de gebruiker in Yula wordt gemaakt of gewijzigd, wordt een JSON met gegevens gegenereerd, die in Kafka wordt geplaatst voor daaropvolgende moderatie. Vanuit Kafka worden mededelingen in het platform geladen, waar ze automatisch of handmatig worden beoordeeld. Slechte advertenties worden met een reden geblokkeerd, en advertenties waarin het platform geen overtredingen constateert, worden gemarkeerd als ‘goed’. Vervolgens worden alle besluiten teruggestuurd naar Yula en toegepast in de dienst.

Uiteindelijk komt het voor Yula allemaal neer op eenvoudige acties: stuur een advertentie naar het Odnoklassniki-platform en krijg een resolutie terug van “ok”, of waarom niet “ok”.

Automatische verwerking

Wat gebeurt er met de advertentie nadat deze op het platform is verschenen? Elke advertentie is onderverdeeld in verschillende entiteiten:

  • Naam,
  • beschrijving,
  • foto's,
  • door de gebruiker geselecteerde categorie en subcategorie van de advertentie,
  • prijs.

Hoe wij advertenties modereren

Het platform voert vervolgens clustering uit voor elke entiteit om duplicaten te vinden. Bovendien zijn tekst en foto's geclusterd volgens verschillende schema's.

Vóór het clusteren worden teksten genormaliseerd om speciale tekens, gewijzigde letters en ander afval te verwijderen. De ontvangen gegevens worden verdeeld in N-grammen, die elk worden gehasht. Het resultaat is veel unieke hashes. De gelijkenis tussen teksten wordt bepaald door Maatregel van Jaccard tussen de twee resulterende sets. Als de gelijkenis groter is dan de drempelwaarde, worden de teksten samengevoegd tot één cluster. Om het zoeken naar vergelijkbare clusters te versnellen, wordt gebruik gemaakt van MinHash en Locality-sensitive hashing.

Er zijn verschillende opties bedacht voor het lijmen van afbeeldingen voor foto's, van het vergelijken van pHash-afbeeldingen tot het zoeken naar duplicaten met behulp van een neuraal netwerk.

De laatste methode is de meest “ernstige”. Om het model te trainen, zijn drietallen afbeeldingen (N, A, P) geselecteerd waarin N niet vergelijkbaar is met A, en P vergelijkbaar is met A (is een semi-duplicaat). Vervolgens leerde het neurale netwerk om A en P zo dicht mogelijk bij elkaar te brengen, en A en N zo ver mogelijk. Dit resulteert in minder valse positieven vergeleken met het eenvoudigweg insluiten van inbedding van een vooraf getraind netwerk.

Wanneer het neurale netwerk afbeeldingen als invoer ontvangt, genereert het voor elk ervan een N(128)-dimensionale vector en wordt er een verzoek gedaan om de nabijheid van het beeld te beoordelen. Vervolgens wordt een drempel berekend waarbij nabije afbeeldingen als duplicaten worden beschouwd.

Het model is in staat om vakkundig spammers te vinden die specifiek hetzelfde product vanuit verschillende hoeken fotograferen om de pHash-vergelijking te omzeilen.

Hoe wij advertenties modererenHoe wij advertenties modereren
Een voorbeeld van spamfoto's die door een neuraal netwerk als duplicaten aan elkaar zijn geplakt.

In de laatste fase worden dubbele advertenties tegelijkertijd doorzocht op zowel tekst als beeld.

Als twee of meer advertenties aan elkaar vastzitten in een cluster, begint het systeem automatisch te blokkeren, waarbij met behulp van bepaalde algoritmen wordt geselecteerd welke duplicaten moeten worden verwijderd en welke moeten worden achtergelaten. Als twee gebruikers bijvoorbeeld dezelfde foto's in een advertentie hebben, blokkeert het systeem de recentere advertentie.

Eenmaal aangemaakt, doorlopen alle clusters een reeks automatische filters. Elk filter kent een score toe aan het cluster: hoe waarschijnlijk het is dat het de dreiging bevat die dit filter identificeert.

Het systeem analyseert bijvoorbeeld de beschrijving in een advertentie en selecteert daarvoor mogelijke categorieën. Vervolgens wordt degene met de maximale waarschijnlijkheid genomen en vergeleken met de categorie die is opgegeven door de auteur van de advertentie. Als ze niet overeenkomen, wordt de advertentie geblokkeerd voor de verkeerde categorie. En omdat we vriendelijk en eerlijk zijn, vertellen we de gebruiker direct welke categorie hij moet selecteren voordat de advertentie door de moderatie komt.

Hoe wij advertenties modereren
Melding van blokkering voor onjuiste categorie.

Machine learning voelt zich helemaal thuis op ons platform. Met zijn hulp zoeken we bijvoorbeeld in de namen en beschrijvingen van goederen die verboden zijn in de Russische Federatie. En neurale netwerkmodellen ‘onderzoeken’ de afbeeldingen nauwgezet om te zien of ze URL’s, spamteksten, telefoonnummers en dezelfde ‘verboden’ informatie bevatten.

Voor gevallen waarin ze een verboden product proberen te verkopen, vermomd als iets legaals, en er geen tekst in de titel of beschrijving staat, gebruiken we afbeeldingstags. Voor elke afbeelding kunnen maximaal 11 verschillende tags worden toegevoegd die beschrijven wat er op de afbeelding staat.

Hoe wij advertenties modereren
Ze proberen de waterpijp te verkopen door hem te vermommen als een samovar.

Parallel aan complexe filters werken ook eenvoudige filters, waardoor voor de hand liggende problemen met betrekking tot tekst worden opgelost:

  • antimat;
  • URL- en telefoonnummerdetector;
  • vermelding van instant messengers en andere contacten;
  • korting;
  • advertenties waarin niets te koop is, enz.

Tegenwoordig gaat elke advertentie door een fijne zeef van meer dan 50 automatische filters die proberen iets slechts in de advertentie te vinden.

Als geen van de detectoren werkte, wordt er een antwoord naar Yula gestuurd met de mededeling dat de advertentie “hoogstwaarschijnlijk” in perfecte staat is. Dit antwoord gebruiken we zelf en gebruikers die zich bij de verkoper hebben geabonneerd, krijgen een melding over de beschikbaarheid van een nieuw product.

Hoe wij advertenties modereren
Melding dat de verkoper een nieuw product heeft.

Als gevolg hiervan wordt elke advertentie “overwoekerd” met metadata, waarvan een deel wordt gegenereerd wanneer de advertentie wordt gemaakt (IP-adres van de auteur, user-agent, platform, geolocatie, enz.), en de rest is de score die door elk filter wordt uitgegeven. .

Wachtrijen voor aankondigingen

Wanneer een advertentie op het platform verschijnt, plaatst het systeem deze in een van de wachtrijen. Elke wachtrij wordt gemaakt met behulp van een wiskundige formule die metagegevens van advertenties combineert op een manier die eventuele slechte patronen detecteert.

U kunt bijvoorbeeld een wachtrij met advertenties maken in de categorie 'Mobiele telefoons' van Yula-gebruikers die zogenaamd uit St. Petersburg komen, maar hun IP-adressen komen uit Moskou of andere steden.

Hoe wij advertenties modereren
Een voorbeeld van advertenties die door één gebruiker in verschillende steden zijn geplaatst.

Of u kunt wachtrijen vormen op basis van de scores die het neurale netwerk aan advertenties toekent, en deze in aflopende volgorde rangschikken.

Elke wachtrij kent volgens zijn eigen formule een eindscore toe aan de advertentie. Dan kunt u op verschillende manieren te werk gaan:

  • specificeer de drempel waarop een advertentie een bepaald type blokkering krijgt;
  • stuur alle advertenties in de wachtrij naar moderators voor handmatige beoordeling;
  • of combineer de voorgaande opties: specificeer de automatische blokkeerdrempel en stuur de advertenties die deze drempel niet hebben bereikt naar moderators.

Hoe wij advertenties modereren

Waarom zijn deze wachtrijen nodig? Stel dat een gebruiker een foto van een vuurwapen heeft geüpload. Het neurale netwerk kent het een score toe van 95 tot 100 en stelt met 99 procent nauwkeurigheid vast dat er een wapen in beeld is. Maar als de scorewaarde lager is dan 95%, begint de nauwkeurigheid van het model af te nemen (dit is een kenmerk van neurale netwerkmodellen).

Als gevolg hiervan wordt er een wachtrij gevormd op basis van het scoremodel en worden de advertenties die tussen de 95 en 100 ontvangen, automatisch geblokkeerd als 'Verboden producten'. Advertenties met een score lager dan 95 worden naar moderators gestuurd voor handmatige verwerking.

Hoe wij advertenties modereren
Chocolade Beretta met patronen. Alleen voor handmatige moderatie! 🙂

Handmatige moderatie

Begin 2019 wordt ongeveer 94% van alle advertenties in Yula automatisch gemodereerd.

Hoe wij advertenties modereren

Als het platform over bepaalde advertenties niet kan beslissen, stuurt het deze ter handmatige moderatie. Odnoklassniki heeft zijn eigen tool ontwikkeld: taken voor moderators geven onmiddellijk alle noodzakelijke informatie weer om snel een beslissing te nemen - de advertentie is geschikt of moet worden geblokkeerd, met vermelding van de reden.

En zodat de kwaliteit van de dienstverlening niet lijdt onder handmatige moderatie, wordt het werk van mensen voortdurend in de gaten gehouden. In de takenstroom krijgt de moderator bijvoorbeeld ‘traps’ te zien: advertenties waarvoor al kant-en-klare oplossingen bestaan. Als de beslissing van de moderator niet samenvalt met de voltooide beslissing, krijgt de moderator een foutmelding.

Gemiddeld besteedt een moderator tien seconden aan het controleren van één advertentie. Bovendien bedraagt ​​het aantal fouten niet meer dan 10% van alle geverifieerde advertenties.

De gematigdheid van mensen

Collega's van Odnoklassniki gingen zelfs nog verder en profiteerden van de "hulp van het publiek": ze schreven een gameapplicatie voor het sociale netwerk waarin je snel een grote hoeveelheid gegevens kunt markeren en een slecht teken kunt benadrukken - Odnoklassniki Moderator (https://ok.ru/app/moderator). Een goede manier om te profiteren van de hulp van OK-gebruikers die proberen de inhoud leuker te maken.

Hoe wij advertenties modereren
Een game waarin gebruikers foto's taggen die een telefoonnummer bevatten.

Elke wachtrij met advertenties op het platform kan worden omgeleid naar het Odnoklassniki Moderator-spel. Alles wat gamegebruikers markeren, wordt vervolgens ter beoordeling naar interne moderators gestuurd. Met dit schema kunt u advertenties blokkeren waarvoor nog geen filters zijn gemaakt en tegelijkertijd trainingsvoorbeelden maken.

Moderatieresultaten opslaan

We bewaren alle beslissingen die we met mate nemen, zodat we de advertenties waarover we al een beslissing hebben genomen, niet opnieuw verwerken.

Elke dag worden er miljoenen clusters gemaakt op basis van advertenties. Na verloop van tijd krijgt elk cluster het label ‘goed’ of ‘slecht’. Elke nieuwe advertentie of de herziening ervan, die een cluster binnenkomt met een markering, krijgt automatisch een resolutie van het cluster zelf. Er zijn ongeveer 20 van dergelijke automatische resoluties per dag.

Hoe wij advertenties modereren

Als er geen nieuwe aankondigingen bij het cluster binnenkomen, wordt het uit het geheugen verwijderd en worden de hash en de oplossing naar Apache Cassandra geschreven.

Wanneer het platform een ​​nieuwe advertentie ontvangt, probeert het eerst een soortgelijk cluster te vinden tussen de reeds gemaakte advertenties en daar een oplossing uit te halen. Als zo'n cluster niet bestaat, gaat het platform naar Cassandra en kijkt daar. Heb je het gevonden? Geweldig, past de oplossing toe op het cluster en stuurt deze naar Yula. Er zijn elke dag gemiddeld 70 van dergelijke “herhaalde” beslissingen – 8% van het totaal.

Samengevat

We gebruiken het moderatieplatform Odnoklassniki al tweeënhalf jaar. Wij vinden de resultaten leuk:

  • We modereren automatisch 94% van alle advertenties per dag.
  • De kosten voor het modereren van één advertentie werden verlaagd van 2 roebel naar 7 kopeken.
  • Dankzij de kant-en-klare tool zijn we de problemen van het beheer van moderators vergeten.
  • We hebben het aantal handmatig verwerkte advertenties 2,5 keer verhoogd met hetzelfde aantal moderators en hetzelfde budget. De kwaliteit van de handmatige moderatie is ook toegenomen als gevolg van de geautomatiseerde controle, en schommelt rond de 0,5% van de fouten.
  • We dekken nieuwe soorten spam snel af met filters.
  • Nieuwe afdelingen koppelen wij snel aan moderatie "Yula-verticaal". Sinds 2017 heeft Yula de branches Vastgoed, Vacatures en Auto toegevoegd.

Bron: www.habr.com

Voeg een reactie