Kuidas me modereerime kuulutusi

Kuidas me modereerime kuulutusi

Iga teenus, kelle kasutajad saavad luua oma sisu (UGC — kasutajate genereeritud sisu), peab mitte ainult lahendama Ă€rilisi ĂŒlesandeid, vaid ka korda looma UGC-s. 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 modereerida kuulutusi Joolas.

Üldiselt on sĂŒnergia vĂ€ga kasulik asi, ja kaasaegses maailmas, kus tehnoloogiad ja trendid muutuvad vĂ€ga kiiresti, vĂ”ib see muutuda pÀÀstjaks. Miks kulutada piiratud ressursse ja aega selleks, et leiutada midagi, mida on juba enne sind leiutatud ja viimistletud?

Nii mĂ”tlesime meiegi, kui silmitsi seisis ĂŒlesanne modereerida kasutajate sisu — pilte, tekste ja linke. IgapĂ€evaselt laadivad meie kasutajad Joolasse miljoneid sisu ĂŒksusi, ja ilma automaatse töötlemiseta ei ole vĂ”imalik kogu seda teavet kĂ€sitsi modereerida.

SeetÔttu kasutasime juba valmis modereerimisplatvormi, mille meie kolleegid Klassikaaslastest olid toona toimetanud peaaegu tÀiuslikuks.

Miks Klassikaaslased?

Iga pĂ€ev kĂŒlastavad sotsiaalset vĂ”rku kĂŒmneid miljoneid kasutajaid, kes avaldavad miljardeid sisu ĂŒksusi: alates fotodest kuni videote ja tekstideni. Klassikaaslaste modereerimisplatvorm aitab kontrollida vĂ€ga suuri andmemahte ning vastu seista spĂ€mmi- ja robotitegevusele.

Klassikaaslaste modereerimismeeskond on kogunud vĂ€ga suurt kogemust, sest nad on oma tööriista tĂ€iustanud juba 12 aastat. Oluline on, et nad mitte ainult ei saanud jagada oma valmis lahendusi, vaid ka seadistada oma platvormi arhitektuuri meie spetsiifilistele ĂŒlesannetele.

Kuidas me modereerime kuulutusi

Edasi liikudes nimetame Klassikaaslaste modereerimisplatvormi lihtsalt „platvormiks“.

Kuidas kÔik on korraldatud

Joola ja Klassikaaslaste vahel on andmevahetus korraldatud lÀbi Apache Kafka.

Miks valisime selle tööriista:

  • Joolas lĂ€bivad kĂ”ik kuulutused postmodereerimist, seega ei olnud algselt sĂŒnkroonne vastus vajalik.
  • Kui juhtub tĂ”sine probleem ja Joola vĂ”i Klassikaaslased ei ole saadaval, sealhulgas mĂ”ne tipukoormuse tĂ”ttu, siis andmed Kafka's ei kao kuhugi ja hiljem on vĂ”imalik neid jĂ€tkata lahti lugema.
  • Platvorm on juba integreetud Kafka sĂŒsteemiga, seetĂ”ttu on enamik turvakĂŒsimusi lahendatud.

Kuidas me modereerime kuulutusi

Iga kasutaja loodud vÔi muudetud kuulutus koos sellega seotud andmetega salvestatakse JSON formaadis ja saadetakse Kafka'sse edasiseks modereerimiseks. Kafka's laaditakse kuulutused platvormi, kus tehakse automaatseid vÔi kÀsitsi otsuseid. Halvad kuulutused blokeeritakse koos pÔhjendusega, samas kui need, mille puhul platvorm ei leidnud rikkumisi, mÀrgistatakse kui "head". SeejÀrel saadetakse kÔik otsused tagasi Julekule ja rakendatakse teenuses.

Seega, Jule jaoks on kÔik lihtne: saata kuulutus Odnoklassniki platvormile ja saada tagasi resolutsioon "ok" vÔi miks ei ole "ok".

Automaatne töötlemine

Mis juhtub kuulutusega pÀrast selle jÔudmist platvormile? Iga kuulutus jagatakse mitmeks entiteediks:

  • pealkiri,
  • kirjeldus,
  • fotod,
  • kasutaja valitud kuulutuse kategooria ja alamkategooria,
  • hind.

