Kuidas avada kommentaare ja mitte sattuda spÀmmisuppi

Kuidas avada kommentaare ja mitte sattuda spÀmmisuppi

Kui su töö on luua midagi kaunist, ei ole selle kohta vaja eriti rÀÀkida, sest tulemus on kÔigile nÀhtav. Kuid kui sa kustutad kirjutisi aedadelt, ei mÀrka keegi su tööd, kuni aiad ei nÀe vÀlja korralikud vÔi kuni sa ei kustuta midagi vale.

Iga teenus, kus saab jÀtta kommentaari, tagasisidet, saata sÔnumi vÔi laadida pilte, seisab varem vÔi hiljem silmitsi rÀmpsposti, pettuse ja sobimatute mÀrkustega. Seda ei saa vÀltida, kuid sellega tuleb vÔidelda.

Mina olen Mihhail, töötan Antispam meeskonnas, mis kaitseb Yandexi teenuste kasutajaid selliste probleemide eest. Meie töö on harva nÀhtav (ja see on hea!), seega rÀÀgin tÀna sellest lÀhemalt. Sa saad teada, millal on modereerimine kasutud ja miks tÀpsus ei ole ainus nÀitaja selle efektiivsuses. RÀÀgime ka roppusest nÀiteks kasside ja koerte puhul ning miks mÔnikord on kasulik "mÔelda nagu roppus".

Yandexis tekib ĂŒha rohkem teenuseid, kus kasutajad avaldavad oma sisu. VĂ”id esitada kĂŒsimuse vĂ”i kirjutada vastuse Yandex.Q-s, arutada Ă”ue uudiseid Yandex.Regionis, jagada liiklusolusid jutuajamistes Yandex.Mapsis. Kuid kui teenuse publik kasvab, muutub see ahvatlevaks petturitele ja rĂ€mpspostitajatele. Nad tulevad ja tĂ€idavad kommentaarid: pakuvad lihtsat raha teenimist, reklaamivad imeravimeid ja lubavad sotsiaalseid makseid. RĂ€mpspostitajate tĂ”ttu kaotavad mĂ”ned kasutajad raha, teised aga soovivad vĂ€ltida rĂ€paseks muutunud teenuseid.

Ja see ei ole ainus probleem. Me ei pĂŒsi ainult kasutajaid petturite eest kaitsma, vaid loome ka mugava suhtluskeskkonna. Kui inimesed kohtavad kommentaarides roppusi ja solvanguid, on nad tĂ”enĂ€oliselt lahkumas ja ei naase enam. Seega tuleb selle problematikaga ka tegeleda.

Puhtaid Veeb

Nagu see meil tihti juhtub, tekkisid esimesed arengud Otsingus, selle osa kaudu, mis vĂ”itleb vĂ€ljaspool spĂ€mmi. Umbes kĂŒmme aastat tagasi tuli seal ette ĂŒlesanne filtrida tĂ€iskasvanute sisu peresĂ”braliku otsingu jaoks ja nende pĂ€ringute puhul, mis ei eelda vastuseid kategooriast 18+. Nii tekkisid esimesed kĂ€sitsi koostatud pornograafia ja ropendamise sĂ”nastikud, mida tĂ€iustasid analĂŒĂŒtikud. Peamine ĂŒlesanne oli klassifitseerida pĂ€ringud nende vahel, kus tĂ€iskasvanute sisu on lubatud ja kus mitte. Selle ĂŒlesande jaoks koguti mĂ€rgiseid, loodi heuristikad ja Ă”petati mudelit. Nii sĂŒndisid esimesed tööriistad soovimatu sisu filtreerimiseks.

Aja jooksul hakkas Yandexis ilmuma UGC (kasutaja loodud sisu) — sĂ”numid, mida kirjutavad kasutajad ise, ja Yandex avaldab need ainult. Ülaltoodud pĂ”hjustel ei olnud paljusid sĂ”numeid vĂ”imalik avaldada ilma kontrollimata — vajalik oli modereerimine. Siis otsustati luua teenus, mis pakuks kaitset spĂ€mmi ja pahatahtlike isikute vastu kĂ”igi Yandexi UGC toodete jaoks ning kasutaks Otsingus soovimatu sisu filtreerimise arendusi. Teenust kutsuti „Puhas Veeb“.

Uued ĂŒlesanded ja abi tolokertelt

Alguses töötas meil vaid lihtne automaatika: teenused saatsid meile tekstid ning me jooksutasime nende peal ropendamise sĂ”nastikke, pornograafia sĂ”nastikke ja regulaaravaldisi — analĂŒĂŒtikud koostasid kĂ”ik kĂ€sitsi. Kuid teenust hakati aja jooksul rakendama ĂŒha rohkemates Yandexi toodetes ja meil tuli Ă”ppida, kuidas tegeleda uute probleemidega.

Sagedasti avaldavad kasutajad arvustuse asemel mĂ”ttetut tĂ€heklotsi, pĂŒĂŒdes endale saavutusi tĂ”sta, mĂ”nikord reklaamivad nad oma ettevĂ”tet konkurendi arvustustes, mĂ”nikord segavad nad lihtsalt organisatsioone ja kirjutavad loomapoodide arvustuses: „Imeliselt valmistatud kala!”. VĂ”imalik, et kunagi Ă”pib tehisintellekt tĂ€iuslikult tabama iga teksti tĂ€hendust, kuid praegu suudab automaatika mĂ”nikord kehvemini toime tulla kui inimene.

Selgus, et ilma kĂ€sitsi mĂ€rgistamiseta ei Ă”nnestu siin hakkama saada, ja me lisasime meie sĂŒsteemile teise astme - saatmine inimese kontrollimiseks. Siia sattusid need avaldatud tekstid, mille osas klassifikaator probleeme ei tuvastanud. Te saate kergesti ette kujutada sellise ĂŒlesande ulatust, seetĂ”ttu ei tuginenud me mitte ainult hindajatele, vaid kasutasime ka "rahva tarkust", st pöördusime abiks tolokere poole. Just nemad aitavad meil tuvastada, mida masin on maha maganud, ja seelĂ€bi Ă”petavad seda.

Tark vahemÀlu ja LSH-hashimine

Veel ĂŒks probleem, millega me silmitsi seisisime kommentaaride töötlemisel, oli rĂ€mpspost, tĂ€psemalt selle hulk ja leviku kiirus. Kui Yandex.Regioni publik hakkas kiiresti kasvama, tulid rĂ€mpspostitajad. Nad Ă”ppisid ringidesse hiilima, muutes pisut teksti. RĂ€mpsposti leiti ja eemaldati siiski, kuid Yandexi mastaabis vĂ”is isegi 5 minutiks avaldatud sobimatu sĂ”numit nĂ€ha sadu inimesi.

Kuidas avada kommentaare ja mitte sattuda spÀmmisuppi

See ei rahuldanud meid, ja me tegime tarkade tekstide vahemÀlu pÔhjal LSHlocality-sensitive hashing. See töötab nii: me normaliseerisime teksti, eemaldasime lingid ja lÔikasime selle n-grammideks (n-tÀhemÀrkide jÀrjestused). SeejÀrel arvutasime n-grammide pÔhjal hashid ja nende alusel ehitasime dokumendi LSH-vektori. Idee on selles, et sarnased tekstid, isegi kui neid on pisut muudetud, muutusid sarnasteks vektoreiks.

See lahendus vĂ”imaldas meil taaskasutada klassifikaatorite ja tolokere otsuseid sarnaste tekstide kohta. RĂ€mpsposti rĂŒnnaku korral, niipea kui esimene sĂ”num lĂ€bis kontrolli ja jĂ”udis vahemĂ€llu 'rĂ€mpsposti' otsusega, said kĂ”ik uued sarnased sĂ”numid, isegi muudetud, sama otsuse ja eemaldati automaatselt. Hiljem Ă”ppisime klassifikaatoreid rĂ€mpsposti automaatselt koolitama, kuid see "tark vahemĂ€lu" jĂ€i meiega ja aitab meid siiani.

Heade tekstide klassifikaator

Vahepeal, kui me pĂŒĂŒdsime spĂ€mmi vastu vĂ”idelda, mĂ”istsime, et 95% meie sisust modereeritakse kĂ€sitsi: klassifikaatorid reageerivad ainult rikkumistele ja enamus tekstidest on head. Me koormame tolokaatorite tööga, kes 95 juhul 100-st annavad hindeks 'KĂ”ik on korras'. Oli vaja tegeleda harjumatu tööga - luua head sisu klassifikaatoreid, Ă”nneks on selle aja jooksul piisavalt mĂ€rgistusi kogunenud.

Esimene klassifikaator nĂ€gi vĂ€lja selline: lemma tĂ€htsustamine (viime sĂ”nad algvormi), viskame vĂ€lja kĂ”ik teenindavad sĂ”nad ja kasutame eelnevalt koostatud 'hea lemma' sĂ”navara. Kui tekstis on kĂ”ik sĂ”nad 'head', siis ei sisaldanud tekst tervikuna rikkumisi. Erinevates teenustes andis selline lĂ€henemine kohe 25–35% kĂ€sitöö mĂ€rgistuste automatiseerimist. Loomulikult pole selline lĂ€henemine ideaalne: ei ole raske kombineerida mitut sĂŒĂŒtut sĂ”na ja saada vĂ€ga solvav vĂ€ljend, kuid see vĂ”imaldas meil kiiresti saavutada hea automatiseerimise taseme ja andis aega keerukamate mudelite Ă”petamiseks.

JĂ€rgmised head tekstide klassifikaatorite versioonid sisaldasid juba nii lineaarseid mudeleid kui ka otsustavaid puid ning nende kombinatsioone. Üksikute roppuste ja solvangute mĂ€rgistamiseks proovime nĂ€iteks BERT nĂ€rvivĂ”rku. Siin on oluline tabada sĂ”na tĂ€hendus kontekstis ja sĂ”nade seoseid erinevate lausete vahel, ning BERT hakkama saab. (Muide, hiljuti jagasid kolleegid uudistest, kuidas nad tehnoloogiat rakendavad ebatavalise ĂŒlesande jaoks - pealkirjade vigade otsimiseks.) LĂ”ppkokkuvĂ”ttes Ă”nnestus automatiseerida 90% voost, olenevalt teenusest. rÀÀkinudTĂ€psus, tĂ€ielikkus ja kiirus

Arenguks on oluline mÔista, millist kasu toovad erinevad automaatsed klassifikaatorid, muudatused neis ning kas kÀsitsi kontrollide kvaliteet ei halvene. Selleks rakendame tÀpsuse ja tÀielikkuse nÀitajaid.

Kasvamiseks on vajalik mÔista, millist kasu toovad erinevad automaatsed klassifikaatorid, muutused neis, samuti mitte degradeerida kÀsitsi kontrollide kvaliteeti. Selleks rakendame tÀpsuse ja katvuse mÔÔdikuid.

TĂ€páș«nus on halva sisu kohta tehtud otsuste osakaal. Mida kĂ”rgem on tĂ€psus, seda vĂ€hem valehĂ€ireid. Kui tĂ€psust ei jĂ€lgita, vĂ”ib teooriaga kĂ”ik spĂ€mmi ja roppuse eemaldada, kuid koos nendega ka poole saadetud heade sĂ”numite hulk. Teiselt poolt, kui toetuda ainult tĂ€psusele, osutub parimaks tehnoloogia, mis ei pĂŒĂŒa kedagi kinni. SeetĂ”ttu on olemas ka katvuse nĂ€itaja: halva sisu tuvastamise mÀÀr kogu halva sisu mahus. Need kaks mÔÔdikut tasakaalustavad ĂŒksteist.

Kasutame mÔÔtmiseks iga teenuse sisendi voogu ja saadame sisu nÀidised hindajatele ekspertarvustusteks ning masina lahendustega vÔrdlemiseks.

Kuid on olemas veel ĂŒks oluline nĂ€itaja.

Olen eelnevalt maininud, et sobimatut sĂ”numit vĂ”ivad nĂ€ha sadakond inimest isegi vaid 5 minuti jooksul. SeetĂ”ttu arvestame, mitu korda me halba sisu inimestele ette nĂ€itasime enne, kui selle peitsime. See on oluline, sest ei piisa ainult kvaliteetsest töö tegemisest — oluline on ka kiirus. Ja kui me ehitasime roppuse kaitset, tundsime seda tĂ€iel mÀÀral.

Roppuse tÔkestamine kasside ja koerte nÀitel

LĂŒhike poetekstid. Keegi vĂ”ib öelda, et roppused ja solvangud ei ole nii ohtlikud kui kahjulikud lingid ja ei ole nii hĂ€irivad kui rĂ€mpspost. Kuid me pĂŒĂŒdleme selle poole, et tagada mugavad olud miljonite kasutajate suhtlemiseks, ja inimesed ei armasta naasta kohtadesse, kus neid solvatakse. Pole juhus, et roppuse ja solvangute keeld on kirjas paljude kogukondade reeglites, sealhulgas ka Habr's. Kuid nĂŒĂŒd oleme kĂ”rvale kaldunud.

Roppuse sĂ”nastikud ei suuda venekeelse keele kogu rikast sisaldust katab. Kuigi on olemas neli peamist roppuse juurt, on nende kombinatsioonide arv lĂ”putu, mida ei saa kinni pidada ĂŒhtegi regulaarsetest vĂ€ljenditest. Lisaks vĂ”ivad osad sĂ”nad olla kirjutatud transkriptsiooniga, asendades tĂ€hed sarnaste kombinatsioonidega, ĂŒmber paigutades tĂ€hti ja lisades tĂ€hti jne. MĂ”nikord ei saa kontekstist vĂ€lja lugeda, mida kasutaja roppussĂ”na all mĂ”tles. Austame Habr'i reegleid, seega demonstreerime seda mitte elavates nĂ€idetes, vaid kasside ja koerte nĂ€itel.

Kuidas avada kommentaare ja mitte sattuda spÀmmisuppi

„MĂ€u,” ĂŒtles kass. Kuid me mĂ”istame, et kass ĂŒtles midagi muud...

Oleme hakanud mĂ”tlema meie sĂ”nastiku „hĂ€gusate vastavuste“ algoritmidele ja nutikamale eelprotsessimisele: muutsime translitreerimist, sidusime tĂŒhikud ja punktid, otsisime mustreid ja kirjutasime nendele eraldi regulaaravaldiseid. Selline lĂ€henemine andis tulemusi, kuid sageli vĂ€hendas tĂ€psust, jĂ€ttes soovitud tĂ€ielikkuse saavutamata.

Siis otsustasime „mĂ”elda nagu roppused“. Alustasime ise andmete mĂŒraga: ĂŒmber tĂ”stetud tĂ€hed, trĂŒkivead, tĂ€hed asendatud sarnastega ja nii edasi. Algse mĂ€rgistuse saime, rakendades roppuste sĂ”nastikke suurtele tekstikorpustele. Kui vĂ”tta ĂŒks lause ja lĂ”hkuda see mitmel viisil, tekib palju lauseid. Nii on vĂ”imalik treeningvalimit korduvalt suurendada. JĂ€i vaid Ă”petada selle tulemuse pĂ”hjal mĂ”ni enam-vĂ€hem nutikas mudel, mis arvestas konteksti.

Kuidas avada kommentaare ja mitte sattuda spÀmmisuppi

LĂ”pliku lahenduse kohta on veel vara rÀÀkida. Katsetame endiselt lĂ€hteviise selle probleemiga, kuid nĂ€eme juba, et lihtne mitme kihi sĂŒmbolipĂ”hine konvolutsioonivĂ”rk ĂŒletab oluliselt sĂ”nastikke ja regulaaravaldiseid: suurem on nii tĂ€psus kui ka tĂ€ielikkus.

Muidugi mĂ”istame, et alati leidub viise, kuidas ringitada isegi kĂ”ige arenenumat automaatikat, eriti kui asi on nii sĂ”ltuv: kirjutada nii, et rumal masin ei saaks aru. Siin, nagu ka rĂ€mpsposti korraldamisel, ei ole meie eesmĂ€rk lĂ”petada vĂ”imalus kirjutada midagi roppust, meie ĂŒlesanne on teha nii, et mĂ€ng ei tasu vaeva.

Arusaamade jagamine, suhtlemine ja kommenteerimine on lihtne. Kaugemal on keerulisem saavutada turvalisi, mugavaid tingimusi ja austavat suhtumist inimestesse. Ilma selleta ei toimu ĂŒhtegi kogukonna arengut.

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