Kuidas me kuulutusi modereerime

Kuidas me kuulutusi modereerime

Iga teenus, mille kasutajad saavad luua oma sisu (UGC — kasutajate loodud sisu), peab mitte ainult lahendama Ă€riĂŒlesandeid, vaid ka korrastama UGC-d. Halva vĂ”i madala kvaliteediga sisu modereerimine vĂ”ib lĂ”puks vĂ€hendada teenuse atraktiivsust kasutajatele, kuni selle tegevuse lĂ”petamiseni.

TĂ€na rÀÀgime teile sĂŒnergiast Joola ja Klassikaaslaste vahel, mis aitab meil tĂ”husalt kuulutusi Joolas modereerida.

SĂŒnergia on ĂŒldiselt vĂ€ga kasulik asi, ja tĂ€napĂ€eval, kui tehnoloogiad ja trendid muutuvad vĂ€ga kiiresti, vĂ”ib see muutuda pÀÀsterĂ”ngaks. Miks kulutada piiratud ressursse ja aega sellele, mille on juba varem keegi vĂ€lja mĂ”elnud ja tĂ€iustanud?

Sellest mĂ”tlesime ka meie, kui leidsime end silmitsi kasutajate loodud sisu — piltide, tekstide ja linkide — modereerimise ĂŒlesande ees. Meie kasutajad laadivad iga pĂ€ev Joolasse ĂŒles miljoneid sisuettepanekuid ning ilma automatiseeritud töötlemiseta pole vĂ”imalik kogu seda teavet kĂ€sitsi modereerida.

SeetÔttu kasutasime juba valmis modereerimisplatvormi, mille meie kolleegid ODNOKLASSNIKUSe juures olid jÔudnud «peaaegu tÀiuslikkuse» seisundisse.

Miks ODNOKLASSNIKI?

Sotsiaalmeediasse jĂ”uab igapĂ€evaselt kĂŒmneid miljoneid kasutajaid, kes avaldavad miljardeid sisuĂŒksusi: alates fotodest kuni videote ja tekstideni. ODNOKLASSNIKI modereerimisplatvorm aitab kontrollida vĂ€ga suuri andmemahtusid ning vĂ”idelda spĂ€mmi ja botidega.

OK modereerimismeeskond on kogunud vĂ€ga palju kogemusi, sest nad on oma tööriista tĂ€iustanud juba 12 aastat. Oluline on, et nad mitte ainult ei saanud jagada oma valmislahendusi, vaid ka seadistada oma platvormi arhitektuuri meie spetsiifiliste ĂŒlesannete kohaselt.

Kuidas me kuulutusi modereerime

Edaspidi nimetame modereerimisplatvormi OK lihtsalt «platvormiks».

Kuidas kÔik töötab

Andmevahetus YULA ja ODNOKLASSNIKI vahel on korraldatud lÀbi Apache Kafka.

Miks me valisime selle tööriista:

  • YULAs lĂ€hevad kĂ”ik kuulutused lĂ€bi postmodereerimise, seega algselt ei olnud sĂŒnkroonne vastus vajalik.
  • Kui juhtuda peaks ÀÀrmuslik olukord ja Yula vĂ”i Odnoklassniki ei ole kergesti kĂ€tte saadavad, sealhulgas kĂ”rgete koormuste tĂ”ttu, siis andmed Kafka-s ei kao kuhugi ning neid saab hiljem lugeda.
  • Platvorm on juba integreeritud Kafka-sse, seega on enamus turvakĂŒsimusi lahendatud.

Kuidas me kuulutusi modereerime

Iga kasutaja loodud vĂ”i muudetud kuulutus Yulas genereerib JSONi andmetega, mis salvestatakse Kafka-sse edasise modereerimise jaoks. Kafka-st laaditakse kuulutused platvormi, kus neile langetatakse otsuseid automaatselt vĂ”i kĂ€sitsi. Halvad kuulutused blokeeritakse koos pĂ”hjusena, samas kui need, kus platvorm ei leidnud rikkumisi, mĂ€rgistatakse kui „head”. SeejĂ€rel saadetakse kĂ”ik otsused tagasi Yulasse ja rakendatakse teenuses.

LĂ”ppkokkuvĂ”ttes on Yula jaoks kĂ”ik lihtsad toimingud: saata kuulutus Odnoklassniki platvormile ja tagasi saada resolutsioon „ok”, vĂ”i pĂ”hjus, miks see ei ole „ok”.

Automaatne töötlemine

