Kako moderiramo oglase

Kako moderiramo oglase

Svaka usluga čiji korisnici mogu stvarati vlastiti sadržaj (UGC — korisnički generirani sadržaj) mora ne samo rješavati poslovne izazove, već i uspostaviti red u UGC-u. Loša ili nekvalitetna moderacija sadržaja može smanjiti privlačnost usluge za korisnike, pa čak i dovesti do njenog gašenja.

Danas ćemo vam ispričati o sinergiji između Jule i Odnoklassnika koja nam pomaže učinkovito moderirati oglase na Jula.

Sinergija je uopće vrlo korisna stvar, a u modernom svijetu, kada se tehnologije i trendovi vrlo brzo mijenjaju, može postati štap za pomoć. Zašto trošiti oskudne resurse i vrijeme na izmišljanje onoga što su drugi već izumili i usavršili?

I mi smo tako razmišljali kada se pred nama postavio zadatak moderacije korisničkog sadržaja — slika, teksta i linkova. Naši korisnici svakodnevno učitavaju milijune jedinica sadržaja na Julu, a bez automatske obrade, moderirati sve te podatke ručno u potpunosti je nerealno.

Stoga smo se koristi gotovom platformom za moderaciju koju su naši kolege iz Odnoklassnika do tog trenutka dorađivali do stanja "gotovo savršeno".

Zašto Odnoklassnici?

Svaki dan u društvenu mrežu dolaze deseci milijuna korisnika koji objavljuju milijarde jedinica sadržaja: od fotografija do videa i tekstova. Platforma moderacije Odnoklassnika pomaže u provjeri vrlo velikih količina podataka i suzbijanju spammera i botova.

Moderatorski tim O.K. stekao je vrlo veliko iskustvo, budući da poboljšava alat već 12 godina. Važno je napomenuti da su mogli ne samo podijeliti svoja gotova rješenja, već i prilagoditi arhitekturu svoje platforme našim specifičnim zadacima.

Kako moderiramo oglase

Dalje ćemo skraćeno nazivatu platformu moderacije O.K. jednostavno "platforma".

Kako je sve organizirano

Između Jule i Odnoklassnika uspostavljena je razmjena podataka preko Apache Kafka.

Zašto smo odabrali ovaj alat:

  • Na Jula, svi oglasi prolaze postmoderaciju, pa izvorno nije bio potreban sinkroni odgovor.
  • Ako se dogodi veliki kvar i Jula ili Odnoklassnici postanu nedostupni, uključujući i zbog nekih vrhunskih opterećenja, podaci iz Kafke neće nestati i kasnije će ih moći ponovo pročitati.
  • Platforma je već integrirana s Kafkom, stoga su većina sigurnosnih pitanja već riješena.

Kako moderiramo oglase

Za svaku objavu koju kreira ili mijenja korisnik na Jula formira se JSON s podacima, koji se šalje u Kafku za daljnju moderaciju. Iz Kafke objave se učitavaju na platformu, gdje se o njima donose odluke automatski ili ručno. Loše objave se blokiraju s naznakom razloga, dok se one za koje platforma nije pronašla prekršaje označavaju kao „dobre“. Zatim se sve odluke šalju natrag u Julu i primjenjuju u servisu.

Na kraju, za Julu sve se svodi na jednostavne radnje: poslati objavu na platformu Odnoklassniki i natrag primiti rezoluciju „ok”, ili zašto ne „ok”.

Automatska obrada

Što se događa s objavom nakon što stigne na platformu? Svaka objava se dijeli na nekoliko entiteta:

  • naziv,
  • opis,
  • fotografije,
  • odabrana kategorija i podkategorija objave od strane korisnika,
  • cijena.

Kako moderiramo oglase

Zatim platforma provodi klasterizaciju za svaki entitet kako bi pronašla duplikate. Tekst i fotografije se klasteriziraju prema različitim shemama.

Tekstovi se prije klasterizacije normaliziraju kako bi se uklonili specijalni znaci, promijenjena slova i drugi otpad. Dobiveni podaci se dijele na N-gramove, od kojih se svaki hashira. Na kraju se dobiva mnoštvo jedinstvenih hashova. Sličnost između tekstova se računa prema Jaccardovoj mjeri između dva dobivena skupa. Ako je sličnost veća od praga, tekstovi se spajaju u jedan klaster. Za ubrzavanje pretraživanja sličnih klastera koristi se MinHash i Locality-sensitive hashing.

Za fotografije su osmišljene različite opcije za spajanje slika, od usporedbe pHash slika do pronalaženja duplikata uz pomoć neuronske mreže.

