Kako odpreti komentarje in se ne utopiti v neželeni pošti

Kako odpreti komentarje in se ne utopiti v neželeni pošti

Ko je vaša naloga ustvariti nekaj lepega, vam o tem ni treba preveč govoriti, saj je rezultat vsem pred očmi. Če pa z ograj brišete napise, vašega dela ne bo nihče opazil, dokler so ograje spodobne ali dokler ne pobrišete česa narobe.

Vsaka storitev, kjer lahko pustite komentar, recenzijo, pošljete sporočilo ali naložite slike, se prej ali slej sooči s problemom neželene pošte, goljufij in nespodobnosti. Temu se ni mogoče izogniti, vendar se je treba s tem spoprijeti.

Moje ime je Mikhail, delam v skupini za zaščito pred neželeno pošto, ki ščiti uporabnike storitev Yandex pred tovrstnimi težavami. Naše delo je redkokdo opaženo (in to je dobro!), zato vam bom danes o tem povedal več. Izvedeli boste, kdaj je zmernost neuporabna in zakaj natančnost ni edini pokazatelj njene učinkovitosti. Govorili bomo tudi o kletvicah na primeru mačk in psov in zakaj je včasih koristno »razmišljati kot psovka«.

V Yandexu se pojavlja vedno več storitev, kjer uporabniki objavljajo svoje vsebine. V Yandex.Q lahko postavite vprašanje ali napišete odgovor, razpravljate o novicah dvorišč v Yandex.District, delite prometne razmere v pogovorih na Yandex.Maps. Toda ko se občinstvo storitve poveča, postane privlačna za prevarante in pošiljatelje neželene pošte. Prihajajo in polnijo komentarje: ponujajo lahek denar, oglašujejo čudežna zdravila in obljubljajo socialne ugodnosti. Zaradi pošiljateljev neželene pošte nekateri uporabniki izgubljajo denar, drugi pa željo po preživljanju časa na neurejeni storitvi, preraščeni z neželeno pošto.

In to ni edina težava. Prizadevamo si ne le za zaščito uporabnikov pred prevaranti, temveč tudi za ustvarjanje prijetnega vzdušja za komunikacijo. Če se ljudje v komentarjih soočijo s preklinjanjem in žaljivkami, bodo verjetno odšli in se nikoli več vrnili. To pomeni, da se morate tudi s tem znati spopasti.

Čisti splet

Kot se pogosto zgodi pri nas, so se prve novosti rodile v Iskanju, v delu, ki se bori proti neželeni pošti v rezultatih iskanja. Pred približno desetimi leti se je tam pojavila naloga filtriranja vsebine za odrasle za družinska iskanja in za poizvedbe, ki niso zahtevale odgovorov iz kategorije 18+. Tako so se pojavili prvi ročno tipkani slovarji pornografije in preklinjanja, ki so jih dopolnili analitiki. Glavna naloga je bila razvrstiti zahteve na tiste, kjer je sprejemljivo prikazovanje vsebin za odrasle in kje ni. Za to nalogo so bile zbrane oznake, izdelane hevristike in usposobljeni modeli. Tako so se pojavili prvi razvojni dogodki za filtriranje neželenih vsebin.

Sčasoma se je v Yandexu začelo pojavljati UGC (uporabniško ustvarjena vsebina) - sporočila, ki jih napišejo uporabniki sami, Yandex pa samo objavi. Zaradi zgoraj opisanih razlogov veliko sporočil ni bilo mogoče objaviti, ne da bi jih pregledali – potrebno je bilo moderiranje. Nato so se odločili ustvariti storitev, ki bi zagotavljala zaščito pred neželeno pošto in napadalci za vse izdelke Yandex UGC in uporabiti razvoj za filtriranje neželene vsebine v Iskanju. Storitev so poimenovali »Clean Web«.

Nove naloge in pomoč potiskalcev

Sprva je za nas delovala le preprosta avtomatizacija: storitve so nam pošiljale besedila, mi pa smo na njih vodili slovarje opolzkosti, pornografske slovarje in regularne izraze - analitiki so vse sestavili ročno. Toda sčasoma se je storitev uporabljala v vse večjem številu izdelkov Yandex in morali smo se naučiti delati z novimi težavami.

Uporabniki pogosto namesto recenzije objavijo nesmiselne črke, s katerimi poskušajo povečati svoje dosežke, včasih oglašujejo svoje podjetje v ocenah konkurenčnega podjetja, včasih pa preprosto zmedejo organizacije in v recenziji o trgovini za male živali napišejo: " Odlično pečena riba!” Morda se bo nekega dne umetna inteligenca naučila popolnoma razumeti pomen katerega koli besedila, zdaj pa se avtomatizacija včasih spopade slabše od ljudi.

Postalo je jasno, da tega ne moremo storiti brez ročnega označevanja, in našemu vezju smo dodali drugo stopnjo – poslali smo ga v ročni pregled s strani osebe. Tja so bila uvrščena tista objavljena besedila, pri katerih klasifikator ni opazil težav. Zlahka si predstavljate razsežnost takšne naloge, zato se nismo zanašali le na ocenjevalce, ampak smo izkoristili tudi »modrost množice«, torej smo se po pomoč obrnili na tolokerje. Oni so tisti, ki nam pomagajo prepoznati, kaj je stroj zamudil, in ga s tem učijo.

Pametno predpomnjenje in zgoščevanje LSH

Druga težava, s katero smo se srečali pri delu s komentarji, je neželena pošta, natančneje njena količina in hitrost širjenja. Ko je občinstvo Yandex.Region začelo hitro naraščati, so tja prišli pošiljatelji neželene pošte. Naučili so se zaobiti ustaljenih izrazov z rahlim spreminjanjem besedila. Neželena pošta je bila seveda še vedno najdena in izbrisana, toda na lestvici Yandexa bi lahko nesprejemljivo sporočilo, objavljeno celo 5 minut, videlo na stotine ljudi.

Kako odpreti komentarje in se ne utopiti v neželeni pošti

Seveda nam to ni ustrezalo in naredili smo pametno predpomnjenje besedila na osnovi LSH (lokalno občutljivo zgoščevanje). Deluje takole: besedilo smo normalizirali, iz njega odstranili povezave in ga razrezali na n-grame (zaporedje n črk). Nato smo izračunali zgoščene vrednosti n-gramov in iz njih zgradili vektor LSH dokumenta. Gre za to, da so se podobna besedila, tudi če so bila nekoliko spremenjena, spremenila v podobne vektorje.

Ta rešitev je omogočila ponovno uporabo razsodb klasifikatorjev in tolokerjev za podobna besedila. Med napadom neželene pošte, takoj ko je prvo sporočilo prestalo skeniranje in vstopilo v predpomnilnik z razsodbo "neželena pošta", so vsa nova podobna sporočila, tudi spremenjena, prejela isto razsodbo in so bila samodejno izbrisana. Kasneje smo se naučili usposobiti in samodejno znova usposobiti klasifikatorje neželene pošte, vendar je ta »pametni predpomnilnik« ostal z nami in nam še vedno pogosto pomaga.

Dober klasifikator besedila

Ne da bi imeli čas za odmor od boja proti neželeni pošti, smo ugotovili, da je 95 % naše vsebine moderirano ročno: klasifikatorji se odzovejo le na kršitve in večina besedil je dobrih. Tovorimo čistilce, ki v 95 primerih od 100 dajo oceno »Vse je v redu«. Moral sem opraviti nenavadno delo - izdelati klasifikatorje dobre vsebine, na srečo se je v tem času nabralo dovolj oznak.

Prvi klasifikator je bil videti takole: besedilo lematiziramo (besede reduciramo na začetno obliko), izločimo vse pomožne dele govora in uporabimo vnaprej pripravljen »slovar dobrih lem«. Če so vse besede v besedilu "dobre", potem celotno besedilo ne vsebuje nobenih kršitev. Pri različnih storitvah je ta pristop takoj dal od 25 do 35% avtomatizacije ročnega označevanja. Seveda ta pristop ni idealen: enostavno je združiti več nedolžnih besed in dobiti zelo žaljivo izjavo, vendar nam je omogočil, da smo hitro dosegli dobro raven avtomatizacije in nam dal čas za usposabljanje bolj zapletenih modelov.

Naslednje različice dobrih besedilnih klasifikatorjev so že vključevale linearne modele, odločitvena drevesa in njihove kombinacije. Za označevanje nesramnosti in žalitev na primer poskusimo z nevronsko mrežo BERT. Pomembno je razumeti pomen besede v kontekstu in povezavo med besedami iz različnih stavkov in BERT to dobro opravlja. (Mimogrede, pred kratkim so kolegi iz News povedal, kako se tehnologija uporablja za nestandardno nalogo - iskanje napak v glavah.) Posledično je bilo mogoče avtomatizirati do 90 % toka, odvisno od storitve.

Natančnost, popolnost in hitrost

Za razvoj morate razumeti, kakšne koristi prinašajo določeni avtomatski klasifikatorji, spremembe v njih in ali je kakovost ročnega preverjanja slabša. Za to uporabljamo meritve natančnosti in odpoklica.

Točnost je delež pravilnih sodb med vsemi sodbami o slabi vsebini. Večja kot je natančnost, manj je lažnih pozitivnih rezultatov. Če ne boste pozorni na točnost, potem lahko teoretično izbrišete vso neželeno pošto in nespodobnosti ter skupaj z njimi polovico dobrih sporočil. Po drugi strani pa, če se zanašate le na natančnost, bo najboljša tehnologija tista, ki ne ujame nikogar. Zato obstaja tudi indikator popolnosti: delež ugotovljenih slabih vsebin v skupnem obsegu slabih vsebin. Ti dve metriki se uravnotežita.

Za merjenje vzorčimo celoten dohodni tok za vsako storitev in damo vzorce vsebine ocenjevalcem za strokovno oceno in primerjavo s strojnimi rešitvami.

Obstaja pa še en pomemben kazalnik.

Zgoraj sem napisal, da lahko nesprejemljivo sporočilo vidi na stotine ljudi tudi v 5 minutah. Torej štejemo, kolikokrat smo ljudem pokazali slabo vsebino, preden smo jo skrili. To je pomembno, ker ni dovolj samo učinkovito delo – delati je treba tudi hitro. In ko smo zgradili obrambo pred kletvicami, smo to občutili v polni meri.

Antimatizem na primeru mačk in psov

Majhna lirična digresija. Nekateri bi morda rekli, da opolzkost in žalitve niso tako nevarne kot zlonamerne povezave in ne tako moteče kot vsiljena pošta. Vendar si prizadevamo ohraniti udobne pogoje za komunikacijo za milijone uporabnikov in ljudje se ne marajo vračati na mesta, kjer so užaljeni. Ni zaman, da je prepoved preklinjanja in žalitev zapisana v pravilih številnih skupnosti, tudi na Habréju. Ampak smo se oddaljili.

Slovarji kletvic ne morejo kos vsemu bogastvu ruskega jezika. Kljub dejstvu, da obstajajo samo štirje glavni koreni kletvic, lahko iz njih sestavite nešteto besed, ki jih ne morejo ujeti nobeni navadni motorji. Poleg tega lahko del besede napišete s prečrkovanjem, zamenjate črke s podobnimi kombinacijami, preuredite črke, dodate zvezdice itd. Včasih je brez konteksta pravzaprav nemogoče ugotoviti, ali je uporabnik mislil kletvico. Habrova pravila spoštujemo, zato tega ne bomo dokazali z živimi primeri, ampak z mačkami in psi.

Kako odpreti komentarje in se ne utopiti v neželeni pošti

"Zakon," je rekel maček. Razumemo pa, da je mačka rekla drugo besedo ...

Začeli smo razmišljati o algoritmih »mehkega ujemanja« za naš slovar in o pametnejši predprocesiranju: zagotovili smo prečrkovanje, zlepili presledke in ločila skupaj, iskali vzorce in nanje zapisali ločene regularne izraze. Ta pristop je prinesel rezultate, vendar je pogosto zmanjšal natančnost in ni zagotovil želene popolnosti.

Potem smo se odločili, da bomo »razmišljali kot kletvice«. Sami smo začeli vnašati šum v podatke: preurejali smo črke, generirali tipkarske napake, zamenjali črke s podobnim črkovanjem ipd. Začetna oznaka za to je bila vzeta z uporabo mat slovarjev na velikih korpusih besedil. Če vzamete en stavek in ga zasukate na več načinov, na koncu dobite veliko stavkov. Na ta način lahko vzorec usposabljanja povečate desetkrat. Preostalo je le, da smo na nastalem bazenu usposobili nek bolj ali manj pameten model, ki je upošteval kontekst.

Kako odpreti komentarje in se ne utopiti v neželeni pošti

O končni odločitvi je še prezgodaj govoriti. Še vedno eksperimentiramo s pristopi k tej težavi, vendar lahko že vidimo, da preprosta simbolna konvolucijska mreža več plasti bistveno prekaša slovarje in običajne motorje: mogoče je povečati tako natančnost kot priklic.

Seveda se zavedamo, da se bodo vedno našli načini, kako zaobiti tudi najnaprednejšo avtomatizacijo, sploh ko je zadeva tako nevarna: pišite tako, da neumna mašina ne bo razumela. Tudi tukaj, tako kot v boju proti nezaželeni pošti, naš cilj ni izkoreniniti same možnosti pisanja nespodobnega, temveč zagotoviti, da igra ni vredna sveče.

Odpreti priložnost za deljenje svojega mnenja, komuniciranje in komentiranje ni težko. Veliko težje je doseči varne, udobne razmere in spoštljiv odnos do ljudi. In brez tega ne bo razvoja nobene skupnosti.

Vir: www.habr.com

Dodaj komentar