Mis juhtub kuulutusega pĂ€rast seda, kui see platvormile jĂ”uab? Iga kuulutus jagatakse mitmeks ĂŒksuseks:

  • pealkiri,
  • kirjeldus,
  • fotod,
  • valitud kasutaja kategooria ja alajaotus kuulutuste jaoks,
  • hind.

Kuidas me kuulutusi modereerime

SeejĂ€rel viib platvorm iga ĂŒksuse puhul lĂ€bi klasterdamise, et leida dublette. Samas klasterdatakse tekst ja fotod erinevate skeemide alusel.

Tekstid normaliseeritakse enne klasterdamist, et eemaldada erimĂ€rgid, muudetud tĂ€hed ja muu sodi. Saadud andmed jagatakse N-grammideks, millest igaĂŒht hakatakse hash'ima. Tulemuseks on suur hulk unikaalseid hash'e. Tekstide sarnasust hinnatakse Jaccardi indeksiga vahel nende kahe saadud kogumi. Kui sarnasus ĂŒletab kĂŒnnise, liidetakse tekstid ĂŒheks klastriks. Sarnaste klastrite kiiremaks otsimiseks kasutatakse MinHash ja lokaalselt tundlikku hashimist.

Fotode jaoks on vÀlja töötatud erinevad piltide liitmise variandid, alates pHash piltide vÔrdlemisest kuni dublettide otsimiseni nÀrvivÔrgu abil.

Viimane meetod on kÔige "karmim". Mudeli koolitamiseks valiti vÀlja sellised piltide kolmikud (N, A, P), kus N ei sarnanenud A-ga, samas kui P sarnanes A-le (on poolduplikaat). SeejÀrel Ôppis nÀrvivÔrk tegema nii, et A ja P oleksid vÔimalikult lÀhedased, samas kui A ja N oleksid vÔimalikult kaugel. Nii saadakse vÀhem valehÀireid vÔrreldes lihtsalt eeltreenitud vÔrgu embedding'itega.

Kui nĂ€rvivĂ”rk saab sisendiks pildid, genereerib ta igaĂŒhe jaoks N(128)-dimensionalise vektori ja esitab pĂ€ringu pildi sarnasuse hindamiseks. SeejĂ€rel arvutatakse piir, mille kohaselt peetakse lĂ€hedasi pilte duplikaatideks.

Mudeli oskus on meisterlikult tuvastada spammereid, kes pildistavad sama toodet erinevatest nurkadest, et pHash'iga vÔrdlemist vÀltida.

Kuidas me kuulutusi modereerimeKuidas me kuulutusi modereerime
NÀide spammipiltidest, mis nÀrvivÔrk on duplikaatidena kokku pannud.

LÔppfaasis otsitakse duplikaate samaaegselt nii teksti kui ka pildi alusel.

Kui klastrisse liidetakse kaks vĂ”i enam kuulutust, kĂ€ivitab sĂŒsteem automaatse blokeerimise, mis teatud algoritmide pĂ”hjal valib, millised duplikaadid kustutada ja millised jĂ€tta. NĂ€iteks, kui kahel kasutajal on kuulutuses samad fotod, blokeerib sĂŒsteem uuema kuulutuse.

PÀrast loomist lÀbivad kÔik klastrid mitu automaatset filtrit. Iga filter mÀÀrab klastrile punktid (score): kui tÔenÀoliselt see sisaldab ohtu, mida filter tuvastab.

SĂŒsteem analĂŒĂŒsib nĂ€iteks kuulutuse kirjeldust ja valib sellele potentsiaalsed kategooriad. SeejĂ€rel vĂ”tab see selle, millel on maksimaalne tĂ”enĂ€osus, ja vĂ”rdleb seda kategooriaga, mille autor on kuulutusele mÀÀranud. Kui need ei ĂŒhti, blokeeritakse kuulutus vale kategooria tĂ”ttu. Ja kuna me oleme head ja ausad, siis ĂŒtleme kasutajale selgelt, millist kategooriat ta peaks valima, et kuulutus lĂ€biks modereerimise.

Kuidas me kuulutusi modereerime
Teade blokeerimisest vale kategooria tÔttu.

Meie platvormil tunneb masinÔpe end koduselt. NÀiteks otsime selle abil Venemaal keelatud tooteid pealkirjadest ja kirjeldustest. Neuraalsete vÔrkude mudelid uurivad hoolega pilte, otsides URL-e, rÀmpsposti tekste, telefoninumbreid ja samu keelatud tooteid.