Posljednja metoda je najstroža. Za obučavanje modela birane su takve trojke slika (N, A, P), u kojima N ne izgleda poput A, a P izgleda poput A (polu-duplikat). Tada se neuronska mreža učila optimizirati tako da su A i P bili što bliži, a A i N što udaljeniji. Tako se postiže manje lažnih pozitivnih rezultata u usporedbi s jednostavnim korištenjem embeddings-a iz unaprijed obučene mreže.

Kada neuro mreža primi slike, ona za svaku od njih generira N(128)-dimenzionalni vektor i šalje zahtjev za ocjenu sličnosti slike. Zatim se izračunava prag ispod kojeg se slične slike smatraju duplikatima.

Model majstorski pronalazi spamere koji namjerno fotografiraju isti proizvod iz različitih kutova kako bi zaobišli usporedbu prema pHash.

Kako moderiramo oglaseKako moderiramo oglase
Primjer spam fotografija spojene neuronom u mrežu kao duplikate.

Na završnoj fazi, duplikati oglasa traže se istovremeno i po tekstu i po slici.

Ako se u klasteru spoje dva ili više oglasa, sustav pokreće automatsku blokadu koja prema određenim algoritmima bira koje duplikate ukloniti, a koje zadržati. Na primjer, ako dva korisnika imaju iste fotografije u oglasima, sustav će blokirati noviji oglas.

Nakon stvaranja, svi klasteri prolaze kroz niz automatskih filtara. Svaki filtar dodjeljuje klasteru određeni broj bodova (score): s kakvom vjerojatnošću taj klaster sadrži prijetnju koju otkriva taj filtar.

Na primjer, sustav analizira opis u oglasu i odabire potencijalne kategorije za njega. Zatim uzima onu s maksimalnom vjerojatnošću i uspoređuje je s kategorijom koju je naveo autor oglasa. Ako se ne podudaraju, oglas se blokira zbog pogrešne kategorije. A budući da smo dobri i pošteni, direktno kažemo korisniku koju kategoriju treba odabrati kako bi oglas prošao moderaciju.

Kako moderiramo oglase
Obavijest o blokadi zbog pogrešne kategorije.

Našoj platformi strojnog učenja odgovara kao kod kuće. Na primjer, uz njegovu pomoć tražimo zabranjene proizvode u nazivima i opisima u RF-u. A modeli neuronskih mreža pomno 'razgledaju' slike, da li se na njima nalaze URL adrese, spam tekstovi, telefoni i sve one iste 'zabranjene' stvari.

Za slučajeve kada se zabranjeni proizvod pokušava prodati maskirajući ga kao nešto legalno, a pritom nema nikakvog teksta ni u nazivu ni u opisu, koristimo označavanje slika. Za svaku sliku može biti dodano do 11 tisuća različitih oznaka koje opisuju što se nalazi na slici.

Kako moderiramo oglase
Vodenu lulu pokušavaju prodati maskirajući je kao samovar.

Paralelno s složenim filtrima rade i jednostavni koji rješavaju očite zadatke povezane s tekstom:

  • antimat;
  • detektor URL adresa i telefonskih brojeva;
  • spominjanje messengera i drugih kontakata;
  • smanjena cijena;
  • oglasi u kojima se ništa ne prodaje, itd.

Danas svaki oglas prolazi kroz sitno sito od više od 50 automatskih filtera koji pokušavaju pronaći nešto loše u oglasu.

Ako niti jedan od detektora ne reagira, Yula šalje odgovor da je s oglasom, "najvjerojatnije", sve u redu. Taj odgovor koristimo i korisnicima koji su se prijavili za prodavača dolazi obavijest o novom proizvodu.

Kako moderiramo oglase
Obavijest o tome da je prodavač dobio novi proizvod.

Na kraju, svaki oglas "dobiva" metapodatke, dio kojih se generira prilikom stvaranja oglasa (IP adresa autora, user-agent, platforma, geolokacija itd.), a ostalo su rezultati koje izdaje svaki filter.

Redovi oglasa

Kada oglas uđe u platformu, sustav ga stavlja u jedan od redova. Svaki red se formira pomoću matematičke formule koja kombinira metapodatke oglasa na način da otkrije neki loš obrazac.

Na primjer, moguće je stvoriti red oglasa u kategoriji "Mobilni telefoni" od korisnika Yule koji navodno dolaze iz Sankt Peterburga, ali su im IP adrese iz Moskve ili drugih gradova.

Kako moderiramo oglase
Primjer oglasa koje je objavio jedan korisnik u različitim gradovima.

Ili se mogu formirati redovi na temelju bodova koje neuronska mreža dodjeljuje oglasima, rangirajući ih od najvećeg do najmanjeg.

Svaki red, prema svojoj formuli, dodjeljuje konačni rezultat oglasu. Dalje se može postupiti na različite načine:

  • navesti prag vrijednosti pri kojem oglas dobiva određenu vrstu blokade;
  • sve oglase u redu poslati moderatorima na ručnu provjeru;
  • ili kombinirati prethodne varijante: navesti prag automatske blokade i poslati moderatorima one oglase koji nisu dostigli taj prag.

Kako moderiramo oglase

Zašto su potrebne ove queue? Pretpostavimo da je korisnik učitao fotografiju vatrenog oružja. Neuronska mreža joj dodeljuje score od 95 do 100 i sa 99-procentnom preciznošću određuje da je na slici oružje. Međutim, ako je score ispod 95 %, preciznost modela počinje da opada (to je osobina neuralnih mreža).

Kao rezultat se formira red na osnovu score modela, a oni od oglasa koji su dobili od 95 do 100 automatski se blokiraju kao „Zabranjena roba“. Oglasi sa brojem poena manjim od 95 šalju se na ručno razmatranje moderatorima.

Kako moderiramo oglase
Čokoladna Beretta s patronama. Samo za ručnu moderaciju! 🙂

Ručna moderacija

Na početku 2019. godine oko 94 % svih oglasa na Jule moderira se automatski.

Kako moderiramo oglase

Ako platforma ne može da se odluči za neke oglase, šalje ih na ručnu moderaciju. Odnoklassniki su razvili sopstveni alat: u zadacima za moderatore odmah se prikazuje sve potrebne informacije za brzu odluku — da li je oglas dobar ili ga treba blokirati uz navođenje razloga.

Da bi prilikom ručne moderacije kvalitet usluge ostao na nivou, rad ljudi se stalno kontroliše. Na primer, u toku zadataka moderatoru se prikazuju „klopke“ — oglasi za koje već postoje gotova rešenja. Ako rešenje moderatora ne odgovara gotovom, moderatoru se računaju greške.

Moderator u proseku provodi 10 sekundi na proveri jednog oglasa. Pri tome je broj grešaka ne veći od 0,5 % od svih proverenih oglasa.

Nародна модерација

Kolege iz Odnoklassnika otišle su još dalje i iskoristile „pomoć dvorane“: napisali su za društvenu mrežu aplikaciju-igru, u kojoj se brzo označava veliki broj podataka, ističući neki loš atribut — Moderator Odnoklassnika (https://ok.ru/app/moderator). Dobar način da se iskoristi pomoć korisnika OК, koji žele da učine sadržaj prijatnijim.

Kako moderiramo oglase
Igra u kojoj korisnici označavaju fotografije na kojima se nalazi broj telefona.

Svaku grupu oglasa na platformi možete preusmjeriti u igru Moderatori Odnoklassnika. Sve što korisnici igre označe, kasnije se šalje internim moderatorima na provjeru. Ova shema omogućava blokiranje oglasa za koje još nisu kreirani filteri, a istovremeno stvara edukativne uzorke.

Pohrana rezultata moderiranja

Sva donesena rješenja tijekom moderacije pohranjujemo kako bismo kasnije izbjegli ponovnu obradu onih oglasa za koje je već doneseno neko rješenje.

Svaki dan se stvara milijuni klastera za oglase. S vremenom svaki klaster dobije oznaku 'dobar' ili 'loš'. Svaki novi oglas ili njegova izmjena, kada uđe u klaster s oznakom, automatski dobije rezoluciju samog klastera. Takvih automatskih rezolucija nastane prosječno oko 20 tisuća dnevno.

Kako moderiramo oglase

Ako u klaster ne dolaze novi oglasi, izbacuje se iz memorije, a njegov hash i rješenje se pohranjuju u Apache Cassandri.

Kada platforma primi novi oglas, prvo pokušava pronaći sličan klaster među već stvorenima i preuzeti rješenje iz njega. Ako takvog klastera nema, platforma odlazi u Cassandru i tamo traži. Pronašla? Odlično, primjenjuje rješenje na klaster i šalje ga u Yulu. Takvih 'ponovljenih' rješenja u prosjeku se prikupi oko 70 tisuća dnevno — 8 % od ukupnog broja.

Zaključno

Platformu moderacije Odnoklassnika koristimo dvije i pol godine. Rezultati nam se sviđaju:

  • Automatski moderiramo 94 % svih oglasa dnevno.
  • Cijena moderiranja jednog oglasa smanjena je s 2 rubalja na 7 kopejki.
  • Zahvaljujući gotovom alatu zaboravili smo na probleme upravljanja moderatorima.
  • Povećali smo broj ručno obrađenih oglasa 2,5 puta uz isti broj moderatora i budžet. Također, kvaliteta ručne moderacije je porasla zahvaljujući automatiziranoj kontroli, a varira oko 0,5 % grešaka.
  • Brzo pokrivamo nove tipove spama filtrima.
  • Brzo uključujemo nove odjele u moderaciju ‘Yula Vertikale’. Od 2017. godine, Yula je dobila vertikale Nekretnina, Poslova i Automobila.

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster