{"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\/ro\/blog\/administrirovanie\/kak-my-moderiruem-obyavleniya","title":{"rendered":"Cum moder\u0103m anun\u021burile","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Cum moder\u0103m anun\u021burile\" src=\"\/wp-content\/uploads\/26550996eb43e06cf069d989d90fe8d5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFiecare serviciu, care permite utilizatorilor s\u0103 creeze propriul con\u021binut (UGC \u2014 Con\u021binut generat de utilizatori), este obligat s\u0103 rezolve nu doar problemele de afaceri, ci \u0219i s\u0103 organizeze UGC-ul. Moderarea slab\u0103 sau de calitate inferioar\u0103 a con\u021binutului poate reduce, \u00een cele din urm\u0103, atractivitatea serviciului pentru utilizatori, p\u00e2n\u0103 la \u00eencetarea activit\u0103\u021bii acestuia. <\/p>\n<p>Ast\u0103zi v\u0103 vom vorbi despre sinergia dintre Yula \u0219i Odnoklassniki, care ne ajut\u0103 s\u0103 moder\u0103m eficient anun\u021burile pe Yula. <\/p>\n<p>Sinergia este \u00een general un lucru foarte util, iar \u00een lumea modern\u0103, unde tehnologiile \u0219i tendin\u021bele se schimb\u0103 foarte repede, poate deveni o baghet\u0103 magic\u0103. De ce s\u0103 cheltuim resurse \u0219i timp rare pentru a inventa ceea ce al\u021bii au deja inventat \u0219i perfec\u021bionat? <\/p>\n<p>A\u0219a am g\u00e2ndit \u0219i noi, c\u00e2nd am \u00eent\u00e2mpinat sarcina moder\u0103rii con\u021binutului utilizatorilor \u2014 imagini, texte \u0219i linkuri. Utilizatorii no\u0219tri \u00eencarc\u0103 zilnic milioane de unit\u0103\u021bi de con\u021binut pe Yula, iar f\u0103r\u0103 procesare automat\u0103, moderarea manual\u0103 a tuturor datelor nu este deloc realizabil\u0103.<\/p>\n<p>De aceea, am folosit o platform\u0103 de moderare deja existent\u0103, pe care colegii no\u0219tri de la Odnoklassniki o perfec\u021bionaser\u0103 p\u00e2n\u0103 la stadiul de \u201eaproape perfect\u201d.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>De ce Odnoklassniki?<\/h2>\n<p>\n\u00cen fiecare zi, re\u021beaua social\u0103 atrage zeci de milioane de utilizatori care public\u0103 miliarde de unit\u0103\u021bi de con\u021binut: de la fotografii la videoclipuri \u0219i texte. Platforma de moderare a Odnoklassniki ajut\u0103 la examinarea unor volume foarte mari de date \u0219i la combaterea spamerilor \u0219i botilor. <\/p>\n<p>Echipa de moderare a O.K. a acumulat o experien\u021b\u0103 considerabil\u0103, deoarece \u00ee\u0219i perfec\u021bioneaz\u0103 instrumentul de 12 ani. Este important ca ei nu doar s\u0103 fi putut \u00eemp\u0103rt\u0103\u0219i solu\u021biile lor gata, ci \u0219i s\u0103 ajusteze arhitectura platformei lor la cerin\u021bele noastre specifice.<\/p>\n<p><img decoding=\"async\" alt=\"Cum moder\u0103m anun\u021burile\" src=\"\/wp-content\/uploads\/5f98b6c93728aad3de613fffb153f3d4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00cen continuare, din considerente de concizie, vom numi platforma de moderare a O.K. simplu \u201eplatform\u0103\u201d.<\/p>\n<h2>Cum este organizat totul<\/h2>\n<p>\n\u00centre Yula \u0219i Odnoklassniki, schimbul de date este stabilit prin <noindex><a rel=\"nofollow\" href=\"https:\/\/kafka.apache.org\/\">Apache Kafka<\/a><\/noindex>. <\/p>\n<p>De ce am ales acest instrument:<\/p>\n<ul>\n<li>Pe Yula, toate anun\u021burile trec prin postmoderare, astfel c\u0103 nu era necesar un r\u0103spuns sincron la \u00eenceput.\n<\/li>\n<li>Dac\u0103 se va \u00eent\u00e2mpla un incident grav \u0219i Yula sau Odnoklassniki vor fi indisponibile, inclusiv din cauza unor sarcini de v\u00e2rf, datele din Kafka nu vor disp\u0103rea nic\u0103ieri \u0219i le putem citi mai t\u00e2rziu.\n<\/li>\n<li>Platforma a fost deja integrat\u0103 cu Kafka, astfel c\u0103 cele mai multe probleme de securitate au fost rezolvate.\n<\/li>\n<\/ul>\n<p>\n <img decoding=\"async\" alt=\"Cum moder\u0103m anun\u021burile\" src=\"\/wp-content\/uploads\/5aeaf03bac41c3113659d6d739021e71.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPentru fiecare anun\u021b creat sau modificat de utilizator pe Yula, se genereaz\u0103 un JSON cu date, care este plasat \u00een Kafka pentru moderarea ulterioar\u0103. Anun\u021burile sunt \u00eenc\u0103rcate din Kafka \u00een platform\u0103, unde sunt luate decizii automat sau manual. Anun\u021burile proaste sunt blocate cu indicarea motivului, iar cele \u00een care platforma nu a g\u0103sit \u00eenc\u0103lc\u0103ri sunt marcate ca \u201ebune\u201d. Apoi, toate deciziile sunt trimise \u00eenapoi \u00een Yula \u0219i aplicate \u00een serviciu.<\/p>\n<p>\u00cen final, pentru Yula totul se rezum\u0103 la ac\u021biuni simple: trimite un anun\u021b \u00een platforma Odnoklassniki \u0219i prime\u0219te \u00eenapoi o rezolu\u021bie \u201eok\u201d sau motivul pentru care nu este \u201eok\u201d.<\/p>\n<h2>Prelucrare automat\u0103<\/h2>\n<p>\nCe se \u00eent\u00e2mpl\u0103 cu anun\u021bul dup\u0103 ce ajunge \u00een platform\u0103? Fiecare anun\u021b este \u00eemp\u0103r\u021bit \u00een mai multe entit\u0103\u021bi:<\/p>\n<ul>\n<li>titlu,\n<\/li>\n<li>descriere,\n<\/li>\n<li>fotografii,\n<\/li>\n<li>categoria \u0219i subcategoria selectat\u0103 de utilizator pentru anun\u021b,\n<\/li>\n<li>pre\u021b.\n<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Cum moder\u0103m anun\u021burile\" src=\"\/wp-content\/uploads\/e4396a3b4378975987fe3a871c3d6fbf.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nApoi, pentru fiecare entitate, platforma efectueaz\u0103 o clusterizare pentru a g\u0103si duplicate. At\u00e2t textul c\u00e2t \u0219i fotografiile sunt clusterizate conform unor scheme diferite.<\/p>\n<p>Textele sunt normalizate \u00eenainte de clusterizare pentru a elimina simbolurile speciale, literele modificate \u0219i alte mizerii. Datele ob\u021binute sunt \u00eemp\u0103r\u021bite \u00een N-gramme, fiecare dintre ele fiind h\u0103\u0219uit\u0103. \u00cen final, se ob\u021bin numeroase hashe-uri unice. Similaritatea \u00eentre texte este calculat\u0103 dup\u0103 <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\">m\u0103sura Jaccard<\/a><\/noindex> \u00eentre cele dou\u0103 mul\u021bimi ob\u021binute. Dac\u0103 similaritatea dep\u0103\u0219e\u0219te un prag, textele sunt unite \u00eentr-un singur cluster. Pentru a accelera c\u0103utarea clusterelor asem\u0103n\u0103toare, se folose\u0219te MinHash \u0219i Locality-sensitive hashing.<\/p>\n<p>Pentru fotografii, s-au g\u00e2ndit diferite variante de unire a imaginilor, de la compararea imaginilor cu pHash p\u00e2n\u0103 la c\u0103utarea duplicatelor cu ajutorul unei re\u021bele neuronale. <\/p>\n<p>Ultima metod\u0103 este cea mai \u201easpr\u0103\u201d. Pentru antrenarea modelului s-au selectat astfel de trio-uri de imagini (N, A, P), \u00een care N nu este asem\u0103n\u0103tor cu A, iar P este asem\u0103n\u0103tor cu A (este un quasi-duplicat). Apoi, re\u021beaua neuronal\u0103 a \u00eenv\u0103\u021bat s\u0103 fac\u0103 astfel \u00eenc\u00e2t A \u0219i P s\u0103 fie c\u00e2t mai apropiate, iar A \u0219i N s\u0103 fie c\u00e2t mai \u00eendep\u0103rtate. Astfel se ob\u021bin mai pu\u021bine alarme false comparativ cu simpla utilizare a embeddings de la o re\u021bea pre-antrenat\u0103.<\/p>\n<p>C\u00e2nd re\u021beaua neuronal\u0103 prime\u0219te imagini, aceasta genereaz\u0103 un vector N(128)-dimensional pentru fiecare dintre ele \u0219i face o cerere pentru evaluarea similitudinii imaginii. Apoi, se calculeaz\u0103 un prag, la care imaginile apropiate sunt considerate duplicate.<\/p>\n<p>Modelul poate s\u0103 g\u0103seasc\u0103 cu m\u0103iestrie spammerii care fotografiaz\u0103 acela\u0219i produs din unghiuri diferite pentru a ocoli compara\u021bia prin pHash.<\/p>\n<p><img decoding=\"async\" alt=\"Cum moder\u0103m anun\u021burile\" src=\"\/wp-content\/uploads\/943a628a844ea124317e7eec8d3c19f7.png\" style=\"display:block;margin: 0 auto;\" \/><img decoding=\"async\" alt=\"Cum moder\u0103m anun\u021burile\" src=\"\/wp-content\/uploads\/4b6f7082751ddb7581d00cf171797b1d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Exemplu de fotografii de spam, unite de re\u021beaua neuronal\u0103 ca duplicate.<\/i><\/p>\n<p>\u00cen etapa final\u0103, duplicatele anun\u021burilor sunt c\u0103utate simultan at\u00e2t pe text, c\u00e2t \u0219i pe imagine.<\/p>\n<p>Dac\u0103 \u00een cluster se unesc dou\u0103 sau mai multe anun\u021buri, sistemul activeaz\u0103 o blocare automat\u0103, care, conform unor algoritmi specifici, selecteaz\u0103 care duplicate s\u0103 fie \u0219terse \u0219i care s\u0103 r\u0103m\u00e2n\u0103. De exemplu, dac\u0103 doi utilizatori au acelea\u0219i fotografii \u00een anun\u021b, sistemul va bloca anun\u021bul mai recent.<\/p>\n<p>Dup\u0103 crearea lor, toate clusterele trec printr-o serie de filtre automate. Fiecare filtru atribuie clusterului un num\u0103r de puncte (score): cu ce probabilitate con\u021bine acea amenin\u021bare identificat\u0103 de acest filtru. <\/p>\n<p>De exemplu, sistemul analizeaz\u0103 descrierea din anun\u021b \u0219i selecteaz\u0103 categorii poten\u021biale pentru acesta. Apoi ia categoria cu cea mai mare probabilitate \u0219i o compar\u0103 cu categoria specificat\u0103 de autorul anun\u021bului. Dac\u0103 acestea nu se potrivesc, anun\u021bul este blocat pentru categorie gre\u0219it\u0103. Iar pentru c\u0103 suntem buni \u0219i one\u0219ti, le spunem utilizatorilor ce categorie trebuie s\u0103 aleag\u0103 pentru ca anun\u021bul s\u0103 treac\u0103 de moderare.<\/p>\n<p><img decoding=\"async\" alt=\"Cum moder\u0103m anun\u021burile\" src=\"\/wp-content\/uploads\/a909ea1ff91d57a225d2db1c96cd56a7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Notificare de blocare pentru categorie gre\u0219it\u0103.<\/i><\/p>\n<p>Pe platforma noastr\u0103, \u00eenv\u0103\u021barea automat\u0103 se simte ca acas\u0103. De exemplu, cu ajutorul ei, c\u0103ut\u0103m \u00een titluri \u0219i descrieri produse interzise \u00een RF. Modelele re\u021belelor neuronale inspecteaz\u0103 cu aten\u021bie imaginile, c\u0103ut\u00e2nd URL-uri, texte de spam, telefoane \u0219i aceea\u0219i \u201einterzicere\u201d.<\/p>\n<p>Pentru cazurile \u00een care un produs interzis este v\u00e2ndut sub masca unuia legal \u0219i nu exist\u0103 niciun text \u00een titlu sau descriere, folosim etichetarea imaginilor. Fiecare imagine poate primi p\u00e2n\u0103 la 11 000 de tag-uri diferite, descriind ce se afl\u0103 \u00een imagine.<\/p>\n<p><img decoding=\"async\" alt=\"Cum moder\u0103m anun\u021burile\" src=\"\/wp-content\/uploads\/865afd80422c05d1277ac53f7fe0009e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Se \u00eencearc\u0103 v\u00e2nzarea unui narghilea sub masca unui samovar.<\/i><\/p>\n<p>\u00cen paralel cu filtrele complexe func\u021bioneaz\u0103 \u0219i cele simple, care rezolv\u0103 sarcini evidente legate de text: <\/p>\n<ul>\n<li>antimat; \n<\/li>\n<li>detector de URL-uri \u0219i numere de telefon; \n<\/li>\n<li>men\u021bionarea aplica\u021biilor de mesagerie \u0219i altor contacte; \n<\/li>\n<li>pre\u021b redus; \n<\/li>\n<li>anun\u021buri \u00een care nu se v\u00e2nd nimic etc.\n<\/li>\n<\/ul>\n<p>\nAst\u0103zi, fiecare anun\u021b trece printr-o sit\u0103 fin\u0103 de peste 50 de filtre automate, care \u00eencearc\u0103 s\u0103 g\u0103seasc\u0103 ceva negativ \u00een anun\u021b.<\/p>\n<p>Dac\u0103 niciunul dintre detectoare nu s-a activat, se trimite unui utilizator un r\u0103spuns c\u0103, \u201ecel mai probabil\u201d, anun\u021bul este \u00een ordine. Aplic\u0103m acest r\u0103spuns \u0219i utilizatorii care s-au abonat la v\u00e2nz\u0103tor primesc o notificare despre apari\u021bia unui nou produs.<\/p>\n<p><img decoding=\"async\" alt=\"Cum moder\u0103m anun\u021burile\" src=\"\/wp-content\/uploads\/37ed66a822d50348686c823e6b919712.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>O notificare c\u0103 v\u00e2nz\u0103torul a ad\u0103ugat un nou produs.<\/i><\/p>\n<p>\u00cen consecin\u021b\u0103, fiecare anun\u021b \u201ese \u00eembog\u0103\u021be\u0219te\u201d cu metadate, parte din care sunt generate la crearea anun\u021bului (adresa IP a autorului, user-agent, platform\u0103, geoloca\u021bie etc.), iar restul este scoruri, acordate de fiecare filtru.<\/p>\n<h2>Cozi de anun\u021buri<\/h2>\n<p>\nC\u00e2nd un anun\u021b ajunge pe platform\u0103, sistemul \u00eel plaseaz\u0103 \u00eentr-una dintre cozi. Fiecare coad\u0103 este format\u0103 printr-o formul\u0103 matematic\u0103, care combin\u0103 metadatele anun\u021bului pentru a detecta un model negativ.<\/p>\n<p>De exemplu, se poate crea o coad\u0103 de anun\u021buri din categoria \u201eTelefoane mobile\u201d de la utilizatori ai platformei Yula care pretind c\u0103 sunt din Sankt Petersburg, dar au adrese IP provenind din Moscova sau alte ora\u0219e.<\/p>\n<p><img decoding=\"async\" alt=\"Cum moder\u0103m anun\u021burile\" src=\"\/wp-content\/uploads\/de7b944fed4fc8682ab068c5956f1023.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Exemplu de anun\u021buri postate de un singur utilizator \u00een diferite ora\u0219e.<\/i><\/p>\n<p>Sau se pot forma cozi pe baza scorurilor pe care re\u021beaua neuronal\u0103 le atribuie anun\u021burilor, ordon\u00e2ndu-le \u00een ordine descresc\u0103toare.<\/p>\n<p>Fiecare coad\u0103, conform formulei sale, atribuie un scor final anun\u021bului. Ulterior, se pot lua diferite decizii: <\/p>\n<ul>\n<li>a stabili o valoare limit\u0103, la care anun\u021bul va primi un anumit tip de blocare; \n<\/li>\n<li>toate anun\u021burile din coad\u0103 s\u0103 fie trimise moderatorilor pentru o verificare manual\u0103;\n<\/li>\n<li>sau s\u0103 combine op\u021biunile anterioare: s\u0103 stabileasc\u0103 un prag de blocare automat\u0103 \u0219i s\u0103 trimit\u0103 moderatorilor acele anun\u021buri care nu au atins acest prag.\n<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Cum moder\u0103m anun\u021burile\" src=\"\/wp-content\/uploads\/46a773be691fb644df64fe68f999a568.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDe ce sunt necesare aceste cozi? S\u0103 presupunem c\u0103 un utilizator a \u00eenc\u0103rcat o fotografie a unei arme de foc. Re\u021beaua neuronal\u0103 \u00eei acord\u0103 un scor \u00eentre 95 \u0219i 100 \u0219i determin\u0103 cu o precizie de 99% c\u0103 pe imagine este o arm\u0103. Dar dac\u0103 valoarea scorului este sub 95%, precizia modelului \u00eencepe s\u0103 scad\u0103 (aceasta este o caracteristic\u0103 a modelelor de re\u021bele neuronale).<\/p>\n<p>Astfel, se formeaz\u0103 o coad\u0103 pe baza scorului modelului, iar cele dintre anun\u021buri care au ob\u021binut \u00eentre 95 \u0219i 100 sunt blocate automat ca \u201eProduse interzise\u201d. Anun\u021burile cu un num\u0103r de puncte sub 95 sunt trimise pentru procesare manual\u0103 de c\u0103tre moderatori.<\/p>\n<p><img decoding=\"async\" alt=\"Cum moder\u0103m anun\u021burile\" src=\"\/wp-content\/uploads\/0b22d783560e9670b99661df2de9d9ba.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Beretta din ciocolat\u0103 cu cartu\u0219e. Doar pentru moderare manual\u0103! \ud83d\ude42<\/i><\/p>\n<h2>Moderare manual\u0103<\/h2>\n<p>\nLa \u00eenceputul anului 2019, aproximativ 94% din toate anun\u021burile de pe Yula sunt moderate automat. <\/p>\n<p><img decoding=\"async\" alt=\"Cum moder\u0103m anun\u021burile\" src=\"\/wp-content\/uploads\/7dc3172e65097cc58b2a29d2df063507.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDac\u0103 platforma nu poate decide asupra unor anun\u021buri, le trimite pentru moderare manual\u0103. Odnoklassniki a dezvoltat un instrument propriu: \u00een sarcinile pentru moderatori se afi\u0219eaz\u0103 imediat toate informa\u021biile necesare pentru a lua o decizie rapid\u0103 \u2014 anun\u021bul este valid sau trebuie blocat cu o indica\u021bie a motivei.<\/p>\n<p>\u0218i pentru a nu afecta calitatea serviciului \u00een timpul moder\u0103rii manuale, activitatea oamenilor este constant monitorizat\u0103. De exemplu, \u00een fluxul de sarcini, moderatorului i se arat\u0103 \u201ecapcane\u201d \u2013 anun\u021buri pentru care deja exist\u0103 solu\u021bii preg\u0103tite. Dac\u0103 decizia moderatorului nu corespunde cu solu\u021bia existent\u0103, moderatorului i se cere o eroare.<\/p>\n<p>Moderatorul cheltuie \u00een medie 10 secunde pentru verificarea unui anun\u021b. \u00cen acest timp, num\u0103rul de erori nu dep\u0103\u0219e\u0219te 0,5% din toate anun\u021burile verificate.<\/p>\n<h2>Moderare popular\u0103<\/h2>\n<p>\nColegele de la Odnoklassniki au mers \u0219i mai departe, folosind \u201eajutorul mul\u021bimii\u201d: au scris pentru re\u021beaua social\u0103 o aplica\u021bie-joc, \u00een care este posibil s\u0103 marchezi rapid o cantitate mare de date, eviden\u021biind un anumit semn r\u0103u \u2014 Moderator Odnoklassniki (<noindex><a rel=\"nofollow\" href=\"https:\/\/ok.ru\/app\/moderator\">https:\/\/ok.ru\/app\/moderator<\/a><\/noindex>). O modalitate bun\u0103 de a beneficia de ajutorul utilizatorilor OK, care se str\u0103duiesc s\u0103 fac\u0103 con\u021binutul mai pl\u0103cut.<\/p>\n<p><img decoding=\"async\" alt=\"Cum moder\u0103m anun\u021burile\" src=\"\/wp-content\/uploads\/8889b29402991047e43c1d7eaf7a3c77.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Un joc \u00een care utilizatorii marcheaz\u0103 fotografii \u00een care apare un num\u0103r de telefon.<\/i><\/p>\n<p>Orice grup de anun\u021buri pe platform\u0103 poate fi redirec\u021bionat c\u0103tre jocul Moderator Odnoklassniki. Tot ceea ce marcheaz\u0103 utilizatorii jocului este ulterior \u00eenaintat moderatorilor interni pentru verificare. Aceast\u0103 schem\u0103 permite blocarea anun\u021burilor pentru care nu au fost \u00eenc\u0103 create filtre, \u0219i \u00een acela\u0219i timp, se creeaz\u0103 seturi de instruire.<\/p>\n<h2>Stocarea rezultatelor moder\u0103rii<\/h2>\n<p>\nP\u0103str\u0103m toate deciziile luate \u00een timpul moder\u0103rii pentru a nu procesa din nou anun\u021burile pentru care deja s-a luat o decizie.<\/p>\n<p>Zi de zi, se creeaz\u0103 milioane de grupuri pentru anun\u021buri. \u00cen timp, fiecare grup prime\u0219te eticheta \"bun\" sau \"r\u0103u\". Fiecare nou anun\u021b sau revizuirea sa, atunci c\u00e2nd ajunge \u00eentr-un grup cu eticheta corespunz\u0103toare, prime\u0219te automat rezolu\u021bia grupului. \u00cen fiecare zi, se adun\u0103 aproximativ 20 de mii de rezolu\u021bii automate.<\/p>\n<p><img decoding=\"async\" alt=\"Cum moder\u0103m anun\u021burile\" src=\"\/wp-content\/uploads\/0be3a108970402282121b4dc58dc3a57.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDac\u0103 nu mai sosesc altele noi \u00een grup, acesta este \u0219ters din memorie, iar hash-ul \u0219i solu\u021bia sunt salvate \u00een Apache Cassandra.<\/p>\n<p>C\u00e2nd platforma prime\u0219te un nou anun\u021b, \u00eencearc\u0103 mai \u00eent\u00e2i s\u0103 g\u0103seasc\u0103 un grup similar dintre cele deja create \u0219i s\u0103 preia decizia din acesta. Dac\u0103 un astfel de grup nu exist\u0103, platforma caut\u0103 \u00een Cassandra. A g\u0103sit? Perfect, aplic\u0103 solu\u021bia grupului \u0219i o trimite \u00een Iula. Astfel de solu\u021bii \"repetate\" se str\u00e2ng zilnic, \u00een medie, 70 de mii \u2014 8% din total.<\/p>\n<h2>\u00cen concluzie<\/h2>\n<p>\nFolosim platforma de moderare Odnoklassniki de doi ani \u0219i jum\u0103tate. Rezultatele ne plac:<\/p>\n<ul>\n<li>Moder\u0103m automat 94% din toate anun\u021burile pe zi.\n<\/li>\n<li>Costul moder\u0103rii unui anun\u021b a fost redus de la 2 ruble la 7 kopeici.\n<\/li>\n<li>Datorit\u0103 instrumentului gata folosit, am uitat de problemele de gestionare a moderatorilor.\n<\/li>\n<li>Am crescut de 2,5 ori num\u0103rul anun\u021burilor procesate manual, men\u021bin\u00e2nd acela\u0219i num\u0103r de moderatori \u0219i buget. De asemenea, calitatea moder\u0103rii manuale a crescut datorit\u0103 controlului automatizat, fluctu\u00e2nd \u00een jur de 0,5% erori.\n<\/li>\n<li>Acoperim rapid noile tipuri de spam cu filtre.\n<\/li>\n<li>Conect\u0103m rapid noi unit\u0103\u021bi la moderare <noindex><a rel=\"nofollow\" href=\"https:\/\/vc.ru\/transport\/32671-servis-obyavleniy-yula-zapustil-razdel-dlya-prodazhi-avtomobiley-s-vydachey-kreditov\">\u201eIula Verticale\u201d<\/a><\/noindex>. Din 2017, Iula a lansat verticale pentru Imobiliare, Locuri de munc\u0103 \u0219i Auto.\n<\/li>\n<\/ul>\n<p>Sursa: <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.2.1 - 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\/ro\/blog\/administrirovanie\/kak-my-moderiruem-obyavleniya\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47Cum moder\u0103m anun\u021burile | ProHoster","description":"Fiecare serviciu al c\u0103rui utilizatori pot crea propriul con\u021binut.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/kak-my-moderiruem-obyavleniya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/35108","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=35108"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/35108\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=35108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=35108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=35108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}