Kui keelatud toodet ĂŒritatakse mĂŒĂŒa, maskeerides seda millegi seadusliku alla, ega pealkirjas ega kirjelduses pole mingit teksti, kasutame piltide mĂ€rgistamist. Iga pildi jaoks vĂ”ivad olla kuni 11 000 erinevat mĂ€rgistust, mis kirjeldab, mis pildil on.

Kuidas me kuulutusi modereerime
Shishat on ĂŒritatud mĂŒĂŒa, maskeerides selle kohvi potiks.

Kaasahaaravate filtrite kĂ”rval töötavad ka lihtsad filtrid, mis lahendavad ilmselgeid tekstiga seotud ĂŒlesandeid:

  • roppused;
  • URL-ning telefoninumbrite detektor;
  • viidatud vestlusprogrammid ja muud kontaktid;
  • madal hind;
  • kuulutused, kus mitte midagi ei mĂŒĂŒda jne.

TĂ€na lĂ€bib iga kuulutus rohkem kui 50 automaatse filtri kaudu, mis ĂŒritavad kuulutuses leida midagi halba.

Kui ĂŒkski tuvastaja ei tööta, saadetakse Yule vastus, et kuulutusega on "Ă€rge muretsege", kĂ”ik on korras. Me rakendame seda vastust enda juures, ning mĂŒĂŒja jĂ€lgijatele saadetakse teade uue toote ilmumise kohta.

Kuidas me kuulutusi modereerime
Teade sellest, et mĂŒĂŒjal on uus toode.

SeetĂ”ttu "kootakse" iga kuulutus metaandmetega, millest osa genereeritakse kuulutuse loomisel (autori IP-aadress, user-agent, platvorm, geolokatsioon jne), ning ĂŒlejÀÀnud on need skoorid, mis iga filtri poolt antakse.

Kuulutuste jÀrjekorrad

Kui kuulutus platvormile jĂ”uab, paigutab sĂŒsteem selle ĂŒhte jĂ€rjekorda. Iga jĂ€rjekord vormitakse matemaatilise valemiga, mis kombineerib kuulutuse metaandmeid selliselt, et avastada halbu mustreid.

NÀiteks vÔib luua kuulutuste jÀrjekorra kategoorias "Nutitelefonid" kasutajatelt, kes vÀidavad, et nad on Peterburist, kuid nende IP-aadressid on Moskvast vÔi teistest linnadest.

Kuidas me kuulutusi modereerime
NĂ€ide kuulutustest, mille on avaldanud ĂŒks kasutaja erinevates linnades.

VÔi saab jÀrjekordi luua punktide pÔhjal, mida tehisintellekt reklaamidele omistab, jÀrjestades need kahanevas jÀrjekorras.

Iga jÀrjekord omistab reklaamile lÔpp-skoori vastavalt oma valemile. Edasi on vÔimalik tegutseda erinevalt:

  • mÀÀra lĂ€vevÀÀrtus, mille puhul reklaam saab kindla tĂŒĂŒbi blokeeringu;
  • saada kĂ”ik jĂ€rjekorras olevad reklaamid moderaatoritele kĂ€sitsi kontrollimiseks;
  • vĂ”i kombineerida eelnevaid variante: mÀÀrata automaatse blokeeringu lĂ€vevÀÀrtus ja saata moderaatoritele need reklaamid, mis ei saavutanud seda lĂ€ve.

Kuidas me kuulutusi modereerime

Miks neid jĂ€rjekordi vaja on? Oletame, et kasutaja laadis ĂŒles pildi tulirelvast. Tehisintellekt omistab sellele skoori vahemikus 95 kuni 100 ja 99-protsendilise tĂ€psusega tuvastab, et pildil on relv. Kuid kui skoor on madalam kui 95 %, hakkab mudeli tĂ€psus langema (see on tehisintellekti mudelite omadus).

Tulemuseks on jĂ€rjekord, mis pĂ”hineb mudeli skooril, ja need reklaamid, mis on saanud 95 kuni 100 punkti, blokeeritakse automaatselt kui „Keelatud toode“. Reklaamid, mille punktide arv on madalam kui 95, saadetakse moderaatoritele kĂ€sitsi töötlemiseks.

Kuidas me kuulutusi modereerime
Ć okolaadiline Beretta padrunitega. Ainult kĂ€sitsi modereerimiseks! 🙂

KĂ€sitsi modereerimine

2019. aasta alguse seisuga modereeritakse umbes 94 % kÔikidest kuulutustest Yules automaatselt.

Kuidas me kuulutusi modereerime

Kui platvorm ei suuda mĂ”nda kuulutust mÀÀrata, saadetakse need kĂ€sitsi modereerimisele. Odnoklassniki on vĂ€lja töötanud oma tööriista: moderaatorite ĂŒlesannetes kuvatakse kohe kogu vajalik teave kiire otsuse tegemiseks — kas kuulutus on sobiv vĂ”i tuleks see blokeerida koos pĂ”hjendusega.

KĂ€sitsi modereerimise kvaliteedi tagamiseks jĂ€lgitakse pidevalt inimtööd. NĂ€iteks ĂŒlesannete voos kuvatakse moderaatorile 'lĂ”ksud' — kuulutused, mille kohta on juba olemas lahendused. Kui moderaatori otsus ei lange kokku lahendusega, arvestatakse moderaatorile viga.

Ühe kuulutuse kontrollimiseks kulutab moderaator keskmiselt 10 sekundit. Selle juures ei ĂŒleta vigade hulk 0,5 % kĂ”igist kontrollitud kuulutustest.

Rahvuslik modereerimine

Odnoklassniki kolleegid lĂ€ksid veel kaugemale, kasutades „saali abi”: nad kirjutasid sotsiaalmeedia jaoks rakenduse-mĂ€ngu, millega saab kiiresti mĂ€rgistada suurt hulka andmeid, esile tuues mĂ”ne halva tunnuse — Odnoklassniki moderaator (https://ok.ru/app/moderator). Hea viis kasutajate abi kasutamiseks, kes pĂŒĂŒdlevad sisu paremuse poole.

Kuidas me kuulutusi modereerime
MÀng, kus kasutajad mÀrkavad fotosid, millel on telefoninumber.

Iga kuulutuste jĂ€rjekorda platvormil saab suunata Odnoklassniki moderaatori mĂ€ngu. KĂ”ik, mida mĂ€ngu kasutajad mĂ€rgistavad, lĂ€heb seejĂ€rel sisemistele moderaatoritele kontrollimiseks. Selline sĂŒsteem vĂ”imaldab blokeerida kuulutusi, mille jaoks filtreid veel loodud pole, ja samal ajal luua koolituskoguseid.

Modereerimise tulemuste sÀilitamine

Me salvestame kÔik modereerimise kÀigus tehtud otsused, et hiljem mitte töödelda uuesti neid kuulutusi, mille kohta on juba otsus tehtud.

Iga pĂ€ev luuakse kuulutuste osas miljoneid klastreid. Aja jooksul saab iga klaster mĂ€rkuse „hea” vĂ”i „halb”. Iga uus kuulutus vĂ”i selle redigeerimine, sattudes klastrisse koos mĂ€rgisega, saab automaatselt klastrilt resolutsiooni. Selliseid automaatseid resolutsioone koguneb pĂ€evas umbes 20 000.

Kuidas me kuulutusi modereerime

Kui klastrisse ei laeku uusi kuulutusi, kustutatakse see mÀlust ning selle hash ja lahendus salvestatakse Apache Cassandra'sse.

Kui platvorm saab uue kuulutuse, pĂŒĂŒab ta esmalt leida sarnase klastrite hulgast ning vĂ”tta selle lahenduse. Kui sellist klastrit ei leidu, otsib platvorm Cassandra's. Leitud? SuurepĂ€rane, rakendab lahenduse klastrile ja saadab selle Yule. Selliseid „korduvaid” lahendusi koguneb pĂ€evas keskmiselt 70 000 — 8 % koguhulgast.

KokkuvÔtteks

Oleme kasutanud Odnoklassniki modereerimisplatvormi kaks ja pool aastat. Tulemused meeldivad meile:

  • Modereerime automaatselt 94 % kĂ”ikidest kuulutustest pĂ€evas.
  • Ühe kuulutuse modereerimise hind on langenud 2 rubla pealt 7 kopeekani.
  • TĂ€nu valmis tööriistale oleme unustanud moderaatorite haldamise probleemid.
  • Suurendasime kĂ€sitsi töödeldud kuulutuste arvu 2,5 korda sama arvu moderaatorite ja eelarvega. Samuti on kĂ€sitöö modereerimise kvaliteet paranenud automatiseeritud kontrolli tĂ”ttu ning vead on pĂŒsinud umbes 0,5% ulatuses.
  • Kiirelt katame uued spĂ€mmifiltrid.
  • Kiirelt ĂŒhendame uusi ĂŒksusi modereerimisega «Yula Vertikaalid». Alates 2017. aastast on Yulas ilmunud kinnisvara, tööpakkumiste ja auto vertikaalid.

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster