Katrs serviss, kura lietotÄji var izveidot savu saturu (UGC - User-generated content) ir spiests ne tikai risinÄt biznesa problÄmas, bet arÄ« sakÄrtot lietas UGC. Slikta vai zemas kvalitÄtes satura regulÄÅ”ana galu galÄ var samazinÄt pakalpojuma pievilcÄ«bu lietotÄjiem, pat izbeidzot tÄ darbÄ«bu.
Å odien mÄs jums pastÄstÄ«sim par Yula un Odnoklassniki sinerÄ£iju, kas palÄ«dz mums efektÄ«vi regulÄt reklÄmas Yula.
SinerÄ£ija kopumÄ ir ļoti noderÄ«ga lieta, un mÅ«sdienu pasaulÄ, kad tehnoloÄ£ijas un tendences mainÄs ļoti Ätri, tÄ var pÄrvÄrsties par glÄbiÅu. KÄpÄc tÄrÄt ierobežotos resursus un laiku, lai izgudrotu kaut ko tÄdu, kas jau ir izdomÄts un ienÄcis prÄtÄ pirms jums?
MÄs domÄjÄm to paÅ”u, kad saskÄrÄmies ar pilnu uzdevumu regulÄt lietotÄja saturu - attÄlus, tekstu un saites. MÅ«su lietotÄji katru dienu Yula augÅ”upielÄdÄ miljoniem satura, un bez automÄtiskas apstrÄdes ir pilnÄ«gi neiespÄjami manuÄli regulÄt visus Å”os datus.
TÄpÄc mÄs izmantojÄm gatavu moderÄÅ”anas platformu, kuru lÄ«dz tam laikam mÅ«su kolÄÄ£i no Odnoklassniki bija pabeiguÅ”i lÄ«dz stÄvoklim āgandrÄ«z pilnÄ«baā.
KÄpÄc Odnoklassniki?
Katru dienu desmitiem miljonu lietotÄju ierodas sociÄlajÄ tÄ«klÄ un publicÄ miljardiem satura daļu: no fotoattÄliem lÄ«dz videoklipiem un tekstiem. Odnoklassniki moderÄÅ”anas platforma palÄ«dz pÄrbaudÄ«t ļoti lielu datu apjomu un cÄ«nÄ«ties pret surogÄtpasta izplatÄ«tÄjiem un robotiem.
OK moderÄcijas komanda ir uzkrÄjusi lielu pieredzi, jo tÄ savu rÄ«ku pilnveido jau 12 gadus. Ir svarÄ«gi, lai viÅi varÄtu ne tikai dalÄ«ties ar saviem gatavajiem risinÄjumiem, bet arÄ« pielÄgot savas platformas arhitektÅ«ru, lai tÄ atbilstu mÅ«su konkrÄtajiem uzdevumiem.
TurpmÄk Ä«suma labad OK moderÄÅ”anas platformu vienkÄrÅ”i sauksim par āplatformuā.
KÄ tas viss darbojas
Datu apmaiÅa starp Yula un Odnoklassniki tiek izveidota caur Apache Kafka.
KÄpÄc mÄs izvÄlÄjÄmies Å”o rÄ«ku:
JulÄ visas reklÄmas ir pÄcpÄrbaudes, tÄpÄc sÄkotnÄji sinhrona atbilde nebija nepiecieÅ”ama.
Ja notiek slikta rindkopa un Yula vai Odnoklassniki nav pieejami, tostarp dažu maksimÄlo slodžu dÄļ, dati no Kafka nekur nepazudÄ«s un tos varÄs izlasÄ«t vÄlÄk.
Platforma jau bija integrÄta ar Kafka, tÄpÄc lielÄkÄ daļa droŔības problÄmu tika atrisinÄtas.
Katrai reklÄmai, ko lietotÄjs izveidojis vai modificÄjis pakalpojumÄ Yula, tiek Ä£enerÄts JSON ar datiem, kas tiek ievietoti KafkÄ turpmÄkai moderÄÅ”anai. No Kafkas paziÅojumi tiek ielÄdÄti platformÄ, kur tie tiek izskatÄ«ti automÄtiski vai manuÄli. Sliktas reklÄmas tiek bloÄ·Ätas ar iemeslu, un tÄs, kurÄs platforma neatrod pÄrkÄpumus, tiek atzÄ«mÄtas kÄ ālabasā. PÄc tam visi lÄmumi tiek nosÅ«tÄ«ti atpakaļ Yulai un tiek piemÄroti dienestÄ.
Galu galÄ Julai viss ir saistÄ«ts ar vienkÄrÅ”Äm darbÄ«bÄm: nosÅ«tiet sludinÄjumu uz Odnoklassniki platformu un saÅemiet atpakaļ rezolÅ«ciju āokā, vai kÄpÄc ne āokā.
AutomÄtiska apstrÄde
Kas notiek ar reklÄmu pÄc tam, kad tÄ nonÄk platformÄ? Katra reklÄma ir sadalÄ«ta vairÄkÄs vienÄ«bÄs:
VÄrds,
apraksts,
fotogrÄfijas,
lietotÄja izvÄlÄta reklÄmas kategorija un apakÅ”kategorija,
ŃŠµŠ½Š°.
PÄc tam platforma katrai entÄ«tijai veic klasterizÄciju, lai atrastu dublikÄtus. TurklÄt teksts un fotogrÄfijas tiek grupÄti pÄc dažÄdÄm shÄmÄm.
Pirms grupÄÅ”anas teksti tiek normalizÄti, lai noÅemtu speciÄlÄs rakstzÄ«mes, mainÄ«tos burtus un citus atkritumus. SaÅemtie dati tiek sadalÄ«ti N-gramos, no kuriem katrs ir sajaukts. RezultÄtÄ ir daudz unikÄlu jaucÄju. Tekstu lÄ«dzÄ«bu nosaka Žakarda mÄrs starp divÄm iegÅ«tajÄm kopÄm. Ja lÄ«dzÄ«ba ir lielÄka par slieksni, tad teksti tiek sapludinÄti vienÄ klasterÄ«. Lai paÄtrinÄtu lÄ«dzÄ«gu klasteru meklÄÅ”anu, tiek izmantota MinHash un lokÄli jutÄ«ga jaukÅ”ana.
FotogrÄfijÄm ir izgudrotas dažÄdas attÄlu lÄ«mÄÅ”anas iespÄjas, sÄkot no pHash attÄlu salÄ«dzinÄÅ”anas lÄ«dz dublikÄtu meklÄÅ”anai, izmantojot neironu tÄ«klu.
PÄdÄjÄ metode ir "smagÄkÄ". Lai apmÄcÄ«tu modeli, tika atlasÄ«ti attÄlu tripleti (N, A, P), kuros N nav lÄ«dzÄ«gs A, bet P ir lÄ«dzÄ«gs A (ir daļÄji dublikÄts). Tad neironu tÄ«kls iemÄcÄ«jÄs padarÄ«t A un P pÄc iespÄjas tuvÄk, bet A un N pÄc iespÄjas tÄlÄk. TÄdÄjÄdi tiek iegÅ«ts mazÄk kļūdaini pozitÄ«vu rezultÄtu, salÄ«dzinot ar vienkÄrÅ”u iegulÅ”anu no iepriekÅ” apmÄcÄ«ta tÄ«kla.
Kad neironu tÄ«kls saÅem attÄlus kÄ ievadi, tas katram no tiem Ä£enerÄ N(128) dimensijas vektoru un tiek pieprasÄ«ts novÄrtÄt attÄla tuvumu. PÄc tam tiek aprÄÄ·inÄts slieksnis, pie kura tuvu attÄli tiek uzskatÄ«ti par dublikÄtiem.
Modelis spÄj prasmÄ«gi atrast surogÄtpasta izplatÄ«tÄjus, kuri Ä«paÅ”i fotografÄ vienu un to paÅ”u produktu no dažÄdiem leÅÄ·iem, lai apietu pHash salÄ«dzinÄjumu.
SurogÄtpasta fotoattÄlu piemÄrs, ko neironu tÄ«kls ir salÄ«mÄjis kopÄ kÄ dublikÄtus.
PÄdÄjÄ posmÄ dublÄtos sludinÄjumus vienlaikus meklÄ gan pÄc teksta, gan pÄc attÄla.
Ja klasterÄ« ir salipuÅ”as kopÄ divas vai vairÄkas reklÄmas, sistÄma sÄk automÄtisku bloÄ·ÄÅ”anu, kas, izmantojot noteiktus algoritmus, izvÄlas, kurus dublikÄtus dzÄst un kurus atstÄt. PiemÄram, ja diviem lietotÄjiem reklÄmÄ ir vienÄdas fotogrÄfijas, sistÄma bloÄ·Äs jaunÄko reklÄmu.
PÄc izveides visas kopas iziet cauri virknei automÄtisku filtru. Katrs filtrs pieŔķir klasterim punktu skaitu: cik liela ir iespÄjamÄ«ba, ka tajÄ ir Ŕī filtra identificÄtie draudi.
PiemÄram, sistÄma analizÄ aprakstu reklÄmÄ un atlasa tai iespÄjamÄs kategorijas. Tad Åem to ar maksimÄlo varbÅ«tÄ«bu un salÄ«dzina ar sludinÄjuma autora norÄdÄ«to kategoriju. Ja tie neatbilst, reklÄma tiek bloÄ·Äta nepareizai kategorijai. Un, tÄ kÄ mÄs esam laipni un godÄ«gi, mÄs tieÅ”i pasakÄm lietotÄjam, kura kategorija viÅam ir jÄatlasa, lai reklÄma tiktu regulÄta.
PaziÅojums par bloÄ·ÄÅ”anu nepareizas kategorijas dÄļ.
MaŔīnmÄcÄ«ba mÅ«su platformÄ jÅ«tas kÄ mÄjÄs. PiemÄram, ar tÄs palÄ«dzÄ«bu mÄs meklÄjam Krievijas FederÄcijÄ aizliegto preÄu nosaukumos un aprakstos. Un neironu tÄ«klu modeļi rÅ«pÄ«gi āpÄrbaudaā attÄlus, lai redzÄtu, vai tajos ir vietrÄži URL, surogÄtpasta teksti, tÄlruÅu numuri un tÄ pati āaizliegtÄā informÄcija.
GadÄ«jumos, kad viÅi mÄÄ£ina pÄrdot aizliegtu produktu, kas ir slÄpts kÄ kaut kas likumÄ«gs, un ne nosaukumÄ, ne aprakstÄ nav teksta, mÄs izmantojam attÄlu marÄ·ÄÅ”anu. Katram attÄlam var pievienot lÄ«dz pat 11 tÅ«kstoÅ”iem dažÄdu tagu, kas raksturo attÄlÄ redzamo.
ViÅi mÄÄ£ina pÄrdot Å«denspÄ«pi, maskÄjot to par samovÄru.
ParalÄli sarežģītajiem filtriem darbojas arÄ« vienkÄrÅ”ie filtri, kas atrisina acÄ«mredzamas ar tekstu saistÄ«tas problÄmas:
antimats;
URL un tÄlruÅa numura detektors;
tÅ«lÄ«tÄjo kurjeru un citu kontaktu pieminÄÅ”ana;
pazeminÄta cena;
sludinÄjumi, kuros nekas netiek pÄrdots utt.
MÅ«sdienÄs katra reklÄma iziet cauri vairÄk nekÄ 50 automÄtisko filtru sietam, kas mÄÄ£ina reklÄmÄ atrast kaut ko sliktu.
Ja neviens no detektoriem nedarbojÄs, tad Yulai tiek nosÅ«tÄ«ta atbilde, ka sludinÄjums āvisticamÄkā ir pilnÄ«gÄ kÄrtÄ«bÄ. MÄs paÅ”i izmantojam Å”o atbildi, un lietotÄji, kuri ir abonÄjuÅ”i pie pÄrdevÄja, saÅem paziÅojumu par jauna produkta pieejamÄ«bu.
PaziÅojums, ka pÄrdevÄjam ir jauna prece.
RezultÄtÄ katra reklÄma ir āaizaugusiā ar metadatiem, no kuriem daļa tiek Ä£enerÄta reklÄmas izveides laikÄ (autora IP adrese, lietotÄja aÄ£ents, platforma, Ä£eogrÄfiskÄ atraÅ”anÄs vieta utt.), bet pÄrÄjais ir katra filtra izdotais rezultÄts. .
SludinÄjumu rindas
Kad reklÄma nonÄk platformÄ, sistÄma to ievieto vienÄ no rindÄm. Katra rinda tiek izveidota, izmantojot matemÄtisko formulu, kas apvieno reklÄmas metadatus tÄ, lai atklÄtu jebkÄdus sliktus modeļus.
PiemÄram, kategorijÄ āMobilie tÄlruÅiā varat izveidot sludinÄjumu rindu no Yula lietotÄjiem, kas it kÄ no SanktpÄterburgas, bet viÅu IP adreses ir no Maskavas vai citÄm pilsÄtÄm.
SludinÄjumu piemÄrs, ko ievietojis viens lietotÄjs dažÄdÄs pilsÄtÄs.
Vai arÄ« varat veidot rindas, pamatojoties uz rÄdÄ«tÄjiem, ko neironu tÄ«kls pieŔķir reklÄmÄm, sakÄrtojot tÄs dilstoÅ”Ä secÄ«bÄ.
Katra rinda pÄc savas formulas pieŔķir sludinÄjumam galÄ«go punktu skaitu. PÄc tam varat rÄ«koties dažÄdos veidos:
norÄdiet slieksni, pie kura reklÄma saÅems noteikta veida bloÄ·ÄÅ”anu;
nosÅ«tÄ«t visas rindÄ esoÅ”Äs reklÄmas moderatoriem manuÄlai pÄrskatÄ«Å”anai;
vai arÄ« apvienojiet iepriekÅ”ÄjÄs opcijas: norÄdiet automÄtiskÄs bloÄ·ÄÅ”anas slieksni un nosÅ«tiet moderatoriem tÄs reklÄmas, kuras nav sasnieguÅ”as Å”o slieksni.
KÄpÄc ir vajadzÄ«gas Ŕīs rindas? PieÅemsim, ka lietotÄjs augÅ”upielÄdÄja Å”aujamieroÄa fotoattÄlu. Neironu tÄ«kls tam pieŔķir punktu skaitu no 95 lÄ«dz 100 un ar 99 procentu precizitÄti nosaka, ka attÄlÄ ir ierocis. Bet, ja rezultÄta vÄrtÄ«ba ir zem 95%, modeļa precizitÄte sÄk samazinÄties (tÄ ir neironu tÄ«klu modeļu iezÄ«me).
RezultÄtÄ tiek veidota rinda, pamatojoties uz punktu modeli, un tÄs reklÄmas, kas saÅÄmuÅ”as no 95 lÄ«dz 100, tiek automÄtiski bloÄ·Ätas kÄ āAizliegtie produktiā. ReklÄmas, kuru vÄrtÄjums ir mazÄks par 95, tiek nosÅ«tÄ«tas moderatoriem manuÄlai apstrÄdei.
Å okolÄdes Beretta ar kÄrtridžiem. Tikai manuÄlai moderÄÅ”anai! š
ManuÄla moderÄÅ”ana
2019. gada sÄkumÄ aptuveni 94% no visiem sludinÄjumiem JulÄ tiek regulÄti automÄtiski.
Ja platforma nevar izlemt par dažÄm reklÄmÄm, tÄ nosÅ«ta tÄs manuÄlai regulÄÅ”anai. Odnoklassniki izstrÄdÄja savu rÄ«ku: moderatoru uzdevumi nekavÄjoties parÄda visu nepiecieÅ”amo informÄciju, lai Ätri pieÅemtu lÄmumu - reklÄma ir piemÄrota vai jÄbloÄ·Ä, norÄdot iemeslu.
Un, lai manuÄlas regulÄÅ”anas laikÄ neciestu pakalpojumu kvalitÄte, cilvÄku darbs tiek pastÄvÄ«gi uzraudzÄ«ts. PiemÄram, uzdevumu straumÄ moderatoram tiek rÄdÄ«ti āslazdiā ā reklÄmas, kurÄm jau ir gatavi risinÄjumi. Ja moderatora lÄmums nesakrÄ«t ar pabeigto, moderatoram tiek dota kļūda.
VidÄji moderators vienas reklÄmas pÄrbaudei pavada 10 sekundes. TurklÄt kļūdu skaits ir ne vairÄk kÄ 0,5% no visÄm pÄrbaudÄ«tajÄm reklÄmÄm.
Tautas mÄrenÄ«ba
KolÄÄ£i no Odnoklassniki gÄja vÄl tÄlÄk un izmantoja āauditorijas palÄ«dzÄ«buā: viÅi uzrakstÄ«ja spÄles lietojumprogrammu sociÄlajam tÄ«klam, kurÄ varat Ätri atzÄ«mÄt lielu datu apjomu, izceļot kÄdu sliktu zÄ«mi - Odnoklassniki moderators (https://ok.ru/app/moderator). Labs veids, kÄ izmantot OK lietotÄju palÄ«dzÄ«bu, kuri cenÅ”as padarÄ«t saturu patÄ«kamÄku.
SpÄle, kurÄ lietotÄji atzÄ«mÄ fotoattÄlus, uz kuriem ir tÄlruÅa numurs.
Jebkuru reklÄmu rindu platformÄ var novirzÄ«t uz spÄli Odnoklassniki Moderator. Viss, ko spÄļu lietotÄji atzÄ«mÄ, tiek nosÅ«tÄ«ts iekÅ”Äjiem moderatoriem pÄrbaudei. Å Ä« shÄma ļauj bloÄ·Ät reklÄmas, kurÄm vÄl nav izveidoti filtri, un vienlaikus izveidot apmÄcÄ«bas paraugus.
ModerÄcijas rezultÄtu saglabÄÅ”ana
MÄs saglabÄjam visus moderÄÅ”anas laikÄ pieÅemtos lÄmumus, lai nepÄrstrÄdÄtu tÄs reklÄmas, par kurÄm jau esam pieÅÄmuÅ”i lÄmumu.
Katru dienu, pamatojoties uz reklÄmÄm, tiek izveidoti miljoniem klasteru. Laika gaitÄ katra klastera tiek apzÄ«mÄta kÄ "laba" vai "slikta". Katra jauna reklÄma vai tÄs pÄrskatÄ«Å”ana, ievadot klasteru ar atzÄ«mi, automÄtiski saÅem izŔķirtspÄju no paÅ”a klastera. DienÄ ir aptuveni 20 tÅ«kstoÅ”i Å”Ädu automÄtisko izŔķirtspÄju.
Ja klasterÄ« neienÄk jauni paziÅojumi, tas tiek noÅemts no atmiÅas un tÄ jaucÄjfunkcija un risinÄjums tiek rakstÄ«ts Apache Cassandra.
Kad platforma saÅem jaunu sludinÄjumu, tÄ vispirms mÄÄ£ina atrast lÄ«dzÄ«gu klasteru starp jau izveidotajiem un Åemt no tÄ risinÄjumu. Ja Å”Ädas kopas nav, platforma dodas uz Kasandru un skatÄs tur. Vai tu to atradi? Lieliski, piemÄro risinÄjumu klasterim un nosÅ«ta to Yula. Katru dienu tiek pieÅemti vidÄji 70 tÅ«kstoÅ”i Å”Ädu āatkÄrtotuā lÄmumu ā 8% no kopÄjÄ skaita.
SummÄjot
MÄs izmantojam Odnoklassniki moderÄÅ”anas platformu divarpus gadus. Mums patÄ«k rezultÄti:
MÄs automÄtiski regulÄjam 94% no visÄm reklÄmÄm dienÄ.
Vienas reklÄmas regulÄÅ”anas izmaksas tika samazinÄtas no 2 rubļiem lÄ«dz 7 kapeikÄm.
Pateicoties gatavajam rÄ«kam, mÄs aizmirsÄm par moderatoru pÄrvaldÄ«bas problÄmÄm.
MÄs palielinÄjÄm manuÄli apstrÄdÄto reklÄmu skaitu par 2,5 reizÄm, izmantojot tÄdu paÅ”u moderatoru skaitu un budžetu. ManuÄlÄs regulÄÅ”anas kvalitÄte ir palielinÄjusies arÄ« automatizÄtÄs vadÄ«bas dÄļ, un tÄ svÄrstÄs ap 0,5% kļūdu.
MÄs Ätri pÄrklÄjam jaunus surogÄtpasta veidus ar filtriem.
MÄs Ätri savienojam jaunas nodaļas ar mÄrenÄ«bu "Yula Verticals". KopÅ” 2017. gada Yula ir pievienojusi vertikÄles Nekustamais Ä«paÅ”ums, Vakances un Auto.