{"id":72898,"date":"2020-03-05T20:42:08","date_gmt":"2020-03-05T17:42:08","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kak-otkryt-kommentarii-i-ne-potonut-v-spame"},"modified":"2020-03-05T20:42:08","modified_gmt":"2020-03-05T17:42:08","slug":"kak-otkryt-kommentarii-i-ne-potonut-v-spame","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kak-otkryt-kommentarii-i-ne-potonut-v-spame","title":{"rendered":"Jak otev\u0159\u00edt koment\u00e1\u0159e a nenechat se utopit v spamu","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Jak otev\u0159\u00edt koment\u00e1\u0159e a nenechat se utopit v spamu\" src=\"\/wp-content\/uploads\/2020\/03\/46627a51e5d6ab7f27495d51b1f93252.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKdy\u017e je tvou prac\u00ed vytv\u00e1\u0159et n\u011bco kr\u00e1sn\u00e9ho, nemus\u00ed\u0161 o tom p\u0159\u00edli\u0161 mluvit, proto\u017ee v\u00fdsledek je vid\u011bt pro v\u0161echny. Ale pokud odstra\u0148uje\u0161 n\u00e1pisy z plot\u016f, nikdo si tv\u00e9 pr\u00e1ce nev\u0161imne, dokud ploty nevypadaj\u00ed slu\u0161n\u011b nebo dokud nesma\u017ee\u0161 n\u011bco nevhodn\u00e9ho.<\/p>\n<p>Jak\u00fdkoli slu\u017eba, kde lze zanechat koment\u00e1\u0159, recenzi, poslat zpr\u00e1vu nebo nahr\u00e1t obr\u00e1zky, se d\u0159\u00edve \u010di pozd\u011bji setk\u00e1 s probl\u00e9mem spamu, podvod\u016f a vulg\u00e1rn\u00edch v\u00fdraz\u016f. Tomu se nelze vyhnout, ale je t\u0159eba s t\u00edm bojovat. <\/p>\n<p>Jmenuji se Michail, pracuji v t\u00fdmu Anti-spam, kter\u00fd chr\u00e1n\u00ed u\u017eivatele slu\u017eeb Yandexu p\u0159ed podobn\u00fdmi probl\u00e9my. Na\u0161e pr\u00e1ce je z\u0159\u00eddka vid\u011bt (a to je dob\u0159e!), proto v\u00e1m dnes o n\u00ed pov\u00edm v\u00edce. Zjist\u00edte, v jak\u00fdch p\u0159\u00edpadech je moderov\u00e1n\u00ed k ni\u010demu a pro\u010d p\u0159esnost nen\u00ed jedin\u00fdm ukazatelem jeho \u00fa\u010dinnosti. Tak\u00e9 si promluv\u00edme o vulgarit\u011b na p\u0159\u00edkladu ko\u010dek a ps\u016f a o tom, pro\u010d je n\u011bkdy u\u017eite\u010dn\u00e9 \"myslet jako vulg\u00e1rn\u00ed \u010dlov\u011bk\". <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nNa Yandexu vznik\u00e1 st\u00e1le v\u00edce slu\u017eeb, kde u\u017eivatel\u00e9 publikuj\u00ed sv\u016fj obsah. M\u016f\u017eete polo\u017eit ot\u00e1zku nebo napsat odpov\u011b\u010f na Yandex.Q, diskutovat o zpr\u00e1v\u00e1ch ve va\u0161em okol\u00ed na Yandex.Rajonu nebo sd\u00edlet dopravn\u00ed situaci v rozhovorech na Yandex.Map\u00e1ch. Ale s r\u016fstem publika se slu\u017eba st\u00e1v\u00e1 atraktivn\u00ed pro podvodn\u00edky a spammery. Ti p\u0159ich\u00e1zej\u00ed a zapl\u0148uj\u00ed koment\u00e1\u0159e: nab\u00edzej\u00ed snadn\u00e9 v\u00fdd\u011blky, propaguj\u00ed z\u00e1zra\u010dn\u00e9 prost\u0159edky a slibuj\u00ed soci\u00e1ln\u00ed d\u00e1vky. Kv\u016fli spammer\u016fm jedni u\u017eivatel\u00e9 p\u0159ich\u00e1zej\u00ed o pen\u00edze a jin\u00ed ztr\u00e1c\u00ed chu\u0165 tr\u00e1vit \u010das na zanedban\u00e9, spamem zarostl\u00e9 slu\u017eb\u011b.<\/p>\n<p>A to nen\u00ed jedin\u00fd probl\u00e9m. Sna\u017e\u00edme se nejen chr\u00e1nit u\u017eivatele p\u0159ed podvodn\u00edky, ale tak\u00e9 vytvo\u0159it pohodlnou atmosf\u00e9ru pro komunikaci. Pokud se lid\u00e9 v koment\u00e1\u0159\u00edch setk\u00e1vaj\u00ed s vulgaritami a ur\u00e1\u017ekami, s velkou pravd\u011bpodobnost\u00ed odejdou a u\u017e se nevr\u00e1t\u00ed. To znamen\u00e1, \u017ee s t\u00edmto probl\u00e9mem je tak\u00e9 t\u0159eba um\u011bt bojovat. <\/p>\n<h3>\u010cist\u00fd web<\/h3>\n<p>\nJak to u n\u00e1s \u010dasto b\u00fdv\u00e1, prvn\u00ed n\u00e1vrhy vznikly v Hled\u00e1n\u00ed, v \u010d\u00e1sti, kter\u00e1 bojuje se spamem ve v\u00fdsledc\u00edch. Je\u0161t\u011b p\u0159ed deseti lety se objevila pot\u0159eba filtrov\u00e1n\u00ed obsahu pro dosp\u011bl\u00e9 pro rodinn\u00e9 vyhled\u00e1v\u00e1n\u00ed a pro dotazy, kter\u00e9 nevy\u017eaduj\u00ed odpov\u011bdi z kategorie 18+. Tak se objevily prvn\u00ed, ru\u010dn\u011b sestaven\u00e9 slovn\u00edky porna a vulgarit, kter\u00e9 analytici dopl\u0148ovali. Hlavn\u00edm \u00fakolem byla klasifikace dotaz\u016f na ty, kde je p\u0159\u00edpustn\u00e9 zobrazovat obsah pro dosp\u011bl\u00e9, a kde ne. Na z\u00e1klad\u011b toho se shroma\u017e\u010fovaly anotace, vytv\u00e1\u0159ely se heuristiky, tr\u00e9novaly se modely. Tak vznikly prvn\u00ed n\u00e1vrhy pro filtrov\u00e1n\u00ed ne\u017e\u00e1douc\u00edho obsahu.<\/p>\n<p>Postupem \u010dasu se v Yandexu za\u010dal objevovat UGC (u\u017eivatelsk\u00fd generovan\u00fd obsah) \u2014 zpr\u00e1vy, kter\u00e9 p\u00ed\u0161\u00ed sami u\u017eivatel\u00e9, a Yandex je pouze zve\u0159ej\u0148uje. Z v\u00fd\u0161e uveden\u00fdch d\u016fvod\u016f mnoh\u00e9 zpr\u00e1vy nebylo mo\u017en\u00e9 publikovat bez p\u0159edchoz\u00edho zhodnocen\u00ed \u2014 vy\u017eadovala se moderace. Tehdy se rozhodlo vytvo\u0159it slu\u017ebu, kter\u00e1 by nab\u00edzela ochranu proti spamu a \u00fato\u010dn\u00edk\u016fm pro v\u0161echny UGC produkty Yandexu a vyu\u017e\u00edvala by ji\u017e vyvinut\u00e9 n\u00e1vrhy pro filtrov\u00e1n\u00ed ne\u017e\u00e1douc\u00edho obsahu ve vyhled\u00e1v\u00e1n\u00ed. Slu\u017eba byla pojmenov\u00e1na \u201e\u010cist\u00fd Web\u201c. <\/p>\n<h3>Nov\u00e9 \u00fakoly a pomoc tolka\u0159\u016f<\/h3>\n<p>\nZpo\u010d\u00e1tku u n\u00e1s fungovala pouze jednoduch\u00e1 automatizace: slu\u017eby n\u00e1m pos\u00edlaly texty a my jsme na n\u011b aplikovali slovn\u00edky vulgarit, slovn\u00edky porna a regul\u00e1rn\u00ed v\u00fdrazy \u2014 analytici v\u0161echno sestavovali ru\u010dn\u011b. Ale slu\u017eba se postupem \u010dasu vyu\u017e\u00edvala ve st\u00e1le v\u011bt\u0161\u00edm po\u010dtu produkt\u016f Yandexu a my jsme se museli nau\u010dit pracovat s nov\u00fdmi probl\u00e9my. <\/p>\n<p>\u010casto m\u00edsto recenze u\u017eivatel\u00e9 publikuj\u00ed bezv\u00fdznamnou zm\u011b\u0165 p\u00edsmen, sna\u017e\u00ed se tak z\u00edskat ocen\u011bn\u00ed, n\u011bkdy propaguj\u00ed svou spole\u010dnost v recenz\u00edch konkurent\u016f a jindy prost\u011b pletou organizace a v recenzi o zverimexu nap\u00ed\u0161ou: \u201eV\u00fdborn\u011b p\u0159ipraven\u00e1 ryba!\u201c. Mo\u017en\u00e1, \u017ee jednoho dne se um\u011bl\u00e1 inteligence nau\u010d\u00ed dokonale zachytit smysl jak\u00e9hokoli textu, ale nyn\u00ed automatika ob\u010das selh\u00e1v\u00e1 h\u016f\u0159e ne\u017e \u010dlov\u011bk. <\/p>\n<p>Zjistilo se, \u017ee bez ru\u010dn\u00edho ozna\u010dov\u00e1n\u00ed se neobejdeme, a tak jsme k na\u0161emu syst\u00e9mu p\u0159idali druhou \u00farove\u0148 \u2013 odes\u00edl\u00e1n\u00ed k manu\u00e1ln\u00ed kontrole \u010dlov\u011bka. Sem se dost\u00e1valy ty publikovan\u00e9 texty, u kter\u00fdch klasifik\u00e1tor neodhalil \u017e\u00e1dn\u00e9 probl\u00e9my. Rozsah tohoto \u00fakolu si snadno p\u0159edstav\u00edte, a tak jsme se nejen spolehli na hodnotitele, ale tak\u00e9 vyu\u017eili \u201emoudrost davu\u201c, tedy jsme se obr\u00e1tili o pomoc k pracovn\u00edk\u016fm na d\u00e1lku. Pr\u00e1v\u011b oni n\u00e1m pom\u00e1haj\u00ed odhalit to, co stroj p\u0159ehl\u00e9dl, a t\u00edmto zp\u016fsobem ho tak\u00e9 u\u010d\u00ed. <\/p>\n<h3>Inteligentn\u00ed caching a LSH hashing<\/h3>\n<p>\nDal\u0161\u00edm probl\u00e9mem, s kter\u00fdm jsme se setkali p\u0159i pr\u00e1ci s koment\u00e1\u0159i, je spam, a p\u0159esn\u011bji \u0159e\u010deno, jeho objemy a rychlost \u0161\u00ed\u0159en\u00ed. Kdy\u017e publikum Yandex.Region za\u010dalo rychle r\u016fst, p\u0159il\u00e1kalo to spammery. Ti se nau\u010dili obch\u00e1zet regul\u00e1rn\u00ed v\u00fdrazy t\u00edm, \u017ee m\u00edrn\u011b m\u011bnili text. Spam jsme samoz\u0159ejm\u011b st\u00e1le nach\u00e1zeli a odstra\u0148ovali, ale v m\u011b\u0159\u00edtku Yandexu mohlo b\u00fdt nevhodn\u00e9 ozn\u00e1men\u00ed, i kdyby bylo zve\u0159ejn\u011bno jen na 5 minut, vid\u011bno stovkami lid\u00ed. <\/p>\n<p><img decoding=\"async\" alt=\"Jak otev\u0159\u00edt koment\u00e1\u0159e a nenechat se utopit v spamu\" src=\"\/wp-content\/uploads\/2020\/03\/0cd9d7d50706ad32344dca0e90ff9da9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTo n\u00e1s samoz\u0159ejm\u011b neuspokojovalo, a tak jsme vyvinuli inteligentn\u00ed caching text\u016f na z\u00e1klad\u011b LSH (<noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Locality-sensitive_hashing\">locality-sensitive hashing<\/a><\/noindex>). Funguje to takto: normalizovali jsme text, odstranili odkazy a rozd\u011blili ho na n-gramy (sekvence z n znak\u016f). Pot\u00e9 jsme po\u010d\u00edtali hashe n-gram\u016f, a podle nich jsme pak vytv\u00e1\u0159eli LSH vektor dokumentu. Smysl je v tom, \u017ee podobn\u00e9 texty, i kdy\u017e byly m\u00edrn\u011b pozm\u011bn\u011bny, se m\u011bnily na podobn\u00e9 vektory. <\/p>\n<p>Toto \u0159e\u0161en\u00ed umo\u017enilo znovu pou\u017e\u00edt verdikty klasifik\u00e1tor\u016f a pracovn\u00edk\u016f na d\u00e1lku pro podobn\u00e9 texty. P\u0159i spamov\u00fdch \u00fatoc\u00edch, jakmile prvn\u00ed zpr\u00e1va pro\u0161la kontrolou a dostala se do cache s verdiktem \u201espam\u201c, v\u0161echny nov\u00e9 podobn\u00e9 zpr\u00e1vy, i kdy\u017e byly upraveny, z\u00edskaly stejn\u00fd verdikt a byly automaticky odstran\u011bny. Pozd\u011bji jsme se nau\u010dili vycvi\u010dit a automaticky p\u0159e\u0161kolovat spamov\u00e9 klasifik\u00e1tory, ale tento \u201einteligentn\u00ed cache\u201c s n\u00e1mi z\u016fstal a dodnes n\u00e1m \u010dasto pom\u00e1h\u00e1.<\/p>\n<h3>Klasifik\u00e1tor kvalitn\u00edch text\u016f<\/h3>\n<p>\nNe\u017e jsme si sta\u010dili odpo\u010dinout od boje se spamem, uv\u011bdomili jsme si, \u017ee 95 % obsahu je u n\u00e1s moderov\u00e1no ru\u010dn\u011b: klasifik\u00e1tory reaguj\u00ed pouze na poru\u0161en\u00ed, zat\u00edmco v\u011bt\u0161ina text\u016f je kvalitn\u00ed. Zam\u011bstn\u00e1v\u00e1me pracovn\u00edky, kte\u0159\u00ed v 95 p\u0159\u00edpadech ze 100 ud\u011bluj\u00ed hodnocen\u00ed \u201eV\u0161echno OK\u201c. Bylo nutn\u00e9 se vrhnout na neobvyklou pr\u00e1ci \u2014 vytv\u00e1\u0159et klasifik\u00e1tory kvalitn\u00edho obsahu, na\u0161t\u011bst\u00ed se b\u011bhem t\u00e9to doby nashrom\u00e1\u017edilo dostatek anotac\u00ed.<\/p>\n<p>Prvn\u00ed klasifik\u00e1tor vypadal takto: lemmatizujeme text (p\u0159ev\u00e1d\u00edme slova na jejich z\u00e1kladn\u00ed formu), odstra\u0148ujeme ve\u0161ker\u00e9 pomocn\u00e9 \u010d\u00e1sti \u0159e\u010di a pou\u017e\u00edv\u00e1me p\u0159edem p\u0159ipraven\u00fd \u201eslovn\u00edk dobr\u00fdch lem\u201c. Pokud jsou v textu v\u0161echna slova \u201edobr\u00e1\u201c, znamen\u00e1 to, \u017ee cel\u00fd text neobsahuje poru\u0161en\u00ed. Na r\u016fzn\u00fdch slu\u017eb\u00e1ch tento p\u0159\u00edstup okam\u017eit\u011b p\u0159inesl 25 a\u017e 35 % automatizace ru\u010dn\u00ed anotace. Samoz\u0159ejm\u011b, tento p\u0159\u00edstup nen\u00ed ide\u00e1ln\u00ed: nen\u00ed t\u011b\u017ek\u00e9 zkombinovat n\u011bkolik nevinn\u00fdch slov a vytvo\u0159it velmi ur\u00e1\u017eliv\u00e9 vyj\u00e1d\u0159en\u00ed, ale umo\u017enilo n\u00e1m rychle dos\u00e1hnout dobr\u00e9 \u00farovn\u011b automatizace a dalo n\u00e1m \u010das na \u0161kolen\u00ed slo\u017eit\u011bj\u0161\u00edch model\u016f.<\/p>\n<p>N\u00e1sleduj\u00edc\u00ed verze klasifik\u00e1tor\u016f dobr\u00fdch text\u016f ji\u017e zahrnovaly jak line\u00e1rn\u00ed modely, tak rozhodovac\u00ed stromy a jejich kombinace. Pro ozna\u010dov\u00e1n\u00ed hrubost\u00ed a ur\u00e1\u017eek nap\u0159\u00edklad zkou\u0161\u00edme neuronovou s\u00ed\u0165 BERT. Je d\u016fle\u017eit\u00e9 zachytit v\u00fdznam slova v kontextu a vztah mezi slovy z r\u016fzn\u00fdch v\u011bt, co\u017e BERT dob\u0159e zvl\u00e1d\u00e1. (Mimochodem, ned\u00e1vno kolegov\u00e9 z Novinek <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/yandex\/blog\/479662\/\">psali<\/a><\/noindex>, jak aplikuj\u00ed technologii na netradi\u010dn\u00ed \u00fakol \u2014 hled\u00e1n\u00ed chyb v nadpisech.) V\u00fdsledkem se poda\u0159ilo automatizovat a\u017e 90 % toku v z\u00e1vislosti na slu\u017eb\u011b. <\/p>\n<h3>P\u0159esnost, \u00faplnost a rychlost<\/h3>\n<p>\nAbychom se rozv\u00edjeli, mus\u00edme ch\u00e1pat, jak\u00fd p\u0159\u00ednos maj\u00ed r\u016fzn\u00e9 automatick\u00e9 klasifik\u00e1tory, zm\u011bny v nich, a tak\u00e9 zda nekles\u00e1 kvalita ru\u010dn\u00ed kontroly. K tomu pou\u017e\u00edv\u00e1me ukazatele p\u0159esnosti a \u00faplnosti. <\/p>\n<p>P\u0159esnost je pod\u00edl spr\u00e1vn\u00fdch verdikt\u016f mezi v\u0161emi verdikty o \u0161patn\u00e9m obsahu. \u010c\u00edm vy\u0161\u0161\u00ed je p\u0159esnost, t\u00edm m\u00e9n\u011b fale\u0161n\u00fdch pozitiv. Pokud se p\u0159esnost nezohled\u0148uje, teoreticky je mo\u017en\u00e9 odstranit ve\u0161ker\u00fd spam a vulg\u00e1rn\u00ed slova, a t\u00edm i polovinu dobr\u00fdch p\u0159\u00edsp\u011bvk\u016f. Na druhou stranu, pokud se spol\u00e9h\u00e1me pouze na p\u0159esnost, nejlep\u0161\u00ed technologi\u00ed by byla ta, kter\u00e1 nikoho nechyt\u00e1. Proto je zde dal\u0161\u00ed ukazatel: pod\u00edl odhalen\u00e9ho \u0161patn\u00e9ho obsahu mezi celkov\u00fdm objemem \u0161patn\u00e9ho obsahu. Tyto dv\u011b metriky se vz\u00e1jemn\u011b vyva\u017euj\u00ed. <\/p>\n<p>Pro m\u011b\u0159en\u00ed vzorkujeme cel\u00fd p\u0159\u00edchoz\u00ed tok pro ka\u017edou slu\u017ebu a p\u0159ed\u00e1v\u00e1me vzorky obsahu posuzovatel\u016fm k odborn\u00e9mu hodnocen\u00ed a srovn\u00e1n\u00ed s rozhodnut\u00edmi stroje. <\/p>\n<p>Ale existuje je\u0161t\u011b jeden d\u016fle\u017eit\u00fd ukazatel. <\/p>\n<p>V\u00fd\u0161e jsem psal, \u017ee nevhodnou zpr\u00e1vu mohou b\u011bhem 5 minut vid\u011bt stovky lid\u00ed. Proto po\u010d\u00edt\u00e1me, kolikr\u00e1t jsme stihli lidem uk\u00e1zat \u0161patn\u00fd obsah, ne\u017e jsme ho skryli. To je d\u016fle\u017eit\u00e9, proto\u017ee nesta\u010d\u00ed pracovat kvalitn\u011b \u2014 je t\u0159eba tak\u00e9 pracovat rychle. A kdy\u017e jsme budovali ochranu proti vulgarit\u00e1m, pln\u011b jsme si to uv\u011bdomili. <\/p>\n<h3>Antivulg\u00e1rn\u00ed opat\u0159en\u00ed na p\u0159\u00edkladu ko\u010di\u010dek a pejsk\u016f<\/h3>\n<p>\nMal\u00e9 lyrick\u00e9 odbo\u010den\u00ed. N\u011bkdo m\u016f\u017ee \u0159\u00edci, \u017ee vulgarita a ur\u00e1\u017eky nejsou tak nebezpe\u010dn\u00e9 jako \u0161kodliv\u00e9 odkazy a nejsou tak roz\u010diluj\u00edc\u00ed jako spam. Ale sna\u017e\u00edme se udr\u017eovat pohodln\u00e9 podm\u00ednky pro komunikaci milion\u016f u\u017eivatel\u016f a lid\u00e9 se necht\u011bj\u00ed vracet tam, kde jsou ur\u00e1\u017eeni. Nen\u00ed n\u00e1hodou, \u017ee z\u00e1kaz vulgarit a ur\u00e1\u017eek je p\u0159edeps\u00e1n v pravidlech mnoha komunit, v\u010detn\u011b Habra. Ale to jsme trochu odbo\u010dili. <\/p>\n<p>Slovn\u00edky vulgarit si neporad\u00ed se v\u0161\u00edm bohatstv\u00edm rusk\u00e9ho jazyka. I kdy\u017e existuj\u00ed jen \u010dty\u0159i z\u00e1kladn\u00ed ko\u0159eny vulgarit, lze z nich vytvo\u0159it nespo\u010det slov, kter\u00e1 \u017e\u00e1dn\u00e9 regul\u00e1rn\u00ed v\u00fdrazy nechyt\u00ed. Nav\u00edc lze \u010d\u00e1st slova ps\u00e1t transkripc\u00ed, nahrazuje se p\u00edsmeny podobn\u00fdmi kombinacemi, p\u0159ehazuje se p\u00edsmeny, p\u0159id\u00e1vaj\u00ed se hv\u011bzdi\u010dky atd. N\u011bkdy nen\u00ed bez kontextu v\u016fbec mo\u017en\u00e9 ur\u010dit, co m\u011bl u\u017eivatel na mysli vulgaritami. Respektujeme pravidla Habra, proto to p\u0159edvedeme ne na \u017eiv\u00fdch p\u0159\u00edkladech, ale na ko\u010di\u010dk\u00e1ch a pejsc\u00edch. <\/p>\n<p><img decoding=\"async\" alt=\"Jak otev\u0159\u00edt koment\u00e1\u0159e a nenechat se utopit v spamu\" src=\"\/wp-content\/uploads\/2020\/03\/1cbb2b02e7c996753465a64cb6ac9657.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u201eM\u0148au,\u201c \u0159ekl kocourek. Ale rozum\u00edme, \u017ee kocourek \u0159ekl jin\u00e9 slovo\u2026<\/p>\n<p>Za\u010dali jsme uva\u017eovat o algoritmech \u201eneur\u010dit\u00e9ho shody\u201c na\u0161eho slovn\u00edku a o inteligentn\u011bj\u0161\u00edm p\u0159edzpracov\u00e1n\u00ed: p\u0159ev\u00e1d\u011bli jsme transliteraci, spojovali mezery a interpunkci, hledali vzory a psali na n\u011b jednotliv\u00e9 regul\u00e1rn\u00ed v\u00fdrazy. Tato metoda p\u0159in\u00e1\u0161ela v\u00fdsledky, ale \u010dasto sni\u017eovala p\u0159esnost, nedosahuj\u00edc po\u017eadovan\u00e9 \u00faplnosti.<\/p>\n<p>Pak jsme se rozhodli \u201emyslet jako vulg\u00e1rn\u00edci\u201c. Za\u010dali jsme sami p\u0159id\u00e1vat \u0161um do dat: p\u0159ehazovali jsme p\u00edsmena, generovali p\u0159eklepy, nahrazovali p\u00edsmena podobn\u00fdmi podle naps\u00e1n\u00ed a tak d\u00e1le. Po\u010d\u00e1te\u010dn\u00ed zna\u010dkov\u00e1n\u00ed jsme brali aplikac\u00ed slovn\u00edk\u016f vulgarit na velk\u00e9 korpusy text\u016f. Pokud vezmeme jednu v\u011btu a pok\u0159iv\u00edme ji r\u016fzn\u00fdmi zp\u016fsoby, z\u00edsk\u00e1me u\u017e mnoho v\u011bt. Takto m\u016f\u017eeme zv\u00fd\u0161it tr\u00e9ninkovou sadu n\u011bkolikr\u00e1t. Zb\u00fdvalo jen vy\u0161kolit na z\u00edskan\u00e9m vzorku n\u011bjak\u00fd v\u00edce \u010di m\u00e9n\u011b inteligentn\u00ed model, kter\u00fd by bral v \u00favahu kontext. <\/p>\n<p><img decoding=\"async\" alt=\"Jak otev\u0159\u00edt koment\u00e1\u0159e a nenechat se utopit v spamu\" src=\"\/wp-content\/uploads\/2020\/03\/48bbde39deacacc39a60bcb07379ca90.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nO fin\u00e1ln\u00edm \u0159e\u0161en\u00ed je zat\u00edm p\u0159ed\u010dasn\u00e9 mluvit. St\u00e1le experimentujeme s p\u0159\u00edstupy k tomuto probl\u00e9mu, ale u\u017e vid\u00edme, \u017ee jednoduch\u00e1 konvolu\u010dn\u00ed s\u00ed\u0165 s n\u011bkolika vrstvami v\u00fdrazn\u011b p\u0159ekon\u00e1v\u00e1 slovn\u00edky a regul\u00e1rn\u00ed v\u00fdrazy: poda\u0159ilo se zv\u00fd\u0161it jak p\u0159esnost, tak \u00faplnost.<\/p>\n<p>Samoz\u0159ejm\u011b ch\u00e1peme, \u017ee v\u017edy existuj\u00ed zp\u016fsoby, jak obej\u00edt i tu nejpokro\u010dilej\u0161\u00ed automatizaci, zvl\u00e1\u0161t\u011b kdy\u017e jde o tak vzru\u0161uj\u00edc\u00ed \u010dinnost: ps\u00e1t tak, aby to stupidn\u00ed stroj nepochopil. Tady, jako p\u0159i boji proti spamu, nem\u00e1me za c\u00edl odstranit samotnou mo\u017enost napsat n\u011bco neslu\u0161n\u00e9ho, na\u0161\u00edm \u00fakolem je ud\u011blat tak, aby ta hra nest\u00e1la za to.<\/p>\n<p>Otev\u0159\u00edt mo\u017enost sd\u00edlet sv\u016fj n\u00e1zor, komunikovat a komentovat \u2014 to nen\u00ed t\u011b\u017ek\u00e9. Daleko slo\u017eit\u011bj\u0161\u00ed je dos\u00e1hnout bezpe\u010dn\u00fdch, komfortn\u00edch podm\u00ednek a respektu k lidem. A bez toho nebude doch\u00e1zet k rozvoji jak\u00e9koli komunity.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/yandex\/blog\/490836\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u0433\u0434\u0430 \u0442\u0432\u043e\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u2014 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u043a\u0440\u0430\u0441\u0438\u0432\u043e\u0435, \u043e \u043d\u0435\u0439 \u043c\u043e\u0436\u043d\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043d\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0443 \u0432\u0441\u0435\u0445 \u043f\u0435\u0440\u0435\u0434 \u0433\u043b\u0430\u0437\u0430\u043c\u0438. \u0410 \u0432\u043e\u0442 \u0435\u0441\u043b\u0438 \u0442\u044b \u0441\u0442\u0438\u0440\u0430\u0435\u0448\u044c \u043d\u0430\u0434\u043f\u0438\u0441\u0438 \u0441 \u0437\u0430\u0431\u043e\u0440\u043e\u0432, \u0442\u0432\u043e\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0437\u0430\u043c\u0435\u0447\u0430\u0435\u0442, \u043f\u043e\u043a\u0430 \u0437\u0430\u0431\u043e\u0440\u044b \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u043f\u0440\u0438\u043b\u0438\u0447\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u043a\u0430 \u0442\u044b \u043d\u0435 \u0441\u043e\u0442\u0440\u0451\u0448\u044c \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u043d\u0435 \u0442\u043e. \u041b\u044e\u0431\u043e\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439, \u043e\u0442\u0437\u044b\u0432, \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":72899,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-72898","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u0433\u0434\u0430 \u0442\u0432\u043e\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u2014 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kak-otkryt-kommentarii-i-ne-potonut-v-spame\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0438 \u043d\u0435 \u043f\u043e\u0442\u043e\u043d\u0443\u0442\u044c \u0432 \u0441\u043f\u0430\u043c\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u0433\u0434\u0430 \u0442\u0432\u043e\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u2014 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kak-otkryt-kommentarii-i-ne-potonut-v-spame\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-03-05T17:42:08+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-05T17:42:08+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Jak otev\u0159\u00edt koment\u00e1\u0159e a neutopit se ve spamu | ProHoster","description":"Kdy\u017e je tvou prac\u00ed n\u011bco tvo\u0159it.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kak-otkryt-kommentarii-i-ne-potonut-v-spame","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0438 \u043d\u0435 \u043f\u043e\u0442\u043e\u043d\u0443\u0442\u044c \u0432 \u0441\u043f\u0430\u043c\u0435 | ProHoster","og:description":"\u041a\u043e\u0433\u0434\u0430 \u0442\u0432\u043e\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u2014 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e.","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kak-otkryt-kommentarii-i-ne-potonut-v-spame","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-03-05T17:42:08+00:00","article:modified_time":"2020-03-05T17:42:08+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"72898","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:43:27","updated":"2022-09-29 22:58:18","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/72898","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=72898"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/72898\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/72899"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=72898"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=72898"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=72898"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}