Kuidas me modereerime kuulutusi

SeejÀrel viib platvorm iga entiteedi osas lÀbi klasterdamise, et leida dublettide.

Tekstid normaliseeritakse enne klasterdamist, et kĂ”rvaldada erimĂ€rgid, muudetud tĂ€hed ja muu prĂŒgi. Saadud andmed jagatakse N-grammideks, millest igaĂŒks hash-itakse. LĂ”puks saadakse hulk unikaalseid hashe. Sarnasusi tekstide vahel arvutatakse Jaccardi meetodi alusel kahe saadud hulga vahel. Kui sarnasus ĂŒletab lĂ€vivÀÀrtuse, siis liidetakse tekstid kokku ĂŒheks klastriks. Sarnaste klastrite otsimise kiirusel kasutatakse MinHash'i ja lokaalsest tundlikkuse hashimist.

Fotode jaoks on vÀlja töötatud erinevad erinevused piltide liitmiseks, alates pHash piltide vÔrdlemisest kuni dublettide leidmiseni nÀrvivÔrgu abil.

Viimane meetod on kÔige "rangem". Mudeli koolitamiseks valiti sellised piltide kolmikud (N, A, P), kus N ei ole sarnane A-le, kuid P on A-le sarnane (pooldublikaat). SeejÀrel Ôppis nÀrvivÔrk tegema nii, et A ja P oleksid maksimaalselt lÀhedased, samas kui A ja N oleksid maksimaalselt kaugel. See vÀhendab valehÀireid vÔrreldes lihtsalt eelnevalt koolitatud vÔrgu embeddingute kasutamisega.

Kui nĂ€rvivĂ”rk saadab pildid, genereerib see igaĂŒhe jaoks N(128)-dimensioonilise vektori ja teeb taotluse pildi sarnasuse hindamiseks. Edasi arvutatakse kĂŒnnis, mille juures sarnased pildid loetakse dublettideks.

Mudel oskab meisterlikult leida spĂ€mmijaid, kes pildistavad sama toodet erinevatest nurkadest, et ĂŒletada pHashi vĂ”rdluse.

Kuidas me modereerime kuulutusiKuidas me modereerime kuulutusi
NÀide spammfotodest, mis on nÀrvivÔrgu poolt dublettidena kokku kleebitud.

LÔppstaadiumis otsitakse dubletteid kuulutustes samaaegselt nii teksti kui ka piltide pÔhjal.

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

PÀrast loomist lÀbivad kÔik klastrid mitmeid automaatseid filtreid. Iga filter hindab klastrit punkte (skoor): kui tÔenÀoliselt sisaldab see ohtu, mille see filter tuvastab.

NĂ€iteks analĂŒĂŒsib sĂŒsteem kuulutuse kirjeldust ja valib sellele potentsiaalsed kategooriad. SeejĂ€rel valib selle, millel on maksimaalne tĂ”enĂ€osus, ja vĂ”rreldakse kategooriaga, mille kuulutuse autor on mÀÀranud. Kui need ei ĂŒhti, blokeeritakse kuulutus vale kategooria tĂ”ttu. Ja kuna me oleme head ja ausad, ĂŒtlemme otse kasutajale, millist kategooriat ta peaks valima, et kuulutus lĂ€bi vaatluse pÀÀseks.

Kuidas me modereerime kuulutusi
Teade blokeerimise kohta vale kategooria tÔttu.

Meie platvormil tunneb masinÔpe end nagu kodus. NÀiteks otsime selle abil nimedes ja kirjeldustes Venemaal keelatud tooteid. Ja nÀrvivÔrkude mudelid uurivad piltidelt hoolikalt, kas seal on URL-aadresse, spammitekste, telefoninumbreid ja ikka neid samu 'keelatud' asju.

Juhtudel, kui keelatud toodet ĂŒritatakse mĂŒĂŒa millegi legaalse alla maskeerides, ja kui mingit teksti ei ole ei pealkirjas ega kirjelduses, kasutame piltide sildistamist. Iga pildi jaoks vĂ”ib olla mÀÀratud kuni 11 000 erinevat silti, mis kirjeldavad, mis pildil on.

Kuidas me modereerime kuulutusi
Koollaid ĂŒritatakse mĂŒĂŒa, maskeerides seda samovaarina.

Koos lihtsate filtritega töötavad ka keerulised filtrid, mis lahendavad ilmseid tekstitöötlusprobleeme:

  • antimaterjal;
  • URL-aadresside ja telefoninumbrite detektor;
  • messengerite ja muude kontaktide mainimine;
  • madal hind;
  • reklaamid, milles ei mĂŒĂŒda midagi jne.

TĂ€na lĂ€bib iga reklaam ĂŒle 50 automaatse filtri, mis pĂŒĂŒavad leida reklaamis midagi halba.

Kui ĂŒkski detektor ei aktiveeru, saadetakse Yule vastus, et reklaam on "tĂ”enĂ€oliselt" korras. Me rakendame seda vastust ja kasutajad, kes on mĂŒĂŒa tellinud, saavad teate uue toote ilmumisest.

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

LĂ”ppkokkuvĂ”ttes "kaunistab" iga reklaam metaandmete kogum, millest osa genereeritakse reklaami loomise ajal (autori IP-aadress, kasutaja-agent, platvorm, geolokatsioon jne), ning ĂŒlejÀÀnud on iga filtri vĂ€lja antud skoor.

Reklaamide jÀrjekorrad

Kui reklaam sisenevad platvormile, paigutab sĂŒsteem selle ĂŒhte jĂ€rjekorda. Iga jĂ€rjekord moodustatakse matemaatilise valemi abil, mis kombineerib reklaami metaandmeid nii, et avastatakse mĂ”ni halb muster.

NÀiteks vÔib luua reklaamide jÀrjekorra kategoorias "Mobiiltelefonid" Yula kasutajatelt, kes vÀidetavalt on Peterburist, kuid nende IP-aadressid on Moskvas vÔi teistes linnades.

Kuidas me modereerime kuulutusi
NĂ€ide reklaamidest, mida ĂŒks kasutaja on postitanud erinevates linnades.

VÔi vÔib jÀrjekordi moodustada punktide pÔhjal, mida tehisintellekt reklaamidele annab, paigutades need kahanevas jÀrjekorras.

Iga jÀrjekord mÀÀrab reklaamile lÔppskoori vastavalt oma valemile. Edasi saab tegutseda erinevalt:

  • nĂ€idata lĂ€vest, mille juures reklaam saab teatud tĂŒĂŒpi blokeeringu;
  • saata kĂ”ik jĂ€rjekorras olevad reklaamid moderatsiooniks kĂ€sitsi kontrollimiseks;
  • vĂ”i kombineerida eelnevaid variante: mÀÀrata automaatse blokeerimise lĂ€vi ja saata moderatsiooniks need reklaamid, mis ei saavutanud seda lĂ€ve.

Kuidas me modereerime kuulutusi

Miks on need jĂ€rjekorrad vajalikud? Oletame, et kasutaja on laadinud ĂŒles pildi tulekahjurelvast. NeuraalvĂ”rk mÀÀrab sellele skoori vahemikus 95 kuni 100 ning 99% tĂ€psusega tuvastab, et pildil on relv. Kuid kui skoor on alla 95%, hakkab mudeli tĂ€psus langema (see on neuraalvĂ”rkude omadus).

SeetÔttu moodustatakse jÀrjekord mudeli skoori pÔhjal, ja need kuulutused, mis said skoori 95-100, blokeeritakse automaatselt kui "Keelatud kaup". Kuulutused, mille skoor on alla 95, saadetakse kÀsitsi töötlemiseks moderaatoritele.

Kuidas me modereerime kuulutusi
Ć okolaadine Beretta padrunitega. Ainult kĂ€sitsi modereerimise jaoks! 🙂

KĂ€sitsi modereerimine

2019. aasta alguseks modereeritakse umbes 94% kÔigist kuulutustest Yula platvormil automaatselt.

Kuidas me modereerime kuulutusi

Kui platvorm ei suuda mĂ”ne kuulutuse osas otsustada, saadab 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.

Ja et kĂ€sitsi modereerimise kvaliteet ei kannataks, jĂ€lgitakse pidevalt inimeste tööd. NĂ€iteks moderaatorile kuvatakse ĂŒlesannete voos „lĂ”ksud“ — kuulutused, mille kohta on juba olemas valmislahendused. Kui moderaatori otsus ei ĂŒhti valmislahendusega, arvestatakse moderaatorile viga.

Ühe kuulutuse kontrollimiseks kulutab moderaator keskmiselt 10 sekundit. Samuti on vigade arv mitte rohkem kui 0,5% kĂ”igist kontrollitud kuulutustest.

Rahva modereerimine

Odnoklassniki kolleegid lĂ€ksid veel kaugemale, kasutades „saali abi“: nad kirjutasid sotsiaalvĂ”rgustikule rakenduse-mĂ€ngu, mille abil saab kiiresti mĂ€rgistada suurt hulka andmeid, tuues esile mĂ”ne halva tunnuse — Odnoklassniki moderaator (https://ok.ru/app/moderator). Hea viis kasutada OК kasutajate abi, kes pĂŒĂŒavad sisu meeldivamaks muuta.

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

Iga kuulutuste jÀrjekorra platvormis saab suunata mÀngu Moderaator Odnoklassnikute. KÔik, mida mÀngu kasutajad mÀrgistavad, saadetakse seejÀrel sisemistele moderatoritele kontrollimiseks. Selline skeem vÔimaldab blokeerida kuulutusi, mille kohta filtreid pole veel loodud, ja samal ajal luua Ôpikogusid.

Modereerimise tulemuste salvestamine

Salvestame kÔik vÔetud modereerimisotsused, et hiljem mitte töödelda korduvat kuulutust, mille kohta on juba otsus tehtud.

Iga pÀev luuakse kuulutuste kohta miljoneid klastreid. Aja jooksul saab iga klaster mÀrgise 'hea' vÔi 'halb'. Iga uus kuulutus vÔi selle redaktsioon, sattudes klastrisse, millel on mÀrgis, saab automaatselt selle klastriga seotud otsuse. Selliseid automaatseid otsuseid koguneb pÀevas umbes 20 tuhat.

Kuidas me modereerime kuulutusi

Kui klastrisse ei saa uusi kuulutusi, siis eemaldatakse see mÀlust ja selle hash ning otsus salvestatakse Apache Cassandra'sse.

Kui platvorm saab uue kuulutuse, proovib ta esmalt leida sarnase klastrite seast, mis on juba loodud, ja vĂ”tta sealt otsus. Kui sellist klastrit ei ole, siis lĂ€heb platvorm Cassandra'sse ja otsib sealt. Leidis? SuurepĂ€rane, rakendab otsuse klassit ja saadab Yulasse. Selliseid 'korduvaid' otsuseid koguneb keskmiselt 70 tuhat pĂ€evas — 8% kogu hulgast.

KokkuvÔtteks

Olemegi kasutanud Odnoklassnikute modereerimisplatvormi kaks ja pool aastat. Tulemused meeldivad meile:

  • Automaatne modereerimine katab 94% kĂ”igist kuulutustest pĂ€evas.
  • Ühe kuulutuse modereerimise kulu on langenud 2 rubla pealt 7 kopikani.
  • Valmis tööriista tĂ”ttu unustasid probleemid moderaatoritega.
  • KĂ€sitsi töödeldud kuulutuste arvu suurendasime 2,5 korda sama arvu moderatorite ja eelarvega. Samuti on kĂ€sitsi modereerimise kvaliteet tĂ”usnud automaatse kontrolli tĂ”ttu ja kĂ”igub umbes 0,5% vigu.
  • Kiirelt katame filtritega uusi spĂ€mmi tĂŒĂŒpe.
  • Kiiresti ĂŒhendame uusi osakondi modereerimisega Yula Vertikaalid. Alates 2017. aastast on Yulas ilmunud vertikaalid Kinnisvara, Töökuulutused ja Auto.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster