Hoe kinne jo opmerkings iepenje en net ferdronken wurde yn spam

Hoe kinne jo opmerkings iepenje en net ferdronken wurde yn spam

As jo ​​wurk is om wat moais te meitsjen, hoege jo der net te folle oer te praten, want it resultaat is foar elkenien foar eagen. Mar as jo ynskripsjes fan hekken wiskje, sil gjinien jo wurk fernimme, salang't de hekken der fatsoenlik útsjen of oant jo wat ferkeard wiskje.

Elke tsjinst wêr't jo ier of letter in reaksje efterlitte kinne, beoardielje, in berjocht ferstjoere of foto's uploade, stiet foar it probleem fan spam, fraude en obsceniteit. Dit kin net foarkommen wurde, mar it moat behannele wurde.

Myn namme is Mikhail, ik wurkje oan it Antispam-team, dat brûkers fan Yandex-tsjinsten beskermet tsjin sokke problemen. Us wurk wurdt komselden opmurken (en dat is mar goed!), dus hjoed sil ik der mear oer fertelle. Jo sille leare wannear moderaasje nutteloos is en wêrom krektens net de ienige yndikator is fan 'e effektiviteit. Wy sille ek prate oer swarjen mei it foarbyld fan katten en hûnen en wêrom it soms nuttich is om "tinke as in swar."

Hieltyd mear tsjinsten ferskine yn Yandex wêr't brûkers har ynhâld publisearje. Jo kinne in fraach stelle of in antwurd skriuwe yn Yandex.Q, besprekke yardnijs yn Yandex.District, ferkearsomstannichheden diele yn petearen op Yandex.Maps. Mar as it publyk fan 'e tsjinst groeit, wurdt it oantreklik foar oplichters en spammers. Se komme en folje opmerkingen yn: se biede maklik jild, advertearje wûnderkuren en tasizze sosjale foardielen. Fanwege spammers ferlieze guon brûkers jild, wylst oaren de winsk ferlieze om tiid te besteegjen oan in ûnferjitlike tsjinst dy't oergroeid is mei spam.

En dit is net it ienige probleem. Wy stribje net allinich om brûkers te beskermjen tsjin oplichters, mar ek om in noflike sfear te meitsjen foar kommunikaasje. As minsken yn 'e opmerkingen konfrontearre wurde mei skelen en beledigingen, sille se wierskynlik fuortgean en nea weromkomme. Dat betsjut dat jo hjir ek mei omgean moatte.

Clean Web

Lykas by ús faak it gefal is, binne de earste ûntjouwings berne yn Search, yn it diel dat spam bestridt yn sykresultaten. Sa'n tsien jier lyn ferskynde dêr de taak om ynhâld foar folwoeksenen te filterjen foar famyljesykjen en foar fragen dy't gjin antwurden nedich wiene út 'e kategory 18+. Dit is hoe't de earste mei de hân typte wurdboeken fan porno en swarren ferskynden, se waarden oanfolle troch analysten. De wichtichste taak wie om oanfragen te klassifisearjen yn dyjingen wêr't it akseptabel is om folwoeksen ynhâld te sjen en wêr't it net is. Foar dizze taak waard markearring sammele, heuristyk waarden boud, en modellen waarden oplaat. Dit is hoe't de earste ûntjouwings foar it filterjen fan net winske ynhâld ferskynden.

Nei ferrin fan tiid, UGC (brûker generearre ynhâld) begûn te ferskinen yn Yandex - berjochten dy't skreaun troch brûkers sels, en Yandex allinnich publisearret. Om de hjirboppe beskreaune redenen koene in protte berjochten net publisearre wurde sûnder te sjen - moderaasje wie fereaske. Doe besleaten se in tsjinst te meitsjen dy't beskerming soe leverje tsjin spam en oanfallers foar alle Yandex UGC-produkten en ûntwikkelingen brûke om net-winske ynhâld yn Search te filterjen. De tsjinst waard neamd "Clean Web".

Nije taken en help fan pushers

Yn 't earstoan wurke allinich ienfâldige automatisearring foar ús: de tsjinsten stjoerde ús teksten, en wy rûnen dêr obsceniteitswurdboeken, pornowurdboeken en reguliere útdrukkingen op - analysten hawwe alles manuell gearstald. Mar yn 'e rin fan' e tiid waard de tsjinst brûkt yn in tanimmend oantal Yandex-produkten, en wy moasten leare om te wurkjen mei nije problemen.

Faak, ynstee fan in resinsje, brûkers publisearje in sinleaze set fan brieven, besykje te fergrutsjen harren prestaasjes, soms advertearje se harren bedriuw yn resinsjes fan in konkurrint bedriuw, en soms se gewoan betize organisaasjes en skriuwe yn in resinsje oer in pet winkel: " Perfekt gekookte fisk! ” Miskien sil keunstmjittige yntelliginsje ienris leare om de betsjutting fan elke tekst perfekt te begripen, mar no giet automatisearring soms slimmer om as minsken.

It waard dúdlik dat wy dit net koenen dwaan sûnder hânmarkearring, en wy hawwe in twadde etappe tafoege oan ús sirkwy - it stjoere foar manuele ynspeksje troch in persoan. Dy publisearre teksten dêr't de klassifisator gjin problemen foar seach, waarden dêr opnommen. Jo kinne maklik yntinke de skaal fan sa'n taak, dus wy fertrouden net allinnich op beoardielers, mar ek profitearre fan de "wiisheid fan 'e mannichte", dat is, wy kearden ta de tolokers foar help. It binne dejingen dy't ús helpe te identifisearjen wat de masine miste, en dêrmei leare.

Smart caching en LSH-hashing

In oar probleem dat wy tsjinkamen by it wurkjen mei opmerkings wie spam, of krekter, syn folume en snelheid fan fersprieding. Doe't it Yandex.Region-publyk rap begon te groeien, kamen der spammers. Se learden reguliere útdrukkingen om te gean troch de tekst wat te feroarjen. Spam, fansels, waard noch fûn en wiske, mar op 'e skaal fan Yandex koe in ûnakseptabel berjocht pleatst sels foar 5 minuten wurde sjoen troch hûnderten minsken.

Hoe kinne jo opmerkings iepenje en net ferdronken wurde yn spam

Fansels past dit ús net, en wy makken tûke tekstcaching basearre op LSH (lokaasje-gefoelige hashing). It wurket sa: wy hawwe de tekst normalisearre, keppelings derút fuorthelle en yn n-grammen snijden (sekwinsjes fan n letters). Dêrnei waarden de hashes fan n-grammen berekkene, en de LSH-fektor fan it dokumint waard fan har boud. It punt is dat ferlykbere teksten, sels as se wat feroare binne, feroare yn ferlykbere vectoren.

Dizze oplossing makke it mooglik om de oardielen fan klassifikaasjes en tolokers opnij te brûken foar ferlykbere teksten. Tidens in spam-oanfal, sa gau as it earste berjocht de scan trochgie en yn 'e cache kaam mei in "spam" oardiel, krigen alle nije ferlykbere berjochten, sels wizige, itselde oardiel en waarden automatysk wiske. Letter hawwe wy leard hoe't jo spam-klassifikaasjers opliede en automatysk opnij traine, mar dizze "smart cache" bleau by ús en helpt ús noch altyd.

Goede tekstklassifikaasje

Sûnder tiid te hawwen om in skoft te nimmen fan it bestriden fan spam, realisearre wy dat 95% fan ús ynhâld mei de hân wurdt moderearre: klassifikaasjes reagearje allinich op oertredings, en de measte teksten binne goed. Wy laden skjinmakkers dy't yn 95 fan de 100 gefallen de wurdearring "Alles is OK" jouwe. Ik moast in ûngewoane baan dwaan - klassifisearrings meitsje fan goede ynhâld, gelokkich hie der yn dizze tiid genôch markup sammele.

De earste klassifisearring seach der sa út: wy lemmatisearje de tekst (ferlytsje de wurden nei har oarspronklike foarm), smyt alle auxiliary dielen fan spraak út en brûke in foarôfmakke "wurdboek fan goede lemma's". As alle wurden yn 'e tekst "goed" binne, dan befettet de hiele tekst gjin oertredings. Op ferskate tsjinsten joech dizze oanpak fuortendaliks fan 25 oant 35% automatisearring fan hânmjittich markearring. Fansels is dizze oanpak net ideaal: it is maklik om ferskate ûnskuldige wurden te kombinearjen en in heul offensive ferklearring te krijen, mar it liet ús fluch in goed nivo fan automatisearring berikke en joech ús tiid om kompleksere modellen te trenen.

De folgjende ferzjes fan goede tekstklassifisearrings omfette al lineêre modellen, beslútbeammen en har kombinaasjes. Om rudeness en beledigingen te markearjen, bygelyks, besykje wy it BERT neurale netwurk. It is wichtich om te begripen de betsjutting fan in wurd yn kontekst en de ferbining tusken wurden út ferskillende sinnen, en BERT docht in goede wurk fan dit. (Trouwens, koartlyn kollega's fan Nijs fertelde, Hoe technology wurdt brûkt foar in net-standert taak - flaters fine yn kopteksten.) As gefolch wie it mooglik om te automatisearjen oant 90% fan 'e stream, ôfhinklik fan' e tsjinst.

Accuracy, folsleinens en snelheid

Om te ûntwikkeljen, moatte jo begripe hokker foardielen bepaalde automatyske klassifisearrings bringe, feroaringen yn har, en oft de kwaliteit fan hânmjittige kontrôles degradearjend is. Om dit te dwaan, brûke wy presys- en ûnthâldmetriken.

Krektens is it oanpart fan juste oardielen ûnder alle oardielen oer minne ynhâld. Hoe heger de krektens, hoe minder falske positiven. As jo ​​​​gjin omtinken jouwe oan krektens, dan kinne jo yn teory alle spam en obsceniteiten wiskje, en tegearre mei har de helte fan 'e goede berjochten. Oan 'e oare kant, as jo allinich fertrouwe op krektens, dan sil de bêste technology dejinge wêze dy't hielendal gjinien fangt. Dêrom is d'r ek in yndikator fan folsleinens: it oandiel fan identifisearre minne ynhâld ûnder it totale folume fan minne ynhâld. Dizze twa metriken balansearje inoar.

Om te mjitten, probearje wy de heule ynkommende stream foar elke tsjinst en jouwe ynhâldmonsters oan beoardielers foar saakkundige evaluaasje en fergeliking mei masineoplossingen.

Mar d'r is in oare wichtige yndikator.

Ik skreau hjirboppe dat in ûnakseptabel berjocht kin wurde sjoen troch hûnderten minsken sels yn 5 minuten. Dat wy telle hoefolle kearen wy minsken minne ynhâld sjen litte foardat wy it ferburgen. Dit is wichtich om't it net genôch is om effisjint te wurkjen - jo moatte ek fluch wurkje. En doe't wy bouden in ferdigening tsjin swarren, wy fielde it ta it meast fol.

Antimatisme mei it foarbyld fan katten en hûnen

In lytse lyryske digresje. Guon kinne sizze dat obsceniteit en beledigingen net sa gefaarlik binne as kweade keppelings, en net sa ferfelend as spam. Mar wy stribje dernei om noflike betingsten foar kommunikaasje te behâlden foar miljoenen brûkers, en minsken wolle net graach weromkomme nei plakken wêr't se beledige wurde. It is net foar neat dat it ferbod op skelen en beledigingen yn de regels fan in protte mienskippen, ek op Habré, fêstlein is. Mar wy ferdwine.

Swearing wurdboeken kinne net omgean mei alle rykdom fan 'e Russyske taal. Nettsjinsteande it feit dat d'r mar fjouwer haadwurden binne, kinne jo fan har in ûntelbere oantal wurden opmeitsje dy't net troch gewoane motoren kinne wurde fongen. Dêrnjonken kinne jo in diel fan in wurd yn transliteraasje skriuwe, letters ferfange troch ferlykbere kombinaasjes, letters opnij pleatse, asterisken tafoegje, ensfh. Soms is it sûnder kontekst yn prinsipe ûnmooglik om te bepalen dat de brûker in skelwurd bedoelde. Wy respektearje de regels fan Habr, dus wy sille dit net mei live foarbylden sjen litte, mar mei katten en hûnen.

Hoe kinne jo opmerkings iepenje en net ferdronken wurde yn spam

"Wet," sei de kat. Mar wy begripe dat de kat in oar wurd sei...

Wy begûnen te tinken oer "fuzzy matching"-algoritmen foar ús wurdboek en oer tûkere foarferwurking: wy levere transliteraasje, plakten spaasjes en ynterpunksje oaninoar, sochten nei patroanen en skreaunen dêr aparte reguliere útdrukkingen op. Dizze oanpak brocht resultaten, mar faak fermindere de krektens en levere net de winske folsleinens.

Doe besleaten wy "tinke as swarren." Wy begûnen sels lûd yn 'e gegevens yn te fieren: wy hawwe letters opnij pleatst, typfouten makke, letters ferfongen troch ferlykbere staveringen, ensfh. De earste opmaak dêrfoar waard nommen troch it tapassen fan matwurdboeken op grutte korpora teksten. As jo ​​​​ien sin nimme en it op ferskate manieren draaie, komme jo út op in protte sinnen. Op dizze manier kinne jo de training sample tsientallen kearen ferheegje. Alles wat oerbleau wie om te trainen op it resulterende swimbad wat min of mear tûk model dat rekken holden mei de kontekst.

Hoe kinne jo opmerkings iepenje en net ferdronken wurde yn spam

It is te betiid om te praten oer it definitive beslút. Wy eksperimintearje noch mei oanpak fan dit probleem, mar wy kinne al sjen dat in ienfâldich symboalysk konvolúsjoneel netwurk fan ferskate lagen signifikant better presteart as wurdboeken en reguliere motoren: it is mooglik om sawol de krektens as it weromlûken te fergrutsjen.

Fansels begripe wy dat d'r altyd manieren sille wêze om sels de meast avansearre automatisearring te omgean, benammen as de saak sa gefaarlik is: skriuw op sa'n manier dat in domme masine it net begrypt. Hjir, lykas yn 'e striid tsjin spam, is ús doel net de mooglikheid om wat obsceen te skriuwen út te roegjen; ús taak is om derfoar te soargjen dat it spultsje de kears net wurdich is.

De kâns iepenje om jo miening te dielen, te kommunisearjen en te kommentearjen is net dreech. It is folle dreger om feilige, noflike omstannichheden en respektfol behanneling fan minsken te berikken. En sûnder dit sil d'r gjin ûntwikkeling wêze fan elke mienskip.

Boarne: www.habr.com

Add a comment