{"id":35108,"date":"2019-10-31T22:02:22","date_gmt":"2019-10-31T19:02:22","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-my-moderiruem-obyavleniya\/"},"modified":"2019-10-31T22:02:22","modified_gmt":"2019-10-31T19:02:22","slug":"kak-my-moderiruem-obyavleniya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kak-my-moderiruem-obyavleniya","title":{"rendered":"Jak moderujeme inzer\u00e1ty","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Jak moderujeme inzer\u00e1ty\" src=\"\/wp-content\/uploads\/26550996eb43e06cf069d989d90fe8d5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKa\u017ed\u00e1 slu\u017eba, jej\u00ed\u017e u\u017eivatel\u00e9 mohou vytv\u00e1\u0159et vlastn\u00ed obsah (UGC \u2013 User-generated content), mus\u00ed \u0159e\u0161it nejen obchodn\u00ed \u00fakoly, ale tak\u00e9 se postarat o po\u0159\u00e1dek v UGC. \u0160patn\u00e1 nebo nekvalitn\u00ed moderace obsahu m\u016f\u017ee nakonec sn\u00ed\u017eit atraktivitu slu\u017eby pro u\u017eivatele, a\u017e po ukon\u010den\u00ed jej\u00edho fungov\u00e1n\u00ed. <\/p>\n<p>Dnes v\u00e1m pov\u00edme o synergii mezi Joulou a Odnoklassniky, kter\u00e1 n\u00e1m pom\u00e1h\u00e1 efektivn\u011b moderovat inzer\u00e1ty na Joul\u011b. <\/p>\n<p>Synergie je obecn\u011b velmi u\u017eite\u010dn\u00e1, a v modern\u00edm sv\u011bt\u011b, kdy se technologie a trendy rychle m\u011bn\u00ed, se m\u016f\u017ee st\u00e1t kouzelnou h\u016flkou. Pro\u010d vynakl\u00e1dat vz\u00e1cn\u00e9 zdroje a \u010das na vym\u00fd\u0161len\u00ed toho, co u\u017e bylo vynalezeno a vylep\u0161eno p\u0159ed v\u00e1mi? <\/p>\n<p>To sam\u00e9 jsme si pomysleli, kdy\u017e jsme \u010delili \u00fakolu moderovat u\u017eivatelsk\u00fd obsah \u2013 obr\u00e1zky, text a odkazy. Na\u0161i u\u017eivatel\u00e9 ka\u017edodenn\u011b nahr\u00e1vaj\u00ed na Joulou miliony jednotek obsahu a bez automatick\u00e9ho zpracov\u00e1n\u00ed by bylo ru\u010dn\u00ed moderov\u00e1n\u00ed v\u0161ech t\u011bchto dat zcela nemo\u017en\u00e9.<\/p>\n<p>Proto jsme vyu\u017eili ji\u017e hotovou platformu moderace, kterou na\u0161i kolegov\u00e9 z Odnoklassniky v t\u00e9 dob\u011b dot\u00e1hli k t\u00e9m\u011b\u0159 dokonal\u00e9mu stavu.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Pro\u010d Odnoklassniki?<\/h2>\n<p>\nDenn\u011b do soci\u00e1ln\u00ed s\u00edt\u011b p\u0159ich\u00e1zej\u00ed des\u00edtky milion\u016f u\u017eivatel\u016f, kte\u0159\u00ed publikuj\u00ed miliardy jednotek obsahu: od fotografi\u00ed po videa a texty. Platforma moderace Odnoklassniky pom\u00e1h\u00e1 kontrolovat velmi velk\u00e9 objemy dat a br\u00e1nit spamer\u016fm a robot\u016fm. <\/p>\n<p>T\u00fdm moderace O.K. nashrom\u00e1\u017edil velmi rozs\u00e1hl\u00e9 zku\u0161enosti, proto\u017ee sv\u016fj n\u00e1stroj zdokonaluje u\u017e 12 let. Je d\u016fle\u017eit\u00e9, \u017ee nejen mohli sd\u00edlet sv\u00e1 hotov\u00e1 \u0159e\u0161en\u00ed, ale tak\u00e9 p\u0159izp\u016fsobit architekturu sv\u00e9 platformy na\u0161im specifick\u00fdm \u00fakol\u016fm.<\/p>\n<p><img decoding=\"async\" alt=\"Jak moderujeme inzer\u00e1ty\" src=\"\/wp-content\/uploads\/5f98b6c93728aad3de613fffb153f3d4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nD\u00e1le budeme pro stru\u010dnost naz\u00fdvat platformu moderace O.K. jednodu\u0161e \u201eplatforma\u201c.<\/p>\n<h2>Jak to v\u0161echno funguje<\/h2>\n<p>\nMezi Joulou a Odnoklassniky je v\u00fdm\u011bna dat nastavena p\u0159es <noindex><a rel=\"nofollow\" href=\"https:\/\/kafka.apache.org\/\">Apache Kafka<\/a><\/noindex>. <\/p>\n<p>Pro\u010d jsme vybrali tento n\u00e1stroj:<\/p>\n<ul>\n<li>Na Joulou proch\u00e1zej\u00ed v\u0161echny inzer\u00e1ty postmoderac\u00ed, proto p\u016fvodn\u011b nebyla pot\u0159ebn\u00e1 synchronn\u00ed odpov\u011b\u010f.\n<\/li>\n<li>Pokud dojde k v\u00e1\u017en\u00e9mu v\u00fdpadku a Yula nebo Odnoklassniki nebudou dostupn\u00e9, v\u010detn\u011b d\u016fsledk\u016f jak\u00fdchkoli \u0161pi\u010dkov\u00fdch z\u00e1t\u011b\u017e\u00ed, data z Kafka se nikam neztrat\u00ed a pozd\u011bji je mo\u017en\u00e9 je do\u010d\u00edst.\n<\/li>\n<li>Platforma ji\u017e byla integrov\u00e1na s Kafkou, tak\u017ee v\u011bt\u0161ina bezpe\u010dnostn\u00edch probl\u00e9m\u016f byla vy\u0159e\u0161ena.\n<\/li>\n<\/ul>\n<p>\n <img decoding=\"async\" alt=\"Jak moderujeme inzer\u00e1ty\" src=\"\/wp-content\/uploads\/5aeaf03bac41c3113659d6d739021e71.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPro ka\u017ed\u00e9 ozn\u00e1men\u00ed vytvo\u0159en\u00e9 nebo zm\u011bn\u011bn\u00e9 u\u017eivatelsk\u00fdm zp\u016fsobem se vytv\u00e1\u0159\u00ed JSON s daty, kter\u00fd se ukl\u00e1d\u00e1 do Kafky pro n\u00e1slednou moderaci. Ozn\u00e1men\u00ed jsou z Kafky na\u010d\u00edt\u00e1na do platformy, kde jsou na n\u011b rozhodnut\u00ed p\u0159ij\u00edm\u00e1na automaticky nebo ru\u010dn\u011b. \u0160patn\u00e1 ozn\u00e1men\u00ed jsou blokov\u00e1na s uveden\u00edm d\u016fvodu, zat\u00edmco ta, kde platforma nena\u0161la poru\u0161en\u00ed, jsou ozna\u010dena jako \u201edobr\u00e1\u201c. Pot\u00e9 jsou v\u0161echna rozhodnut\u00ed odesl\u00e1na zp\u011bt do Yuly a aplikov\u00e1na v servisu.<\/p>\n<p>Nakonec se v\u0161e pro Yulu shrnuje do jednoduch\u00fdch akc\u00ed: odeslat ozn\u00e1men\u00ed na platformu Odnoklassniki a zp\u011bt z\u00edskat rezoluci \u201eok\u201c, nebo d\u016fvod, pro\u010d to nen\u00ed \u201eok\u201c.<\/p>\n<h2>Automatizovan\u00e9 zpracov\u00e1n\u00ed<\/h2>\n<p>\nCo se stane s ozn\u00e1men\u00edm pot\u00e9, co se dostane na platformu? Ka\u017ed\u00e9 ozn\u00e1men\u00ed se d\u011bl\u00ed na n\u011bkolik entit:<\/p>\n<ul>\n<li>n\u00e1zev,\n<\/li>\n<li>popis,\n<\/li>\n<li>fotografie,\n<\/li>\n<li>u\u017eivatelsky vybran\u00e1 kategorie a podkategorie ozn\u00e1men\u00ed,\n<\/li>\n<li>cena.\n<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Jak moderujeme inzer\u00e1ty\" src=\"\/wp-content\/uploads\/e4396a3b4378975987fe3a871c3d6fbf.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPot\u00e9 platforma prov\u00e1d\u00ed clusterizaci na ka\u017ed\u00e9 entit\u011b, aby na\u0161la duplicity. Texty a fotografie se v\u0161ak clusterizuj\u00ed podle r\u016fzn\u00fdch sch\u00e9mat.<\/p>\n<p>Texty p\u0159ed clusterizac\u00ed se normalizuj\u00ed, aby se odstranily speci\u00e1ln\u00ed znaky, zm\u011bn\u011bn\u00e9 p\u00edsmena a dal\u0161\u00ed ne\u010distoty. Z\u00edskan\u00e1 data se d\u011bl\u00ed na N-gramy, z nich\u017e ka\u017ed\u00e1 je hashov\u00e1na. V\u00fdsledkem je mno\u017estv\u00ed unik\u00e1tn\u00edch hash\u016f. Podobnost mezi texty se posuzuje podle <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9A%D0%BE%D1%8D%D1%84%D1%84%D0%B8%D1%86%D0%B8%D0%B5%D0%BD%D1%82_%D1%81%D1%85%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%B0\">Jaccardovy m\u00edry<\/a><\/noindex> mezi dv\u011bma v\u00fdsledn\u00fdmi mno\u017einami. Pokud je podobnost vy\u0161\u0161\u00ed ne\u017e pr\u00e1h, texty se slou\u010d\u00ed do jednoho clusteru. Pro urychlen\u00ed vyhled\u00e1v\u00e1n\u00ed podobn\u00fdch cluster\u016f se pou\u017e\u00edv\u00e1 MinHash a Locality-sensitive hashing.<\/p>\n<p>Pro fotografie byly vytvo\u0159eny r\u016fzn\u00e9 varianty slou\u010den\u00ed obr\u00e1zk\u016f, od porovn\u00e1n\u00ed pHash obr\u00e1zk\u016f po hled\u00e1n\u00ed duplicity pomoc\u00ed neuronov\u00e9 s\u00edt\u011b. <\/p>\n<p>Posledn\u00ed zp\u016fsob je nejv\u00edc \"drsn\u00fd\". Pro tr\u00e9nink modelu byly vyb\u00edr\u00e1ny trojice obr\u00e1zk\u016f (N, A, P), kde N nen\u00ed podobn\u00fd A, zat\u00edmco P je podobn\u00fd A (je \u010d\u00e1ste\u010dn\u00fdm duplicitou). N\u00e1sledn\u011b se neuronov\u00e1 s\u00ed\u0165 u\u010dila, jak A a P co nejv\u00edce p\u0159ibl\u00ed\u017eit a A a N co nejv\u00edce vzd\u00e1lit. T\u00edmto zp\u016fsobem se sni\u017euje po\u010det fale\u0161n\u00fdch pozitivn\u00edch v\u00fdsledk\u016f ve srovn\u00e1n\u00ed s pouh\u00fdm vyu\u017eit\u00edm embedding\u016f z p\u0159edtr\u00e9novan\u00e9 s\u00edt\u011b.<\/p>\n<p>Kdy\u017e neuronov\u00e1 s\u00ed\u0165 dostane obr\u00e1zky jako vstup, generuje pro ka\u017ed\u00fd z nich N(128)-rozm\u011brn\u00fd vektor a prov\u00e1d\u00ed dotaz na hodnocen\u00ed bl\u00edzkosti obr\u00e1zku. D\u00e1le se vypo\u010d\u00edt\u00e1 prahov\u00e1 hodnota, p\u0159i kter\u00e9 se bl\u00edzk\u00e9 obr\u00e1zky pova\u017euj\u00ed za duplicity.<\/p>\n<p>Model mistrovsky identifikuje spammery, kte\u0159\u00ed c\u00edlen\u011b fotografuj\u00ed stejn\u00fd produkt z r\u016fzn\u00fdch \u00fahl\u016f, aby obe\u0161li srovn\u00e1n\u00ed podle pHash.<\/p>\n<p><img decoding=\"async\" alt=\"Jak moderujeme inzer\u00e1ty\" src=\"\/wp-content\/uploads\/943a628a844ea124317e7eec8d3c19f7.png\" style=\"display:block;margin: 0 auto;\" \/><img decoding=\"async\" alt=\"Jak moderujeme inzer\u00e1ty\" src=\"\/wp-content\/uploads\/4b6f7082751ddb7581d00cf171797b1d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>P\u0159\u00edklad spamov\u00fdch fotografi\u00ed, kter\u00e9 neuronov\u00e1 s\u00ed\u0165 spojila jako duplicity.<\/i><\/p>\n<p>Ve fin\u00e1ln\u00ed f\u00e1zi se duplicity inzer\u00e1t\u016f hledaj\u00ed sou\u010dasn\u011b podle textu a podle obr\u00e1zku.<\/p>\n<p>Pokud se v clusteru spoj\u00ed dva a v\u00edce inzer\u00e1t\u016f, syst\u00e9m spust\u00ed automatickou blokaci, kter\u00e1 podle ur\u010dit\u00fdch algoritm\u016f rozhodne, kter\u00e9 duplicity odstranit a kter\u00e9 ponechat. Nap\u0159\u00edklad, pokud maj\u00ed dva u\u017eivatel\u00e9 v inzer\u00e1tu toto\u017en\u00e9 fotografie, syst\u00e9m zablokuje nov\u011bj\u0161\u00ed inzer\u00e1t.<\/p>\n<p>Po vytvo\u0159en\u00ed proch\u00e1zej\u00ed v\u0161echny clustery \u0159adou automatick\u00fdch filtr\u016f. Ka\u017ed\u00fd filtr p\u0159i\u0159ad\u00ed clusteru ur\u010dit\u00fd po\u010det bod\u016f (score): jakou pravd\u011bpodobnost m\u00e1, \u017ee obsahuje hrozbu, kterou tento filtr identifikuje. <\/p>\n<p>Nap\u0159\u00edklad syst\u00e9m analyzuje popis v inzer\u00e1tu a vyb\u00edr\u00e1 pro n\u011bj potenci\u00e1ln\u00ed kategorie. D\u00e1le bere tu, u kter\u00e9 je maxim\u00e1ln\u00ed pravd\u011bpodobnost, a porovn\u00e1v\u00e1 s kategori\u00ed, kterou uvedl autor inzer\u00e1tu. Pokud se neshoduj\u00ed, inzer\u00e1t je zablokov\u00e1n za nespr\u00e1vnou kategorii. A proto\u017ee jsme laskav\u00ed a \u010destn\u00ed, jasn\u011b u\u017eivateli \u0159\u00edk\u00e1me, jakou kategorii m\u00e1 vybrat, aby inzer\u00e1t pro\u0161el moderac\u00ed.<\/p>\n<p><img decoding=\"async\" alt=\"Jak moderujeme inzer\u00e1ty\" src=\"\/wp-content\/uploads\/a909ea1ff91d57a225d2db1c96cd56a7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Ozn\u00e1men\u00ed o blokaci za nespr\u00e1vnou kategorii.<\/i><\/p>\n<p>Na na\u0161\u00ed platform\u011b se strojov\u00e9 u\u010den\u00ed c\u00edt\u00ed jako doma. Nap\u0159\u00edklad s jeho pomoc\u00ed hled\u00e1me v n\u00e1zvech a popisech zak\u00e1zan\u00e9 zbo\u017e\u00ed v Rusku. A modely neuronov\u00fdch s\u00edt\u00ed pe\u010dliv\u011b \"zkoumaj\u00ed\" obr\u00e1zky, zda na nich nejsou URL adresy, spamov\u00e9 texty, telefonn\u00ed \u010d\u00edsla a st\u00e1le to sam\u00e9 \"zak\u00e1zan\u00e9\" zbo\u017e\u00ed.<\/p>\n<p>Pro p\u0159\u00edpady, kdy se zak\u00e1zan\u00fd produkt sna\u017e\u00ed prodat pod n\u011bjakou leg\u00e1ln\u00ed formou a neobsahuje \u017e\u00e1dn\u00fd text ani v n\u00e1zvu, ani v popisu, pou\u017e\u00edv\u00e1me tagov\u00e1n\u00ed obr\u00e1zk\u016f. Pro ka\u017ed\u00fd obr\u00e1zek m\u016f\u017ee b\u00fdt p\u0159id\u00e1no a\u017e 11 tis\u00edc r\u016fzn\u00fdch tag\u016f, kter\u00e9 popisuj\u00ed, co se na obr\u00e1zku nach\u00e1z\u00ed.<\/p>\n<p><img decoding=\"async\" alt=\"Jak moderujeme inzer\u00e1ty\" src=\"\/wp-content\/uploads\/865afd80422c05d1277ac53f7fe0009e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Vodn\u00ed d\u00fdmku se sna\u017e\u00ed prodat, maskuj\u00edc\u00ed ji jako samovar.<\/i><\/p>\n<p>Vedle slo\u017eit\u00fdch filtr\u016f pracuj\u00ed tak\u00e9 jednoduch\u00e9, kter\u00e9 \u0159e\u0161\u00ed jasn\u00e9 \u00fakoly spojen\u00e9 s textem: <\/p>\n<ul>\n<li>antimat; \n<\/li>\n<li>detektor URL adres a telefonn\u00edch \u010d\u00edsel; \n<\/li>\n<li>zm\u00ednka o messengeru a dal\u0161\u00edch kontaktech; \n<\/li>\n<li>n\u00edzk\u00e1 cena; \n<\/li>\n<li>inzer\u00e1ty, ve kter\u00fdch se nic neprod\u00e1v\u00e1, atd.\n<\/li>\n<\/ul>\n<p>\nDnes ka\u017ed\u00fd inzer\u00e1t proch\u00e1z\u00ed jemn\u00fdm s\u00edtem v\u00edce ne\u017e 50 automatick\u00fdmi filtry, kter\u00e9 se sna\u017e\u00ed naj\u00edt v inzer\u00e1tu n\u011bco \u0161patn\u00e9ho.<\/p>\n<p>Pokud \u017e\u00e1dn\u00fd z detektor\u016f nezafungoval, ode\u0161le se na Yulu odpov\u011b\u010f, \u017ee s inzer\u00e1tem \u201epravd\u011bpodobn\u011b\u201c nen\u00ed \u017e\u00e1dn\u00fd probl\u00e9m. Tuto odpov\u011b\u010f vyu\u017e\u00edv\u00e1me u sebe a u\u017eivatel\u00e9, kte\u0159\u00ed se p\u0159ihl\u00e1sili k prodejci, dost\u00e1vaj\u00ed upozorn\u011bn\u00ed na nov\u00fd produkt.<\/p>\n<p><img decoding=\"async\" alt=\"Jak moderujeme inzer\u00e1ty\" src=\"\/wp-content\/uploads\/37ed66a822d50348686c823e6b919712.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Upozorn\u011bn\u00ed o tom, \u017ee u prodejce se objevil nov\u00fd produkt.<\/i><\/p>\n<p>Celkov\u011b ka\u017ed\u00fd inzer\u00e1t \u201ez\u00edsk\u00e1v\u00e1\u201c metadata, jejich\u017e \u010d\u00e1st je generov\u00e1na p\u0159i jeho vytvo\u0159en\u00ed (IP adresa autora, user-agent, platforma, geolokace atd.), a zbytek jsou sk\u00f3re vydan\u00e1 ka\u017ed\u00fdm filtrem.<\/p>\n<h2>Fronty inzer\u00e1t\u016f<\/h2>\n<p>\nKdy\u017e inzer\u00e1t vstoup\u00ed na platformu, syst\u00e9m ho um\u00edst\u00ed do jedn\u00e9 z front. Ka\u017ed\u00e1 fronta je vytvo\u0159ena pomoc\u00ed matematick\u00e9ho vzorce, kter\u00fd kombinuje metadata inzer\u00e1tu takov\u00fdm zp\u016fsobem, aby odhalil n\u011bjak\u00fd \u0161patn\u00fd vzor.<\/p>\n<p>Nap\u0159\u00edklad je mo\u017en\u00e9 vytvo\u0159it frontu inzer\u00e1t\u016f v kategorii \u201eMobiln\u00ed telefony\u201c od u\u017eivatel\u016f Yuly zd\u00e1nliv\u011b z Petrohradu, ale z\u00e1rove\u0148 maj\u00ed jejich IP adresy z Moskvy nebo jin\u00fdch m\u011bst.<\/p>\n<p><img decoding=\"async\" alt=\"Jak moderujeme inzer\u00e1ty\" src=\"\/wp-content\/uploads\/de7b944fed4fc8682ab068c5956f1023.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>P\u0159\u00edklad inzer\u00e1t\u016f um\u00edst\u011bn\u00fdch jedn\u00edm u\u017eivatelem v r\u016fzn\u00fdch m\u011bstech.<\/i><\/p>\n<p>Nebo je mo\u017en\u00e9 vytv\u00e1\u0159et fronty na z\u00e1klad\u011b bod\u016f, kter\u00e9 neuronov\u00e1 s\u00ed\u0165 p\u0159i\u0159azuje inzer\u00e1t\u016fm, \u0159ad\u00ed je podle sestupn\u00e9ho po\u0159ad\u00ed.<\/p>\n<p>Ka\u017ed\u00e1 fronta podle sv\u00e9ho vzorce p\u0159i\u0159azuje inzer\u00e1tu kone\u010dn\u00e9 sk\u00f3re. D\u00e1le se m\u016f\u017ee jednat r\u016fzn\u00fdmi zp\u016fsoby: <\/p>\n<ul>\n<li>stanovit prahem hodnotu, p\u0159i kter\u00e9 inzer\u00e1t obdr\u017e\u00ed ur\u010dit\u00fd typ blokov\u00e1n\u00ed; \n<\/li>\n<li>odeslat v\u0161echny inzer\u00e1ty moder\u00e1tor\u016fm na ru\u010dn\u00ed kontrolu;\n<\/li>\n<li>nebo zkombinovat p\u0159edchoz\u00ed varianty: nastavit pr\u00e1h automatick\u00e9ho blokov\u00e1n\u00ed a poslat moder\u00e1tor\u016fm ty inzer\u00e1ty, kter\u00e9 tento pr\u00e1h nedos\u00e1hly.\n<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Jak moderujeme inzer\u00e1ty\" src=\"\/wp-content\/uploads\/46a773be691fb644df64fe68f999a568.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPro\u010d jsou tyto fronty pot\u0159ebn\u00e9? P\u0159edstavme si, \u017ee u\u017eivatel nahr\u00e1l fotografii st\u0159eln\u00e9 zbran\u011b. Neur\u00e1ln\u00ed s\u00ed\u0165 j\u00ed p\u0159i\u0159azuje sk\u00f3re od 95 do 100 a s 99% p\u0159esnost\u00ed ur\u010duje, \u017ee na obr\u00e1zku je zbra\u0148. Ale pokud je hodnota sk\u00f3re ni\u017e\u0161\u00ed ne\u017e 95 %, p\u0159esnost modelu za\u010d\u00edn\u00e1 klesat (to je vlastnost neur\u00e1ln\u00edch s\u00edt\u00ed).<\/p>\n<p>V d\u016fsledku toho se vytv\u00e1\u0159\u00ed fronta na z\u00e1klad\u011b sk\u00f3re modelu, a ty inzer\u00e1ty, kter\u00e9 z\u00edskaly od 95 do 100, jsou automaticky blokov\u00e1ny jako \u201eZak\u00e1zan\u00e9 zbo\u017e\u00ed\u201c. Inzer\u00e1ty se sk\u00f3re ni\u017e\u0161\u00edm ne\u017e 95 jsou zas\u00edl\u00e1ny na ru\u010dn\u00ed zpracov\u00e1n\u00ed moder\u00e1tor\u016fm.<\/p>\n<p><img decoding=\"async\" alt=\"Jak moderujeme inzer\u00e1ty\" src=\"\/wp-content\/uploads\/0b22d783560e9670b99661df2de9d9ba.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>\u010cokol\u00e1dov\u00e1 Beretta s n\u00e1boji. Pouze pro ru\u010dn\u00ed moderaci! \ud83d\ude42<\/i><\/p>\n<h2>Ru\u010dn\u00ed moderace<\/h2>\n<p>\nNa za\u010d\u00e1tku roku 2019 bylo p\u0159ibli\u017en\u011b 94 % v\u0161ech inzer\u00e1t\u016f na Jule moderov\u00e1no automaticky. <\/p>\n<p><img decoding=\"async\" alt=\"Jak moderujeme inzer\u00e1ty\" src=\"\/wp-content\/uploads\/7dc3172e65097cc58b2a29d2df063507.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPokud si platforma nen\u00ed jist\u00e1 n\u011bkter\u00fdmi inzer\u00e1ty, pos\u00edl\u00e1 je na ru\u010dn\u00ed moderaci. Odnoklassniki vyvinuli vlastn\u00ed n\u00e1stroj: v \u00fakolech pro moder\u00e1tory je okam\u017eit\u011b zobrazeny v\u0161echny pot\u0159ebn\u00e9 informace pro rychl\u00e9 rozhodov\u00e1n\u00ed \u2014 zda je inzer\u00e1t vhodn\u00fd, nebo by m\u011bl b\u00fdt zablokov\u00e1n s uveden\u00edm d\u016fvodu.<\/p>\n<p>A aby p\u0159i ru\u010dn\u00ed moderaci netrp\u011bla kvalita slu\u017eby, je pr\u00e1ce lid\u00ed neust\u00e1le kontrolov\u00e1na. Nap\u0159\u00edklad v toku \u00fakol\u016f se moder\u00e1tor\u016fm zobrazuj\u00ed \u201el\u00e9\u010dky\u201c \u2014 inzer\u00e1ty, pro kter\u00e9 ji\u017e existuj\u00ed hotov\u00e1 \u0159e\u0161en\u00ed. Pokud rozhodnut\u00ed moder\u00e1tora nesouhlas\u00ed s p\u0159ipraven\u00fdm, moder\u00e1torovi se zapo\u010d\u00edt\u00e1v\u00e1 chyba.<\/p>\n<p>Na kontrolu jednoho inzer\u00e1tu moder\u00e1tor pr\u016fm\u011brn\u011b str\u00e1v\u00ed 10 sekund. P\u0159i\u010dem\u017e po\u010det chyb \u010din\u00ed maxim\u00e1ln\u011b 0,5 % ze v\u0161ech prov\u011b\u0159en\u00fdch inzer\u00e1t\u016f.<\/p>\n<h2>Hromadn\u00e1 moderace<\/h2>\n<p>\nKolegov\u00e9 z Odnoklassniki za\u0161li je\u0161t\u011b d\u00e1le a vyu\u017eili \u201epomoc publika\u201c: napsali pro soci\u00e1ln\u00ed s\u00ed\u0165 aplikaci-hru, ve kter\u00e9 lze rychle ozna\u010dovat velk\u00e9 mno\u017estv\u00ed dat, vyzna\u010duj\u00edc n\u011bjak\u00fd \u0161patn\u00fd znak \u2014 Moder\u00e1tor Odnoklassniki (<noindex><a rel=\"nofollow\" href=\"https:\/\/ok.ru\/app\/moderator\">https:\/\/ok.ru\/app\/moderator<\/a><\/noindex>). Skv\u011bl\u00fd zp\u016fsob, jak vyu\u017e\u00edt pomoc u\u017eivatel\u016f O.K., kte\u0159\u00ed se sna\u017e\u00ed, aby byl obsah p\u0159\u00edjemn\u011bj\u0161\u00ed.<\/p>\n<p><img decoding=\"async\" alt=\"Jak moderujeme inzer\u00e1ty\" src=\"\/wp-content\/uploads\/8889b29402991047e43c1d7eaf7a3c77.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Hra, ve kter\u00e9 u\u017eivatel\u00e9 ozna\u010duj\u00ed fotografie, na kter\u00fdch je telefonn\u00ed \u010d\u00edslo.<\/i><\/p>\n<p>Ka\u017edou frontu inzer\u00e1t\u016f na platform\u011b lze p\u0159esm\u011brovat do hry Moder\u00e1tor Odnoklassnikov. V\u0161e, co u\u017eivatel\u00e9 hry ozna\u010duj\u00ed, n\u00e1sledn\u011b putuje intern\u00edm moder\u00e1tor\u016fm ke kontrole. Tento syst\u00e9m umo\u017e\u0148uje blokovat inzer\u00e1ty, pro kter\u00e9 je\u0161t\u011b nebyly vytvo\u0159eny filtry, a z\u00e1rove\u0148 vytv\u00e1\u0159et vzd\u011bl\u00e1vac\u00ed v\u00fdb\u011bry.<\/p>\n<h2>Ukl\u00e1d\u00e1n\u00ed v\u00fdsledk\u016f moderace<\/h2>\n<p>\nUkl\u00e1d\u00e1me v\u0161echna p\u0159ijat\u00e1 rozhodnut\u00ed b\u011bhem moderace, abychom znovu nezpracov\u00e1vali ty inzer\u00e1ty, pro kter\u00e9 u\u017e bylo u\u010din\u011bno n\u011bjak\u00e9 rozhodnut\u00ed.<\/p>\n<p>Ka\u017ed\u00fd den se vytv\u00e1\u0159\u00ed miliony klastr\u016f pro inzer\u00e1ty. V pr\u016fb\u011bhu \u010dasu ka\u017ed\u00fd klastr dost\u00e1v\u00e1 ozna\u010den\u00ed \u201edobr\u00fd\u201c nebo \u201e\u0161patn\u00fd\u201c. Ka\u017ed\u00fd nov\u00fd inzer\u00e1t nebo jeho \u00faprava, kdy\u017e se dostane do klastru s ozna\u010den\u00edm, automaticky obdr\u017e\u00ed rozhodnut\u00ed dan\u00e9ho klastru. Takov\u00fdch automatick\u00fdch rozhodnut\u00ed se denn\u011b nahromad\u00ed kolem 20 tis\u00edc.<\/p>\n<p><img decoding=\"async\" alt=\"Jak moderujeme inzer\u00e1ty\" src=\"\/wp-content\/uploads\/0be3a108970402282121b4dc58dc3a57.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPokud do klastru nep\u0159ich\u00e1zej\u00ed nov\u00e9 inzer\u00e1ty, je odstran\u011bn z pam\u011bti a jeho hash a rozhodnut\u00ed jsou ulo\u017eena v Apache Cassandra.<\/p>\n<p>Kdy\u017e platforma obdr\u017e\u00ed nov\u00fd inzer\u00e1t, nejprve se sna\u017e\u00ed naj\u00edt podobn\u00fd klastr mezi ji\u017e vytvo\u0159en\u00fdmi a vz\u00edt z n\u011bj rozhodnut\u00ed. Pokud takov\u00fd klastr neexistuje, platforma jde do Cassandry a hled\u00e1 tam. Na\u0161la? Skv\u011bl\u00e9, uplatn\u00ed rozhodnut\u00ed na klastr a ode\u0161le to do Yuly. Takov\u00fdch \u201eopakovan\u00fdch\u201c rozhodnut\u00ed se denn\u011b nahromad\u00ed v pr\u016fm\u011bru 70 tis\u00edc \u2014 8 % z celkov\u00e9ho po\u010dtu.<\/p>\n<h2>Shrnut\u00ed<\/h2>\n<p>\nPou\u017e\u00edv\u00e1me platformu moderace Odnoklassnikov u\u017e dva a p\u016fl roku. V\u00fdsledky n\u00e1s t\u011b\u0161\u00ed:<\/p>\n<ul>\n<li>Automaticky moderujeme 94 % v\u0161ech inzer\u00e1t\u016f za den.\n<\/li>\n<li>N\u00e1klady na moderaci jedn\u00e9 inzerce jsme sn\u00ed\u017eili z 2 rubl\u016f na 7 kopejek.\n<\/li>\n<li>D\u00edky hotov\u00e9mu n\u00e1stroji jsme zapomn\u011bli na probl\u00e9my s \u0159\u00edzen\u00edm moder\u00e1tor\u016f.\n<\/li>\n<li>O 2,5x jsme zv\u00fd\u0161ili po\u010det ru\u010dn\u011b zpracovan\u00fdch inzer\u00e1t\u016f p\u0159i stejn\u00e9m po\u010dtu moder\u00e1tor\u016f a rozpo\u010dtu. Kvalita ru\u010dn\u00ed moderace se nav\u00edc zlep\u0161ila d\u00edky automatizovan\u00e9 kontrole a pohybuje se kolem 0,5 % chyb.\n<\/li>\n<li>Rychle pokr\u00fdv\u00e1me filtry nov\u00e9 typy spamu.\n<\/li>\n<li>Rychle p\u0159ipojujeme k moderaci nov\u00e1 odd\u011blen\u00ed <noindex><a rel=\"nofollow\" href=\"https:\/\/vc.ru\/transport\/32671-servis-obyavleniy-yula-zapustil-razdel-dlya-prodazhi-avtomobiley-s-vydachey-kreditov\">\"Yula Vertik\u00e1ly\"<\/a><\/noindex>. Od roku 2017 se na Yule objevily vertik\u00e1ly Nemovitosti, Pr\u00e1ce a Auto.\n<\/li>\n<\/ul>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/youla\/blog\/455128\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u0447\u044c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043d\u0442 (UGC \u2014 User-generated content), \u0432\u044b\u043d\u0443\u0436\u0434\u0435\u043d \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0448\u0430\u0442\u044c \u0431\u0438\u0437\u043d\u0435\u0441-\u0437\u0430\u0434\u0430\u0447\u0438, \u043d\u043e \u0438 \u043d\u0430\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432 UGC. \u041f\u043b\u043e\u0445\u0430\u044f \u0438\u043b\u0438 \u043d\u0435\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u0440\u0430\u0446\u0438\u044f \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0432 \u0438\u0442\u043e\u0433\u0435 \u043c\u043e\u0436\u0435\u0442 \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u043f\u0440\u0438\u0432\u043b\u0435\u043a\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0435\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u044b. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0432\u0430\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c \u043f\u0440\u043e \u0441\u0438\u043d\u0435\u0440\u0433\u0438\u044e \u043c\u0435\u0436\u0434\u0443 \u042e\u043b\u043e\u0439 \u0438 \u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043d\u0430\u043c \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35108","post","type-post","status-publish","format-standard","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\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u0447\u044c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043d\u0442.\" \/>\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-my-moderiruem-obyavleniya\" \/>\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 \u043c\u044b \u043c\u043e\u0434\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u0447\u044c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043d\u0442.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kak-my-moderiruem-obyavleniya\" \/>\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=\"2019-10-31T19:02:22+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:02:22+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 moderujeme inzer\u00e1ty | ProHoster","description":"Ka\u017ed\u00e1 slu\u017eba, jej\u00ed\u017e u\u017eivatel\u00e9 mohou vytv\u00e1\u0159et vlastn\u00ed obsah.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kak-my-moderiruem-obyavleniya","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 \u043c\u044b \u043c\u043e\u0434\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f | ProHoster","og:description":"\u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u0447\u044c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043d\u0442.","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kak-my-moderiruem-obyavleniya","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":"2019-10-31T19:02:22+00:00","article:modified_time":"2019-10-31T19:02:22+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35108","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":"2026-01-21 21:51:33","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:09:55","updated":"2026-01-21 21:51:33","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\/35108","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=35108"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/35108\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=35108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=35108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=35108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}