{"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\/sv\/blog\/administrirovanie\/kak-my-moderiruem-obyavleniya","title":{"rendered":"S\u00e5 h\u00e4r modererar vi annonser","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"S\u00e5 h\u00e4r modererar vi annonser\" src=\"\/wp-content\/uploads\/26550996eb43e06cf069d989d90fe8d5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVarje tj\u00e4nst vars anv\u00e4ndare kan skapa eget inneh\u00e5ll (UGC - User-generated content) tvingas inte bara att l\u00f6sa aff\u00e4rsproblem, utan ocks\u00e5 att uppr\u00e4tta ordning i UGC. D\u00e5lig eller bristf\u00e4llig moderering av inneh\u00e5ll kan slutligen minska tj\u00e4nstens attraktivitet f\u00f6r anv\u00e4ndarna, \u00e4nda till att den slutar fungera. <\/p>\n<p>Idag ska vi ber\u00e4tta om synergierna mellan Jula och Odnoklassniki, som hj\u00e4lper oss att effektivt moderera annonser p\u00e5 Jula. <\/p>\n<p>Synergi \u00e4r \u00f6verlag en mycket anv\u00e4ndbar sak, och i dagens v\u00e4rld, d\u00e4r teknologier och trender f\u00f6r\u00e4ndras mycket snabbt, kan den bli en riktig r\u00e4ddare i n\u00f6den. Varf\u00f6r sl\u00f6sa knappa resurser och tid p\u00e5 att \u00e5teruppfinna det som redan har uppfunnits och finslipats av andra? <\/p>\n<p>S\u00e5 t\u00e4nkte vi ocks\u00e5, n\u00e4r vi stod inf\u00f6r uppgiften att moderera anv\u00e4ndargenererat inneh\u00e5ll - bilder, texter och l\u00e4nkar. V\u00e5ra anv\u00e4ndare laddar varje dag upp miljontals enheter av inneh\u00e5ll p\u00e5 Jula, och utan automatisk behandling \u00e4r det helt orealistiskt att moderera all denna data manuellt.<\/p>\n<p>D\u00e4rf\u00f6r anv\u00e4nde vi en redan f\u00e4rdig modereringsplattform som v\u00e5ra kollegor fr\u00e5n Odnoklassniki hade finslipat till ett tillst\u00e5nd av \"n\u00e4stan perfektion\".<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Varf\u00f6r Odnoklassniki?<\/h2>\n<p>\nVarje dag kommer tiotals miljoner anv\u00e4ndare till det sociala n\u00e4tverket och publicerar miljarder enheter av inneh\u00e5ll: fr\u00e5n fotografier till videor och texter. Modereringsplattformen fr\u00e5n Odnoklassniki hj\u00e4lper till att granska mycket stora datam\u00e4ngder och motverka spammare och bottar. <\/p>\n<p>Modereringsteamet p\u00e5 OK har samlat p\u00e5 sig mycket stor erfarenhet, eftersom de har utvecklat sitt verktyg i 12 \u00e5r. Det \u00e4r viktigt att de inte bara kunde dela med sig av sina f\u00e4rdiga l\u00f6sningar, utan ocks\u00e5 anpassa arkitekturen p\u00e5 sin plattform f\u00f6r v\u00e5ra specifika uppgifter.<\/p>\n<p><img decoding=\"async\" alt=\"S\u00e5 h\u00e4r modererar vi annonser\" src=\"\/wp-content\/uploads\/5f98b6c93728aad3de613fffb153f3d4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nF\u00f6r korthetens skull kommer vi h\u00e4refter att kalla modereringsplattformen fr\u00e5n OK helt enkelt \"plattformen\".<\/p>\n<h2>S\u00e5 h\u00e4r \u00e4r det uppbyggt<\/h2>\n<p>\nMellan Jula och Odnoklassniki \u00e4r datautbytet ordnat via <noindex><a rel=\"nofollow\" href=\"https:\/\/kafka.apache.org\/\">Apache Kafka<\/a><\/noindex>. <\/p>\n<p>Varf\u00f6r vi valde det h\u00e4r verktyget:<\/p>\n<ul>\n<li>P\u00e5 Jula genomg\u00e5r alla annonser postmoderering, s\u00e5 ett synkront svar beh\u00f6vdes inte fr\u00e5n b\u00f6rjan.\n<\/li>\n<li>Om det skulle uppst\u00e5 ett stort problem, och Jula eller Odnoklassniki skulle bli otillg\u00e4ngliga, \u00e4ven p\u00e5 grund av n\u00e5gon typ av toppbelastning, s\u00e5 kommer datan fr\u00e5n Kafka inte att f\u00f6rsvinna; den kan senare l\u00e4sas igen.\n<\/li>\n<li>Plattformen har redan integrerats med Kafka, s\u00e5 de flesta s\u00e4kerhetsfr\u00e5gorna har l\u00f6sts.\n<\/li>\n<\/ul>\n<p>\n <img decoding=\"async\" alt=\"S\u00e5 h\u00e4r modererar vi annonser\" src=\"\/wp-content\/uploads\/5aeaf03bac41c3113659d6d739021e71.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nF\u00f6r varje annons som skapas eller \u00e4ndras av anv\u00e4ndaren i Jula skapas en JSON med data, som l\u00e4ggs i Kafka f\u00f6r efterf\u00f6ljande moderering. Fr\u00e5n Kafka laddas annonserna upp till plattformen, d\u00e4r beslut fattas automatiskt eller manuellt. D\u00e5liga annonser blockeras med en angivelse av orsak, medan de annonser som plattformen inte finner n\u00e5gra brott mot reglerna i, m\u00e4rkts som 'bra'. Sedan skickas alla beslut tillbaka till Jula och till\u00e4mpas i tj\u00e4nsten.<\/p>\n<p>F\u00f6r Jula handlar det helt enkelt om f\u00f6ljande \u00e5tg\u00e4rder: att skicka en annons till plattformen f\u00f6r Odnoklassniki och f\u00e5 tillbaka en resolution om 'okej', eller varf\u00f6r det inte \u00e4r 'okej'.<\/p>\n<h2>Automatisk behandling<\/h2>\n<p>\nVad h\u00e4nder med annonsen efter att den kommit in p\u00e5 plattformen? Varje annons delas upp i flera entiteter:<\/p>\n<ul>\n<li>titel,\n<\/li>\n<li>beskrivning,\n<\/li>\n<li>foton,\n<\/li>\n<li>vald kategori och underkategori av annonsen,\n<\/li>\n<li>pris.\n<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"S\u00e5 h\u00e4r modererar vi annonser\" src=\"\/wp-content\/uploads\/e4396a3b4378975987fe3a871c3d6fbf.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nD\u00e4refter genomf\u00f6r plattformen klustring f\u00f6r varje entitet f\u00f6r att hitta dubbletter. B\u00e5de text och foton klustras enligt olika scheman.<\/p>\n<p>Texten normaliseras f\u00f6re klustring f\u00f6r att ta bort specialtecken, \u00e4ndrade bokst\u00e4ver och annat skr\u00e4p. De erh\u00e5llna uppgifterna delas upp i N-gram, var och en av dem hashas. I slut\u00e4ndan erh\u00e5lls m\u00e5nga unika hashkoder. Likheten mellan texterna ber\u00e4knas enligt <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\">Jaccard-m\u00e5tt<\/a><\/noindex> mellan de tv\u00e5 resulterande m\u00e4ngderna. Om likheten \u00f6verstiger tr\u00f6skelv\u00e4rdet klistras texterna samman i ett kluster. F\u00f6r att p\u00e5skynda s\u00f6kningen efter liknande kluster anv\u00e4nds MinHash och lokalt k\u00e4nslig hashing.<\/p>\n<p>F\u00f6r foton har olika alternativ f\u00f6r att sl\u00e5 ihop bilder utvecklats, fr\u00e5n att j\u00e4mf\u00f6ra pHash av bilder till att s\u00f6ka dubbletter med hj\u00e4lp av neurala n\u00e4tverk. <\/p>\n<p>Den sista metoden \u00e4r den mest 'str\u00e4nga'. F\u00f6r att tr\u00e4na modellen valdes s\u00e5dana tredubblar av bilder (N, A, P), d\u00e4r N inte liknar A, medan P liknar A (\u00e4r en halv dubblett). D\u00e4refter l\u00e4rde sig neurala n\u00e4tverket att A och P skulle vara s\u00e5 n\u00e4ra som m\u00f6jligt, medan A och N skulle vara s\u00e5 l\u00e5ngt ifr\u00e5n varandra som m\u00f6jligt. Detta ger f\u00e4rre falska positiv \u00e4n att bara ta inb\u00e4ddningar fr\u00e5n ett f\u00f6rtr\u00e4nat n\u00e4tverk.<\/p>\n<p>N\u00e4r neuronn\u00e4tverket f\u00e5r bilder som input, genererar det en N(128)-dimensionell vektor f\u00f6r varje bild och g\u00f6r en f\u00f6rfr\u00e5gan om att bed\u00f6ma bildens likhet. D\u00e4refter ber\u00e4knas en tr\u00f6skel f\u00f6r att avg\u00f6ra vilka bilder som anses vara dubbletter.<\/p>\n<p>Modellen \u00e4r m\u00e4sterligt bra p\u00e5 att hitta spamare som medvetet fotograferar samma produkt fr\u00e5n olika vinklar f\u00f6r att kringg\u00e5 j\u00e4mf\u00f6relsen med pHash.<\/p>\n<p><img decoding=\"async\" alt=\"S\u00e5 h\u00e4r modererar vi annonser\" src=\"\/wp-content\/uploads\/943a628a844ea124317e7eec8d3c19f7.png\" style=\"display:block;margin: 0 auto;\" \/><img decoding=\"async\" alt=\"S\u00e5 h\u00e4r modererar vi annonser\" src=\"\/wp-content\/uploads\/4b6f7082751ddb7581d00cf171797b1d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Exempel p\u00e5 spam-bilder som kombineras av neuronn\u00e4tverket som dubbletter.<\/i><\/p>\n<p>I det slutliga steget s\u00f6ks dubbletter av annonser samtidigt efter text och bild.<\/p>\n<p>Om tv\u00e5 eller fler annonser klumpas ihop i en kluster, startar systemet en automatisk blockering som v\u00e4ljer, enligt vissa algoritmer, vilka dubbletter som ska tas bort och vilka som ska beh\u00e5llas. Till exempel, om tv\u00e5 anv\u00e4ndare har samma bilder i sina annonser, s\u00e5 blockeras den nyare annonsen.<\/p>\n<p>Efter skapandet g\u00e5r alla kluster igenom en rad automatiska filter. Varje filter tilldelar klustret ett antal po\u00e4ng (score): hur stor sannolikhet det har att inneh\u00e5lla en hot som detta filter uppt\u00e4cker. <\/p>\n<p>Till exempel analyserar systemet beskrivningen i annonsen och v\u00e4ljer potentiella kategorier f\u00f6r den. Sedan tar det den med den h\u00f6gsta sannolikheten och j\u00e4mf\u00f6r den med kategorin som annonsf\u00f6rfattaren angav. Om de inte matchar blockeras annonsen f\u00f6r fel kategori. Eftersom vi \u00e4r sn\u00e4lla och \u00e4rliga, s\u00e4ger vi tydligt till anv\u00e4ndaren vilken kategori de b\u00f6r v\u00e4lja f\u00f6r att annonsen ska g\u00e5 igenom moderering.<\/p>\n<p><img decoding=\"async\" alt=\"S\u00e5 h\u00e4r modererar vi annonser\" src=\"\/wp-content\/uploads\/a909ea1ff91d57a225d2db1c96cd56a7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Meddelande om blockering f\u00f6r fel kategori.<\/i><\/p>\n<p>P\u00e5 v\u00e5r plattform trivs maskininl\u00e4rning som fisken i vattnet. Till exempel g\u00f6r vi det m\u00f6jligt att s\u00f6ka efter f\u00f6rbjudna varor i titlar och beskrivningar. Neuronn\u00e4tsmodellerna inspekterar kritiskt bilder f\u00f6r att se om det finns n\u00e5gra URL-adresser, spamtexter, telefonnummer och den d\u00e4r f\u00f6rbjudna varan.<\/p>\n<p>F\u00f6r fall d\u00e4r en f\u00f6rbjuden vara f\u00f6rs\u00f6ker s\u00e4ljas genom att maskeras som n\u00e5got lagligt, och det inte finns n\u00e5gon text varken i titeln eller i beskrivningen, anv\u00e4nder vi bildtaggning. F\u00f6r varje bild kan upp till 11 000 olika taggar anges som beskriver vad som finns p\u00e5 bilden.<\/p>\n<p><img decoding=\"async\" alt=\"S\u00e5 h\u00e4r modererar vi annonser\" src=\"\/wp-content\/uploads\/865afd80422c05d1277ac53f7fe0009e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>En vattenpipa f\u00f6rs\u00f6ker s\u00e4ljas, maskerad som en samovar.<\/i><\/p>\n<p>Parallellt med de komplexa filtren fungerar ocks\u00e5 de enkla som l\u00f6ser uppenbara problem relaterade till texten: <\/p>\n<ul>\n<li>anti-matter; \n<\/li>\n<li>detektor f\u00f6r URL-adresser och telefonnummer; \n<\/li>\n<li>n\u00e4mnande av meddelandetj\u00e4nster och andra kontakter; \n<\/li>\n<li>l\u00e5gt pris; \n<\/li>\n<li>annonser d\u00e4r ingenting s\u00e4ljs, osv.\n<\/li>\n<\/ul>\n<p>\nIdag passerar varje annons genom en finmaskig sil av mer \u00e4n 50 automatiska filter som f\u00f6rs\u00f6ker hitta n\u00e5got d\u00e5ligt i annonsen.<\/p>\n<p>Om ingen av detektorerna sl\u00e5r till, s\u00e5 skickas ett svar till Yula att annonsen \"f\u00f6rmodligen\" \u00e4r i full ordning. Detta svar till\u00e4mpar vi, och anv\u00e4ndarna som har f\u00f6ljt s\u00e4ljaren f\u00e5r en notification om att en ny produkt har kommit.<\/p>\n<p><img decoding=\"async\" alt=\"S\u00e5 h\u00e4r modererar vi annonser\" src=\"\/wp-content\/uploads\/37ed66a822d50348686c823e6b919712.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>En notifikation om att s\u00e4ljaren har f\u00e5tt en ny produkt.<\/i><\/p>\n<p>Som ett resultat \"v\u00e4xer\" varje annons med metadata, varav en del genereras vid skapandet av annonsen (avs\u00e4ndarens IP-adress, user-agent, plattform, geografisk plats osv.), och resten \u00e4r po\u00e4ng som ges av varje filter.<\/p>\n<h2>K\u00f6er av annonser<\/h2>\n<p>\nN\u00e4r en annons kommer in p\u00e5 plattformen placeras den i en av k\u00f6erna. Varje k\u00f6 formuleras med hj\u00e4lp av en matematisk formel som kombinerar metadata av annonsen p\u00e5 ett s\u00e4tt f\u00f6r att uppt\u00e4cka n\u00e5got d\u00e5ligt m\u00f6nster.<\/p>\n<p>Till exempel kan man skapa en k\u00f6 av annonser i kategorin \"Mobiltelefoner\" fr\u00e5n Yula-anv\u00e4ndare som p\u00e5st\u00e5s vara fr\u00e5n Sankt Petersburg, men vars IP-adresser \u00e4r fr\u00e5n Moskva eller andra st\u00e4der.<\/p>\n<p><img decoding=\"async\" alt=\"S\u00e5 h\u00e4r modererar vi annonser\" src=\"\/wp-content\/uploads\/de7b944fed4fc8682ab068c5956f1023.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Exempel p\u00e5 annonser som publicerats av en anv\u00e4ndare i olika st\u00e4der.<\/i><\/p>\n<p>Eller s\u00e5 kan k\u00f6er formas baserat p\u00e5 po\u00e4ng som neuronn\u00e4tverket tilldelar annonserna i fallande ordning.<\/p>\n<p>Varje k\u00f6 tilldelar ett slutgiltigt po\u00e4ng till annonsen enligt sin formel. D\u00e4refter kan man handla p\u00e5 olika s\u00e4tt: <\/p>\n<ul>\n<li>ange en tr\u00f6skel f\u00f6r n\u00e4r annonsen ska f\u00e5 en viss typ av blockering; \n<\/li>\n<li>skicka alla annonser i k\u00f6n till moderatorerna f\u00f6r manuell granskning;\n<\/li>\n<li>eller kombinera de tidigare alternativen: ange en tr\u00f6skel f\u00f6r automatisk blockering och skicka till moderatorerna de annonser som inte har n\u00e5tt denna tr\u00f6skel.\n<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"S\u00e5 h\u00e4r modererar vi annonser\" src=\"\/wp-content\/uploads\/46a773be691fb644df64fe68f999a568.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVarf\u00f6r beh\u00f6vs dessa k\u00f6er? Anta att en anv\u00e4ndare laddar upp ett foto p\u00e5 ett vapen. Neuraln\u00e4tverket ger det ett po\u00e4ng fr\u00e5n 95 till 100 och med 99 procents precision identifierar det att bilden f\u00f6rest\u00e4ller ett vapen. Men om po\u00e4ngen \u00e4r under 95 % b\u00f6rjar modellens precision att sjunka (detta \u00e4r en egenskap hos neuraln\u00e4tmodeller).<\/p>\n<p>Resultatet blir en k\u00f6 baserad p\u00e5 modellens po\u00e4ng, och de annonser som f\u00e5tt mellan 95 och 100 blockeras automatiskt som \"F\u00f6rbjuden vara\". Annonser med po\u00e4ng under 95 skickas f\u00f6r manuell granskning av moderatorerna.<\/p>\n<p><img decoding=\"async\" alt=\"S\u00e5 h\u00e4r modererar vi annonser\" src=\"\/wp-content\/uploads\/0b22d783560e9670b99661df2de9d9ba.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Choklad Beretta med patroner. Endast f\u00f6r manuell granskning! \ud83d\ude42<\/i><\/p>\n<h2>Manuell granskning<\/h2>\n<p>\nI b\u00f6rjan av 2019 modererades cirka 94 % av alla annonser p\u00e5 Yula automatiskt. <\/p>\n<p><img decoding=\"async\" alt=\"S\u00e5 h\u00e4r modererar vi annonser\" src=\"\/wp-content\/uploads\/7dc3172e65097cc58b2a29d2df063507.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOm plattformen inte kan avg\u00f6ra statusen f\u00f6r vissa annonser, skickas de f\u00f6r manuell granskning. Odnoklassniki har utvecklat ett eget verktyg: i uppgifterna f\u00f6r moderatorer visas all n\u00f6dv\u00e4ndig information f\u00f6r att snabbt kunna fatta beslut \u2014 om annonsen \u00e4r godk\u00e4nd eller ska blockeras med en angiven anledning.<\/p>\n<p>F\u00f6r att kvaliteten p\u00e5 tj\u00e4nsten inte ska f\u00f6rs\u00e4mras vid manuell granskning, \u00f6vervakas arbetet l\u00f6pande. Till exempel visas \"f\u00e4llor\" i streamen av uppgifter \u2014 annonser som redan har f\u00e4rdiga l\u00f6sningar. Om moderatorns beslut inte st\u00e4mmer \u00f6verens med den f\u00e4rdiga l\u00f6sningen f\u00e5r moderatorn en missr\u00e4kning.<\/p>\n<p>I genomsnitt l\u00e4gger en moderator 10 sekunder p\u00e5 att granska en annons. Antalet fel ligger p\u00e5 h\u00f6gst 0,5 % av alla granskade annonser.<\/p>\n<h2>Folkmoderation<\/h2>\n<p>\nKollegor fr\u00e5n Odnoklassniki gick \u00e4nnu l\u00e4ngre och anv\u00e4nde \"folkets hj\u00e4lp\": de skapade en spelapp f\u00f6r sociala n\u00e4tverket d\u00e4r man snabbt kan m\u00e4rka stora m\u00e4ngder data genom att identifiera d\u00e5liga k\u00e4nnetecken \u2014 Moderator Odnoklassniki (<noindex><a rel=\"nofollow\" href=\"https:\/\/ok.ru\/app\/moderator\">https:\/\/ok.ru\/app\/moderator<\/a><\/noindex>). Ett bra s\u00e4tt att utnyttja hj\u00e4lp fr\u00e5n anv\u00e4ndare av OK, som str\u00e4var efter att g\u00f6ra inneh\u00e5llet trevligare.<\/p>\n<p><img decoding=\"async\" alt=\"S\u00e5 h\u00e4r modererar vi annonser\" src=\"\/wp-content\/uploads\/8889b29402991047e43c1d7eaf7a3c77.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Ett spel d\u00e4r anv\u00e4ndare markerar foton som inneh\u00e5ller ett telefonnummer.<\/i><\/p>\n<p>Alla annonsk\u00f6er p\u00e5 plattformen kan omdirigeras till spelet Moderator Okontakt. Allt som markerats av spelets anv\u00e4ndare skickas sedan till interna moderatorer f\u00f6r granskning. Denna metod g\u00f6r det m\u00f6jligt att blockera annonser d\u00e4r inga filter har skapats \u00e4n, samtidigt som man skapar tr\u00e4nings exempel.<\/p>\n<h2>Lagring av modereringsresultat<\/h2>\n<p>\nVi sparar alla beslut som fattas under modereringen f\u00f6r att inte beh\u00f6va bearbeta annonser som redan har bed\u00f6mts p\u00e5 nytt.<\/p>\n<p>Det skapas varje dag miljoner kluster f\u00f6r annonser. Med tiden f\u00e5r varje kluster en m\u00e4rkning av \"bra\" eller \"d\u00e5lig\". Varje ny annons eller dess redigering som hamnar i ett kluster med en m\u00e4rkning f\u00e5r automatiskt klustrets resolution. Det handlar om cirka 20 000 s\u00e5dana automatiska resolutioner per dag.<\/p>\n<p><img decoding=\"async\" alt=\"S\u00e5 h\u00e4r modererar vi annonser\" src=\"\/wp-content\/uploads\/0be3a108970402282121b4dc58dc3a57.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOm inga nya annonser kommer till klustret tas det bort fr\u00e5n minnet, och dess hash och beslut skrivs in i Apache Cassandra.<\/p>\n<p>N\u00e4r plattformen f\u00e5r en ny annons f\u00f6rs\u00f6ker den f\u00f6rst att hitta ett liknande kluster bland de redan skapade och ta beslutet d\u00e4rifr\u00e5n. Om det inte finns n\u00e5got s\u00e5dant kluster g\u00e5r plattformen till Cassandra och s\u00f6ker d\u00e4r. Hittade den? Utm\u00e4rkt, till\u00e4mpar beslutet p\u00e5 klustret och skickar det till Yula. Det handlar om i genomsnitt 70 000 s\u00e5dana \"\u00e5terkommande\" beslut varje dag \u2014 8 % av det totala antalet.<\/p>\n<h2>Sammanfattningsvis<\/h2>\n<p>\nVi har anv\u00e4nt Moderator Okontakt-plattformen i tv\u00e5 och ett halvt \u00e5r. Resultaten gillar vi:<\/p>\n<ul>\n<li>Vi modererar automatiskt 94 % av alla annonser per dag.\n<\/li>\n<li>Kostnaden f\u00f6r att moderera en annons har minskat fr\u00e5n 2 rubel till 7 kopejki.\n<\/li>\n<li>Tack vare det f\u00e4rdiga verktyget har vi gl\u00f6mt problemet med att hantera moderatorer.\n<\/li>\n<li>Vi har \u00f6kat antalet manuellt behandlade annonser med 2,5 g\u00e5nger med samma antal moderatorer och budget. Dessutom har kvaliteten p\u00e5 den manuella modereringen \u00f6kat tack vare automatiserad kontroll och ligger runt 0,5 % fel.\n<\/li>\n<li>Vi t\u00e4cker snabbt nya typer av spam med filter.\n<\/li>\n<li>Vi kopplar snabbt nya avdelningar till modereringen <noindex><a rel=\"nofollow\" href=\"https:\/\/vc.ru\/transport\/32671-servis-obyavleniy-yula-zapustil-razdel-dlya-prodazhi-avtomobiley-s-vydachey-kreditov\">\u00abYula Vertikaler\u00bb<\/a><\/noindex>. Sedan 2017 har Yula f\u00e5tt vertikaler inom Fastigheter, Lediga platser och Bil.\n<\/li>\n<\/ul>\n<p>K\u00e4lla: <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.4 - 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\/sv\/blog\/administrirovanie\/kak-my-moderiruem-obyavleniya\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47S\u00e5 modererar vi annonser | ProHoster","description":"Varje tj\u00e4nst d\u00e4r anv\u00e4ndare kan skapa eget inneh\u00e5ll.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/kak-my-moderiruem-obyavleniya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/35108","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=35108"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/35108\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=35108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=35108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=35108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}