Hoe om kommentaar oop te maak en nie in strooipos te verdrink nie

Hoe om kommentaar oop te maak en nie in strooipos te verdrink nie

Wanneer jou werk is om iets moois te skep, hoef jy nie te veel daaroor te praat nie, want die resultaat is voor almal se oë. Maar as jy inskripsies van heinings uitvee, sal niemand jou werk raaksien solank die heinings ordentlik lyk of totdat jy iets verkeerd uitvee nie.

Enige diens waar jy vroeër of later 'n opmerking kan maak, hersien, 'n boodskap kan stuur of foto's kan oplaai, staar die probleem van strooipos, bedrog en obseniteit in die gesig. Dit kan nie vermy word nie, maar dit moet hanteer word.

My naam is Mikhail, ek werk op die Antispam-span, wat gebruikers van Yandex-dienste teen sulke probleme beskerm. Ons werk word min raakgesien (en dit is 'n goeie ding!), so vandag vertel ek jou meer daaroor. Jy sal leer wanneer moderering nutteloos is en hoekom akkuraatheid nie die enigste aanduiding van die doeltreffendheid daarvan is nie. Ons sal ook praat oor vloek deur die voorbeeld van katte en honde te gebruik en hoekom dit soms nuttig is om "soos 'n vloeker te dink."

Meer en meer dienste verskyn in Yandex waar gebruikers hul inhoud publiseer. Jy kan 'n vraag vra of 'n antwoord in Yandex.Q skryf, werfnuus in Yandex.District bespreek, verkeerstoestande in gesprekke op Yandex.Maps deel. Maar wanneer die diens se gehoor groei, word dit aantreklik vir swendelaars en spammers. Hulle kom en vul opmerkings in: hulle bied maklike geld aan, adverteer wondermiddels en beloof maatskaplike voordele. As gevolg van spammers verloor sommige gebruikers geld, terwyl ander die begeerte verloor om tyd te spandeer op 'n onversorgde diens wat oorgroei is met strooipos.

En dit is nie die enigste probleem nie. Ons streef daarna om nie net gebruikers teen swendelaars te beskerm nie, maar ook om 'n gemaklike atmosfeer vir kommunikasie te skep. As mense gekonfronteer word met vloek en beledigings in die kommentaar, sal hulle waarskynlik vertrek en nooit terugkeer nie. Dit beteken dat jy dit ook moet kan hanteer.

Skoon Web

Soos dikwels by ons die geval is, is die eerste ontwikkelings in Search gebore, in die deel wat strooipos in soekresultate beveg. Sowat tien jaar gelede het die taak om volwasse inhoud te filtreer vir gesinsoektogte en vir navrae wat nie antwoorde uit die 18+-kategorie vereis het nie, daar verskyn. Dit is hoe die eerste handgetikte woordeboeke van pornografie en vloek verskyn het, hulle is deur ontleders aangevul. Die hooftaak was om versoeke te klassifiseer in dié waar dit aanvaarbaar is om volwasse inhoud te wys en waar dit nie is nie. Vir hierdie taak is opmaak ingesamel, heuristieke is gebou en modelle is opgelei. Dit is hoe die eerste ontwikkelings vir die filter van ongewenste inhoud verskyn het.

Met verloop van tyd het UGC (gebruikergegenereerde inhoud) in Yandex begin verskyn - boodskappe wat deur gebruikers self geskryf is, en Yandex publiseer slegs. Om die redes wat hierbo beskryf is, kon baie boodskappe nie gepubliseer word sonder om te kyk nie - moderering was nodig. Toe het hulle besluit om 'n diens te skep wat beskerming teen strooipos en aanvallers vir alle Yandex UGC-produkte sal bied en ontwikkelings gebruik om ongewenste inhoud in Search te filtreer. Die diens is genoem "Skoon Web".

Nuwe take en hulp van drukkers

Aanvanklik het net eenvoudige outomatisering vir ons gewerk: die dienste het vir ons tekste gestuur, en ons het obseniteitswoordeboeke, pornografiese woordeboeke en gereelde uitdrukkings daarop laat loop - ontleders het alles met die hand saamgestel. Maar met verloop van tyd is die diens in 'n toenemende aantal Yandex-produkte gebruik, en ons moes leer om met nuwe probleme te werk.

Dikwels, in plaas van 'n resensie, publiseer gebruikers 'n betekenislose stel briewe en probeer om hul prestasies te verhoog, soms adverteer hulle hul maatskappy in resensies van 'n mededinger se maatskappy, en soms verwar hulle bloot organisasies en skryf in 'n resensie oor 'n troeteldierwinkel: " Perfek gaar vis!” Miskien sal kunsmatige intelligensie eendag leer om die betekenis van enige teks perfek te begryp, maar nou hanteer outomatisering soms slegter as mense.

Dit het duidelik geword dat ons dit nie sonder handmerk kan doen nie, en ons het 'n tweede fase by ons stroombaan gevoeg—dit stuur vir handmatige inspeksie deur 'n persoon. Daardie gepubliseerde tekste waarvoor die klassifiseerder geen probleme gesien het nie, is daar ingesluit. U kan u maklik die omvang van so 'n taak voorstel, so ons het nie net op assessore staatgemaak nie, maar ook gebruik gemaak van die "wysheid van die skare", dit wil sê, ons het na die tolokers om hulp gewend. Dit is hulle wat ons help om te identifiseer wat die masjien gemis het, en dit daardeur leer.

Slim kas en LSH hashing

Nog 'n probleem wat ons teëgekom het toe ons met opmerkings gewerk het, was strooipos, of meer presies, die volume en spoed van verspreiding daarvan. Toe die Yandex.Region-gehoor vinnig begin groei het, het spammers daarheen gekom. Hulle het geleer om gereelde uitdrukkings te omseil deur die teks effens te verander. Strooipos is natuurlik steeds gevind en uitgevee, maar op die skaal van Yandex kon honderde mense 'n onaanvaarbare boodskap wat selfs vir 5 minute geplaas is, gesien word.

Hoe om kommentaar oop te maak en nie in strooipos te verdrink nie

Dit het ons natuurlik nie gepas nie, en ons het slim tekskas gebaseer op LSH (liggingsensitiewe hashing). Dit werk so: ons het die teks genormaliseer, skakels daaruit verwyder en dit in n-gram (sekwensies van n letters) gesny. Vervolgens is die hashes van n-gram bereken, en die LSH-vektor van die dokument is daaruit gebou. Die punt is dat soortgelyke tekste, al is hulle effens verander, in soortgelyke vektore verander het.

Hierdie oplossing het dit moontlik gemaak om die uitsprake van klassifiseerders en tolokers vir soortgelyke tekste te hergebruik. Tydens 'n strooiposaanval, sodra die eerste boodskap die skandering geslaag het en die kas binnegegaan het met 'n "spam"-uitspraak, het alle nuwe soortgelyke boodskappe, selfs gewysigde, dieselfde uitspraak ontvang en is outomaties uitgevee. Later het ons geleer hoe om strooiposklassifiseerders op te lei en outomaties weer op te lei, maar hierdie "slim kas" het ons bygebly en help ons nog steeds.

Goeie teksklassifiseerder

Sonder om tyd te hê om 'n blaaskans te neem van die bekamping van strooipos, het ons besef dat 95% van ons inhoud met die hand gemodereer word: klassifiseerders reageer net op oortredings, en die meeste van die tekste is goed. Ons laai skoonmakers wat in 95 gevalle uit 100 die gradering “Alles is OK” gee. Ek moes 'n ongewone werk doen - klassifiseerders van goeie inhoud maak, gelukkig het genoeg opmaak gedurende hierdie tyd opgehoop.

Die eerste klassifiseerder het so gelyk: ons lemmatiseer die teks (verminder die woorde tot hul aanvanklike vorm), gooi al die hulpspraakdele uit en gebruik 'n vooraf opgestelde "woordeboek van goeie lemmas". As al die woorde in die teks "goed" is, dan bevat die hele teks geen oortredings nie. Op verskillende dienste het hierdie benadering onmiddellik van 25 tot 35% outomatisering van handmatige opmaak gegee. Natuurlik is hierdie benadering nie ideaal nie: dit is maklik om verskeie onskuldige woorde te kombineer en 'n baie aanstootlike stelling te kry, maar dit het ons toegelaat om vinnig 'n goeie vlak van outomatisering te bereik en het ons tyd gegee om meer komplekse modelle op te lei.

Die volgende weergawes van goeie teksklassifiseerders het reeds lineêre modelle, besluitbome en hul kombinasies ingesluit. Om byvoorbeeld onbeskofheid en beledigings te merk, probeer ons die BERT neurale netwerk. Dit is belangrik om die betekenis van 'n woord in konteks en die verband tussen woorde uit verskillende sinne te begryp, en BERT doen goeie werk hiermee. (Terloops, onlangs kollegas van News vertel, hoe tegnologie gebruik word vir 'n nie-standaard taak - om foute in kopskrifte te vind.) As gevolg hiervan was dit moontlik om tot 90% van die vloei te outomatiseer, afhangende van die diens.

Akkuraatheid, volledigheid en spoed

Om te ontwikkel, moet jy verstaan ​​watter voordele sekere outomatiese klassifiseerders inhou, veranderinge daarin en of die kwaliteit van handkontroles afbrekend is. Om dit te doen, gebruik ons ​​presisie- en herroepmetrieke.

Akkuraatheid is die verhouding van korrekte uitsprake onder alle uitsprake oor slegte inhoud. Hoe hoër die akkuraatheid, hoe minder vals positiewe. As jy nie aandag gee aan akkuraatheid nie, dan kan jy in teorie alle strooipos en obseniteite uitvee, en saam met hulle die helfte van die goeie boodskappe. Aan die ander kant, as jy net op akkuraatheid staatmaak, dan sal die beste tegnologie die een wees wat glad nie iemand vang nie. Daarom is daar ook 'n aanduiding van volledigheid: die aandeel van geïdentifiseerde slegte inhoud onder die totale volume slegte inhoud. Hierdie twee maatstawwe balanseer mekaar uit.

Om te meet, monster ons die hele inkomende stroom vir elke diens en gee inhoudmonsters aan assessors vir deskundige evaluering en vergelyking met masjienoplossings.

Maar daar is nog 'n belangrike aanwyser.

Ek het hierbo geskryf dat 'n onaanvaarbare boodskap deur honderde mense selfs binne 5 minute gesien kan word. Ons tel dus hoeveel keer ons slegte inhoud aan mense gewys het voordat ons dit weggesteek het. Dit is belangrik omdat dit nie genoeg is om doeltreffend te werk nie – jy moet ook vinnig werk. En toe ons 'n verdediging teen vloek gebou het, het ons dit ten volle gevoel.

Antimatisme deur die voorbeeld van katte en honde te gebruik

'n Klein liriese afwyking. Sommige sal dalk sê dat obseniteit en beledigings nie so gevaarlik soos kwaadwillige skakels is nie, en nie so irriterend soos strooipos nie. Maar ons streef daarna om gemaklike toestande vir kommunikasie vir miljoene gebruikers te handhaaf, en mense hou nie daarvan om terug te keer na plekke waar hulle beledig word nie. Dit is nie verniet dat die verbod op vloek en beledigings in die reëls van baie gemeenskappe uitgespel word nie, ook op Habré. Maar ons dwaal af.

Vloekende woordeboeke kan nie al die rykdom van die Russiese taal hanteer nie. Ten spyte van die feit dat daar net vier hoofvloekwortels is, kan jy daaruit 'n ontelbare aantal woorde opmaak wat nie deur enige gewone enjins gevang kan word nie. Daarbenewens kan jy 'n deel van 'n woord in transliterasie skryf, letters vervang met soortgelyke kombinasies, letters herrangskik, sterretjies byvoeg, ens. Soms, sonder konteks, is dit basies onmoontlik om te bepaal dat die gebruiker 'n vloekwoord bedoel het. Ons respekteer Habr se reëls, so ons sal dit nie met lewendige voorbeelde demonstreer nie, maar met katte en honde.

Hoe om kommentaar oop te maak en nie in strooipos te verdrink nie

"Wet," sê die kat. Maar ons verstaan ​​dat die kat 'n ander woord gesê het ...

Ons het begin dink aan "fuzzy matching"-algoritmes vir ons woordeboek en oor slimmer voorverwerking: ons het transliterasie verskaf, spasies en leestekens aanmekaar geplak, patrone gesoek en aparte gereelde uitdrukkings daarop geskryf. Hierdie benadering het resultate gebring, maar het dikwels akkuraatheid verminder en nie die verlangde volledigheid verskaf nie.

Toe besluit ons om "soos vloekers te dink." Ons het self geraas in die data begin inbring: ons het letters herrangskik, tikfoute gegenereer, letters met soortgelyke spellings vervang, ensovoorts. Die aanvanklike opmaak hiervoor is geneem deur matwoordeboeke op groot korpusse tekste toe te pas. As jy een sin neem en dit op verskeie maniere verdraai, eindig jy met baie sinne. Op hierdie manier kan jy die opleiding monster tiene van kere verhoog. Al wat oorgebly het, was om op die resulterende swembad te oefen, een of ander min of meer slim model wat die konteks in ag geneem het.

Hoe om kommentaar oop te maak en nie in strooipos te verdrink nie

Dit is te vroeg om oor die finale besluit te praat. Ons eksperimenteer steeds met benaderings tot hierdie probleem, maar ons kan reeds sien dat 'n eenvoudige simboliese konvolusienetwerk van verskeie lae beduidend beter presteer as woordeboeke en gewone enjins: dit is moontlik om beide akkuraatheid en herroeping te verhoog.

Natuurlik verstaan ​​ons dat daar altyd maniere sal wees om selfs die mees gevorderde outomatisering te omseil, veral wanneer die saak so gevaarlik is: skryf op so 'n manier dat 'n dom masjien nie sal verstaan ​​nie. Hier, soos in die stryd teen strooipos, is ons doel nie om die moontlikheid uit te roei om iets onwelvoegliks te skryf nie; ons taak is om seker te maak dat die speletjie nie die kers werd is nie.

Dit is nie moeilik om die geleentheid oop te maak om jou mening te deel, te kommunikeer en kommentaar te lewer nie. Dit is baie moeiliker om veilige, gemaklike omstandighede en respekvolle behandeling van mense te bereik. En daarsonder sal daar geen ontwikkeling van enige gemeenskap wees nie.

Bron: will.com

Voeg 'n opmerking