Hoe't wy advertinsjes moderearje

Hoe't wy advertinsjes moderearje

Elke tsjinst wêrfan brûkers har eigen ynhâld kinne oanmeitsje (UGC - User-generated ynhâld) wurdt twongen net allinich om saaklike problemen op te lossen, mar ek om dingen yn oarder te setten yn UGC. Mine of lege kwaliteit ynhâldmoderaasje kin úteinlik de oantreklikens fan 'e tsjinst foar brûkers ferminderje, sels de operaasje beëinigje.

Hjoed sille wy jo fertelle oer de synergy tusken Yula en Odnoklassniki, dy't ús helpt om advertinsjes yn Yula effektyf te moderearjen.

Synergy yn 't algemien is in heul nuttich ding, en yn' e moderne wrâld, as technologyen en trends heul fluch feroarje, kin it in lifesaver wurde. Wêrom fergrieme knappe middels en tiid mei it útfine fan eat dat al útfûn is en foar jo yn 'e geast brocht is?

Wy tochten itselde doe't wy konfrontearre waarden mei de folsleine taak fan it moderearjen fan brûkersynhâld - foto's, tekst en keppelings. Us brûkers uploade elke dei miljoenen stikken ynhâld nei Yula, en sûnder automatyske ferwurking is it folslein ûnmooglik om al dizze gegevens mei de hân te moderearjen.

Dêrom brûkten wy in klear makke moderaasjeplatfoarm, dat tsjin dy tiid ús kollega's fan Odnoklassniki hiene foltôge ta in steat fan "hast folsleinens."

Wêrom Odnoklassniki?

Alle dagen komme tsientallen miljoenen brûkers nei it sosjale netwurk en publisearje miljarden stikken ynhâld: fan foto's oant fideo's en teksten. It moderaasjeplatfoarm fan Odnoklassniki helpt om heul grutte voluminten gegevens te kontrolearjen en spammers en bots tsjin te gean.

It OK-moderaasjeteam hat in protte ûnderfining sammele, om't it har ark foar 12 jier hat ferbettere. It is wichtich dat se net allinich har klearmakke oplossingen diele kinne, mar ek de arsjitektuer fan har platfoarm oanpasse kinne oan ús spesifike taken.

Hoe't wy advertinsjes moderearje

Fanôf no sille wy foar koartens it OK-moderaasjeplatfoarm gewoan "platfoarm" neame.

Hoe alles wurket

Gegevens útwikseling tusken Yula en Odnoklassniki wurdt oprjochte troch Apache Kafka.

Wêrom hawwe wy dit ark keazen:

  • Yn Yula wurde alle advertinsjes post-moderearre, dus yn earste ynstânsje wie in syngroane antwurd net fereaske.
  • As in minne alinea bart en Yula of Odnoklassniki binne net beskikber, ynklusyf troch guon peakloads, dan sille de gegevens fan Kafka oeral ferdwine en kinne letter lêzen wurde.
  • It platfoarm wie al yntegrearre mei Kafka, sadat de measte feiligensproblemen waarden oplost.

Hoe't wy advertinsjes moderearje

Foar elke advertinsje makke of feroare troch de brûker yn Yula, wurdt in JSON mei gegevens oanmakke, dy't yn Kafka pleatst wurdt foar folgjende moderaasje. Fan Kafka wurde oankundigingen yn it platfoarm laden, wêr't se automatysk of mei de hân beoardiele wurde. Minne advertinsjes wurde blokkearre mei in reden, en dyjingen wêryn it platfoarm gjin oertredings fynt, wurde markearre as "goed". Dan wurde alle besluten weromstjoerd nei Yula en tapast yn 'e tsjinst.

Uteinlik komt it foar Yula allegear del op ienfâldige aksjes: stjoer in advertinsje nei it Odnoklassniki-platfoarm en krij in resolúsje "ok" werom, of wêrom net "ok".

Automatyske ferwurking

Wat bart der mei de advertinsje nei't it op it platfoarm rekket? Elke advertinsje is ferdield yn ferskate entiteiten:

  • Namme,
  • beskriuwing,
  • foto's,
  • brûker selekteare kategory en subkategory fan 'e advertinsje,
  • priis

Hoe't wy advertinsjes moderearje

It platfoarm fiert dan klustering út foar elke entiteit om duplikaten te finen. Boppedat wurde tekst en foto's klustere neffens ferskate skema's.

Foardat klusterjen wurde teksten normalisearre om spesjale tekens, feroare letters en oare ôffal te ferwiderjen. De ûntfongen gegevens binne ferdield yn N-grammen, elk dêrfan wurdt hashed. It resultaat is in protte unike hashes. De oerienkomst tusken teksten wurdt bepaald troch Jaccard syn maat tusken de twa resultearjende sets. As de oerienkomst grutter is as de drompel, dan wurde de teksten gearfoege ta ien kluster. Om it sykjen nei ferlykbere klusters te rapperjen, wurde MinHash en Locality-sensitive hashing brûkt.

Ferskate opsjes foar it lijmen fan ôfbyldings binne útfûn foar foto's, fan it fergelykjen fan pHash-ôfbyldings oant it sykjen nei duplikaten mei in neuraal netwurk.

De lêste metoade is de meast "swier". Om it model te trenen, waarden trijelingen fan ôfbyldings (N, A, P) selektearre wêryn N net gelyk is oan A, en P is gelyk oan A (is in semy-duplikaat). Doe learde it neurale netwurk om A en P sa ticht mooglik te meitsjen, en A en N sa fier mooglik. Dit resulteart yn minder falske positiven yn ferliking mei gewoan ynbêdingen fan in foar-trained netwurk.

As it neuronale netwurk ôfbyldings as ynfier ûntfangt, genereart it in N (128)-diminsjonale fektor foar elk fan har en wurdt in fersyk dien om de tichtby fan 'e ôfbylding te beoardieljen. Dêrnei wurdt in drompel berekkene wêrby't tichte ôfbyldings wurde beskôge as duplikaten.

It model is yn steat om spammers te finen dy't spesifyk itselde produkt út ferskate hoeken fotografearje om de pHash-fergeliking te omgean.

Hoe't wy advertinsjes moderearjeHoe't wy advertinsjes moderearje
In foarbyld fan spamfoto's dy't troch in neuraal netwurk oaninoar lijm binne as duplikaten.

Yn it lêste stadium wurde dûbele advertinsjes tagelyk socht troch sawol tekst as ôfbylding.

As twa of mear advertinsjes byinoar yn in kluster sitte, begjint it systeem automatysk blokkearjen, dy't, mei beskate algoritmen, selekteart hokker duplikaten te wiskjen en hokker te ferlitten. Bygelyks, as twa brûkers deselde foto's hawwe yn in advertinsje, sil it systeem de mear resinte advertinsje blokkearje.

Ienris oanmakke geane alle klusters troch in searje automatyske filters. Elk filter jout in skoare oan it kluster: hoe wierskynlik is it dat it de bedriging befettet dy't dit filter identifisearret.

Bygelyks, it systeem analysearret de beskriuwing yn in advertinsje en selekteart potinsjele kategoryen foar it. Dan nimt it de iene mei de maksimale kâns en fergeliket it mei de kategory oantsjutte troch de skriuwer fan 'e advertinsje. As se net oerienkomme, wurdt de advertinsje blokkearre foar de ferkearde kategory. En om't wy aardich en earlik binne, fertelle wy de brûker direkt hokker kategory hy moat selektearje om de advertinsje moderaasje troch te jaan.

Hoe't wy advertinsjes moderearje
Notifikaasje fan blokkearjen foar ferkearde kategory.

Masine learen fielt direkt thús yn ús platfoarm. Bygelyks, mei har help sykje wy yn 'e nammen en beskriuwingen fan guod ferbean yn' e Russyske Federaasje. En neurale netwurkmodellen "ûndersykje" de ôfbyldings sekuer om te sjen oft se URL's, spamteksten, telefoannûmers en deselde "ferbeane" ynformaasje befetsje.

Foar gefallen dêr't se besykje te ferkeapjen in ferbean produkt ferklaaid as wat legaal, en der is gjin tekst yn itsij de titel of beskriuwing, wy brûke ôfbylding tagging. Foar elke ôfbylding kinne oant 11 tûzen ferskillende tags tafoege wurde dy't beskriuwe wat op 'e ôfbylding stiet.

Hoe't wy advertinsjes moderearje
Se besykje de hookah te ferkeapjen troch it te ferklaaien as in samovar.

Parallel mei komplekse filters wurkje ienfâldige filters ek, it oplossen fan dúdlike problemen yn ferbân mei tekst:

  • antimat;
  • URL- en telefoannûmerdetektor;
  • fermelding fan instant messengers en oare kontakten;
  • koarting;
  • advertinsjes dêr't neat yn te keap is, ensfh.

Tsjintwurdich giet elke advertinsje troch in fyn sieve fan mear as 50 automatyske filters dy't besykje wat min yn 'e advertinsje te finen.

As gjinien fan 'e detektors wurke, dan wurdt in antwurd stjoerd nei Yula dat de advertinsje "wierskynlik" yn perfekte folchoarder is. Wy brûke dit antwurd sels, en brûkers dy't har ynskreaun hawwe by de ferkeaper krije in notifikaasje oer de beskikberens fan in nij produkt.

Hoe't wy advertinsjes moderearje
Notifikaasje dat de ferkeaper in nij produkt hat.

As resultaat wurdt elke advertinsje "oergroeid" mei metadata, wêrfan guon wurde oanmakke as de advertinsje wurdt oanmakke (IP-adres fan de auteur, brûker-agint, platfoarm, geolokaasje, ensfh.), En de rest is de skoare útjûn troch elk filter. .

Oankundigingswachtrige

As in advertinsje op it platfoarm komt, set it systeem it yn ien fan 'e wachtrijen. Elke wachtrige wurdt makke mei in wiskundige formule dy't advertinsjemetadata kombinearret op in manier dy't minne patroanen detektearret.

Jo kinne bygelyks in wachtrige fan advertinsjes meitsje yn 'e kategory "Mobyles" fan Yula-brûkers dy't nei alle gedachten út Sint-Petersburch komme, mar har IP-adressen binne fan Moskou of oare stêden.

Hoe't wy advertinsjes moderearje
In foarbyld fan advertinsjes pleatst troch ien brûker yn ferskate stêden.

Of jo kinne wachtrijen foarmje op basis fan 'e skoares dy't it neuronale netwurk tawize oan advertinsjes, en regelje se yn ôfnimmende folchoarder.

Elke wachtrige jout, neffens syn eigen formule, in einskoare ta oan de advertinsje. Dan kinne jo op ferskate manieren trochgean:

  • spesifisearje de drompel wêrop in advertinsje in bepaald type blokkearjen sil ûntfange;
  • stjoer alle advertinsjes yn 'e wachtrige nei moderators foar hânmjittich beoardieling;
  • of kombinearje de foarige opsjes: spesifisearje de automatyske blokkearjende drompel en stjoer de advertinsjes nei moderators dy't dizze drompel net hawwe berikt.

Hoe't wy advertinsjes moderearje

Wêrom binne dizze wachtrigen nedich? Litte wy sizze dat in brûker in foto fan in fjoerwapen uploade. It neurale netwurk jout it in skoare fan 95 oant 100 ta en bepaalt mei 99 prosint krektens dat der in wapen op 'e foto is. Mar as de skoarewearde ûnder 95% is, begjint de krektens fan it model te ferminderjen (dit is in skaaimerk fan modellen fan neurale netwurken).

As gefolch, in wachtrige wurdt foarme basearre op it skoare model, en dy advertinsjes dy't ûntfongen tusken 95 en 100 wurde automatysk blokkearre as "ferbeane produkten". Ads mei in skoare ûnder 95 wurde stjoerd nei moderators foar hânmjittich ferwurkjen.

Hoe't wy advertinsjes moderearje
Chocolate Beretta mei cartridges. Allinnich foar manuele moderaasje! 🙂

Hânlieding moderaasje

Oan it begjin fan 2019 wurde sawat 94% fan alle advertinsjes yn Yula automatysk moderearre.

Hoe't wy advertinsjes moderearje

As it platfoarm net kin beslute oer guon advertinsjes, stjoert it se foar manuele moderaasje. Odnoklassniki ûntwikkele har eigen ark: taken foar moderators werjaan fuortendaliks alle nedige ynformaasje om in flugge beslút te nimmen - de advertinsje is geskikt of moat wurde blokkearre, mei oanjout fan 'e reden.

En om de kwaliteit fan 'e tsjinst net te lijen by manuele moderaasje, wurdt it wurk fan minsken konstant kontrolearre. Bygelyks, yn 'e taakstream wurdt de moderator "traps" toand - advertinsjes wêrfoar d'r al klearmakke oplossingen binne. As it beslút fan de moderator net oerienkomt mei it ôfmakke beslút, krijt de moderator in flater.

Gemiddeld besteget in moderator 10 sekonden oan it kontrolearjen fan ien advertinsje. Boppedat is it oantal flaters net mear as 0,5% fan alle ferifiearre advertinsjes.

Folks materaasje

Kollega's fan Odnoklassniki gongen noch fierder en benutten de "help fan it publyk": se skreau in spultsje-applikaasje foar it sosjale netwurk wêryn jo fluch in grutte hoemannichte gegevens kinne markearje, en markearje wat min teken - Odnoklassniki Moderator (https://ok.ru/app/moderator). In goede manier om te profitearjen fan de help fan OK-brûkers dy't besykje de ynhâld nofliker te meitsjen.

Hoe't wy advertinsjes moderearje
In spultsje wêryn brûkers foto's taggje dy't in telefoannûmer hawwe.

Elke wachtrige fan advertinsjes op it platfoarm kin wurde omlaat nei it Odnoklassniki Moderator-spiel. Alles dat spultsje brûkers markearje wurdt dan stjoerd nei ynterne moderators foar ferifikaasje. Dit skema lit jo advertinsjes blokkearje wêrfoar filters noch net makke binne, en tagelyk trainingsmonsters oanmeitsje.

It opslaan fan moderaasjeresultaten

Wy bewarje alle besluten dy't makke binne tidens moderaasje, sadat wy dy advertinsjes dêr't wy al in beslút oer hawwe nommen net opnij ferwurkje.

Miljoenen klusters wurde elke dei makke op basis fan advertinsjes. Nei ferrin fan tiid, elk kluster wurdt bestimpele "goed" of "min". Elke nije advertinsje as syn revyzje, dy't in kluster ynfiere mei in markearring, krijt automatysk in resolúsje fan it kluster sels. D'r binne sa'n 20 tûzen fan sokke automatyske resolúsjes per dei.

Hoe't wy advertinsjes moderearje

As der gjin nije oankundigings oankomme nei it kluster, wurdt it út it ûnthâld fuortsmiten en wurde de hash en oplossing skreaun nei Apache Cassandra.

As it platfoarm in nije advertinsje krijt, besiket it earst in ferlykbere kluster te finen ûnder de al makke en dêr in oplossing fan te nimmen. As der gjin sa'n kluster is, giet it platfoarm nei Cassandra en sjocht dêr. Hast it fûn? Geweldich, jildt de oplossing foar it kluster en stjoert it nei Yula. D'r binne elke dei in gemiddelde fan 70 tûzen sokke "werhelle" besluten - 8% fan it totaal.

To summarize

Wy hawwe twa en in heal jier it moderaasjeplatfoarm Odnoklassniki brûkt. Wy hâlde fan de resultaten:

  • Wy moderearje automatysk 94% fan alle advertinsjes per dei.
  • De kosten fan it moderearjen fan ien advertinsje waard fermindere fan 2 roebel nei 7 kopeken.
  • Mei tank oan it ready-made ark binne wy ​​fergetten oer de problemen fan it behearen fan moderators.
  • Wy hawwe it oantal mei de hân ferwurke advertinsjes mei 2,5 kear ferhege mei itselde oantal moderators en budzjet. De kwaliteit fan manuele moderaasje is ek ferhege troch automatisearre kontrôle, en fluktuearret om 0,5% fan flaters.
  • Wy dekke fluch nije soarten spam mei filters.
  • Wy ferbine nije ôfdielingen fluch oan moderaasje "Yula Verticals". Sûnt 2017 hat Yula de fertikalen Real Estate, Fakatueres en Auto tafoege.

Boarne: www.habr.com

Add a comment