Si e moderuojmë shpalljet

Si e moderuojmë shpalljet

Çdo shërbim, të cilin përdoruesit e tij mund të krijojnë përmbajtje të vet, është i detyruar jo vetëm të zgjidhë detyrat e biznesit, por edhe të organizojë përmbajtjen e përdoruesve. Moderimi i dobët ose i pacaktuar i përmbajtjes mund të zvogëlojë tërheqjen e shërbimit për përdoruesit, madje deri në ndërprerjen e funksionimit të tij.

Sot do t'ju tregojmë për sinergjinë midis Yula dhe Odnoklassniki, e cila na ndihmon të moderonim efektivisht shpalljet në Yula.

Sinergjia është një gjë shumë e dobishme, dhe në botën moderne, kur teknologjitë dhe trendet ndryshojnë shumë shpejt, ajo mund të shndërrohet në një shpëtim. Pse të harxhojmë burime dhe kohë të çmuara për të shpikur atë që dikush e ka shpikur dhe e ka zhvilluar para nesh?

Kështu menduam edhe ne, kur u përballëm me detyrën e moderimit të përmbajtjes së përdoruesve — imazhe, tekste dhe lidhje. Përdoruesit tanë ngarkojnë çdo ditë miliona njësi përmbajtjeje në Yula, dhe pa përpunim automatik, nuk është reale të moderosh të dhëna të tilla manualisht.

Prandaj, përdorëm një platformë moderimi që ishte gati, e cila në atë kohë ishte përmirësuar nga kolegët tanë nga Odnoklassniki deri në një gjendje "gati perfekte".

Pse Odnoklassniki?

Çdo ditë, dhjetëra miliona përdorues regjistrohen në rrjetin social, duke publikuar miliarda njësi përmbajtjeje: nga fotografitë deri te videot dhe tekstet. Platforma e moderimit të Odnoklassniki ndihmon në kontrollin e volumedheve të mëdha të të dhënave dhe në luftimin e spamereve dhe botëve.

Ekipa e moderimit të OK ka akumuluar një përvojë shumë të madhe, pasi ka përmirësuar mjetin e saj për 12 vjet. E rëndësishme është që ata jo vetëm që kishin mundësi të ndanin zgjidhjet e tyre të gatshme, por gjithashtu të konfiguronte arkitekturën e platformës së tyre për nevojat tona specifike.

Si e moderuojmë shpalljet

Nga këtu e tutje për shkak të shkurtësisë, do ta quajmë platformën e moderimit të OK thjesht "platforma".

Si është ndërtuar gjithçka

Midis Yula dhe Odnoklassniki, shkëmbimi i të dhënave është i organizuar përmes Apache Kafka.

Pse e zgjodhëm këtë mjet:

  • Në Yula, të gjitha shpalljet kalojnë post-moderim, prandaj në fillim nuk ishte e nevojshme një përgjigje sinkrone.
  • Nëse ndodh një situatë e papritur dhe Yula ose Odnoklassniki nuk janë të aksesueshme, duke përfshirë për shkak të ngarkesave të pikave, të dhënat nga Kafka nuk do të humbasin dhe më vonë do të mund të lexohen.
  • Platforma është integruar tashmë me Kafka, kështu që shumica e çështjeve të sigurisë janë zgjidhur.

Si e moderuojmë shpalljet

Për çdo njoftim të krijuar ose të ndryshuar nga përdoruesi në Jula formohet një JSON me të dhënat, i cili vendoset në Kafka për moderim të mëvonshëm. Nga Kafka, njoftimet ngarkohen në platformë, ku vendosen vendime automatikisht ose manualisht. Njoftimet e këqija bllokohen me shpjegimin e arsyeve, ndërsa ato për të cilat platforma nuk ka gjetur shkelje, shënohen si 'të mira'. Më pas, të gjitha vendimet dërgohen përsëri në Jula dhe aplikohet në shërbim.

Në fund, për Jula gjithçka reduktohet në veprime të thjeshta: dërgo një njoftim në platformën e Odnoklassnikov dhe merr mbrapsht një rezolutë 'mirë', ose pse nuk është 'mirë'.

Përpunimi automatik

Çfarë ndodh me njoftimin pasi ai arrin në platformë? Çdo njoftim ndahet në disa entitete:

  • titulli,
  • përshkrimi,
  • fotografitë,
  • kategoria dhe nëkategoria e zgjedhur nga përdoruesi për njoftimin,
  • çmimi.

Si e moderuojmë shpalljet

Pastaj, për secilën entitet, platforma realizon klasterizimin për të gjetur dublikatet. Teksti dhe fotografitë klasterizohen sipas skemave të ndryshme.

Tekstet para klasterizimit normalizohen për të hequr karakteret speciale, shkronjat e modifikuara dhe mbeturinat e tjera. Të dhënat e marra ndahen në N-gra, çdo njëra e cila hash-izohet. Në fund rezulton një numër i madh hash-eve unik. Ngjashmëria midis teksteve konsiderohet sipas masës Jaccard

ndërmjet dy grupeve të marra. Nëse ngjashmëria është më e madhe se pragu, tekstet bashkohen në një klaster. Për të përshpejtuar kërkimin e klastereve të ngjashme, përdoret MinHash dhe hashing sensitiv ndaj lokalitetit.

Për fotografitë janë shpikur variante të ndryshme për bashkimin e imazheve, nga krahasimi i pHash të imazheve deri te gjetja e dublikatëve me ndihmën e një rrjeti neuronik. Metoda e fundit është më 'e ashpër'. Për të trajnuar modelin, janë zgjedhur treqesh njëjësish (N, A, P), ku N nuk është i ngjashëm me A, ndërsa P është i ngjashëm me A (është një polidublikatë). Më pas, rrjeti neuronik u trajnuar të bënte që A dhe P të ishin sa më të afërt, dhe A dhe N të ishin sa më larg. Kështu, rezulton një numër më i vogël i alarmeve false krahasuar me thjesht marrjen e embed-eve nga një rrjet i trajnuar paraprakisht.

Kur një rrjet nervor merr imazhe si hyrje, për secilin prej tyre gjeneron një vektor N(128)-dimensional dhe bën një kërkesë për të vlerësuar afërsinë e imazhit. Më pas llogaritet një kufi, për të cilin imazhet e afërta konsiderohen si kopje.

Modeli është mjeshtër në gjetjen e spammerëve, të cilët fotografiojnë qëllimisht të njëjtin produkt nga kënde të ndryshme për të kaluar përballimin e përdorimit të pHash.

Si e moderuojmë shpalljetSi e moderuojmë shpalljet
Shembuj të fotografive spam, të lidhura nga rrjeti nervor si kopje.

Në fazën përfundimtare, kopjet e shpalljeve kërkohen njëkohësisht si sipas tekstit ashtu edhe sipas imazhit.

Nëse në një grup lidhen dy ose më shumë shpallje, sistemi aktivizon një bllokim automatik, i cili sipas algoritmeve të caktuara zgjedh se cilat kopje të fshihen dhe cilat të mbahen. Për shembull, nëse dy përdorues kanë fotografi identike në shpallje, sistemi do të bllokojë shpalljen më të re.

Pas krijimit, të gjithë grupet kalojnë përmes një sërë filtrash automatikë. Çdo filtr përcakton grupit një numër pikësh (score): me cila mundësi ai përmban një kërcënim që identifikon ky filtr.

Për shembull, sistemi analizon përshkrimin në shpallje dhe zgjidh për të një kategori potenciale. Më pas merr atë, për të cilën ka probabilitetin më të lartë, dhe e krahasojnë me kategorinë që ka caktuar autori i shpalljes. Nëse ato nuk përputhen, shpallja bllokohet për kategori të gabuar. Dhe duke qenë se ne jemi të mirë dhe të ndershëm, e themi drejtpërdrejt përdoruesit se çfarë kategorie duhet të zgjedhë për të kaluar moderimin.

Si e moderuojmë shpalljet
Njoftim për bllokim për kategori të gabuar.

Në platformën tonë, machine learning ndihet si në shtëpi. Për shembull, me ndihmën e tij ne gjejmë në tituj dhe përshkrime produkte të ndaluara në RF. Dhe modelet e rrjeteve nervore shqyrtojnë me kujdes pamjet, për të parë nëse kanë URL, tekste spam, numra telefoni dhe gjithashtu 'produkte të ndaluara'.

Për rastet kur një produkt i ndaluar përpiqet të shitet, duke e maskuar si diçka të ligjshme dhe nuk ka asnjë tekst në titull ose përshkrim, ne përdorim etiketimin e imazheve. Për çdo imazh mund të jenë të vendosur deri në 11,000 etiketa të ndryshme, që përshkruajnë se çfarë ndodhet në imazh.

Si e moderuojmë shpalljet
Një kallg është përpjekur të shitet, duke e maskuar si samovar.

Paralelisht me filtrat e komplikuarë punojnë edhe ata të thjeshtë, të cilët zgjidhin detyra të dukshme që lidhen me tekstin:

  • antimat;
  • detektor URL-sh dhe numrash telefoni;
  • përmendje të mesazhereve dhe kontakteve të tjera;
  • çmim i ulur;
  • njoftime në të cilat nuk shitet asgjë, etj.

Sot, çdo njoftim kalon përmes një sita shumë të imët nga mbi 50 filtre automatike që përpiqen të gjejnë diçka të keqe në njoftim.

Nëse asnjë nga detektorët nuk është aktivizuar, atëherë në Yula dërgohet një përgjigje që njoftimi, "më ndoshta", është në rregull. Ne e aplikojmë këtë përgjigje te vetja dhe përdoruesit që janë abonuar te shitësi marrin një njoftim për shfaqjen e një produkti të ri.

Si e moderuojmë shpalljet
Njoftim që shitësi ka një produkt të ri.

Në fund, çdo njoftim "rritet" me metadita, një pjesë e së cilave gjenerohet gjatë krijimit të njoftimit (adresa IP e autorit, user-agent, platforma, gjeolokacioni etj.), dhe e tjera janë score, të lëna nga çdo filtër.

Radhët e njoftimeve

Kur njoftimi hy në platformë, sistemi e vendos atë në një nga radhët. Çdo radhë formohet me një formula matematikore, e cila kombinon metaditat e njoftimit në mënyrë që të zgjidhë ndonjë model të keq.

Për shembull, mund të krijohet një radhë njoftimesh në kategorinë "Telefona celularë" nga përdorues të Yula-s të supozuar nga Shën Petersburgu, por me adresat e tyre IP nga Moska ose qytete të tjera.

Si e moderuojmë shpalljet
Shembuj njoftimesh të publikuara nga një përdorues në qytete të ndryshme.

Ose mund të formohen radhë në bazë të pikëve, të cilat rrjeti nervor jep njoftimeve, duke i renditur ato sipas rënies.

Çdo radhë, sipas formulës së saj, i jep një score përfundimtar njoftimit. Më pas mund të veprohet në mënyra të ndryshme:

  • të përcaktohet një vlerë prag, në të cilën njoftimi do të marrë një lloj të caktuar bllokimi;
  • të gjitha njoftimet në radhë t'i dërgohen moderuesve për verifikim manual;
  • ose të kombinohen opsionet e mëparshme: të vendoset një prag bllokimi automatik dhe të dërgohen moderuesve ato njoftime që nuk e arritën këtë prag.

Si e moderuojmë shpalljet

Pse i nevojiten këto radhë? Të supozojmë se një përdorues ka ngarkuar një fotografi të një armë zjarri. Rrjeti nervor i jep asaj një pikë nga 95 deri në 100 dhe me një saktësi 99% përcakton se në foto është armë. Por nëse vlera e pikës është më e ulët se 95%, saktësia e modelit fillon të bjerë (kjo është një karakteristikë e modeleve të rrjeteve nervore).

Si rezultat, formohet një radhë në bazë të pikës së modelit, dhe ato nga njoftimet që morën nga 95 deri në 100, automatikisht bllokohen si «Produkt i Ndaluar». Njoftimet me numër pikash më poshtë se 95 dërgohen për përpunim manual nga moderatorët.

Si e moderuojmë shpalljet
Beretta e çokollatës me fishekë. Vetëm për moderim manual! 🙂

Moderim manual

Në fillim të vitit 2019, rreth 94% e të gjitha njoftimeve në Juola moderohen automatikisht.

Si e moderuojmë shpalljet

Nëse platforma nuk mund të vendosë për disa njoftime, ato dërgohen për moderim manual. Odnoklassniki kanë zhvilluar një mjet të vetin: në detyrat për moderatorët shfaqet menjëherë e gjithë informacioni i nevojshëm për të marrë një vendim të shpejtë — nëse njoftimi është i vlefshëm apo duhet bllokuar me arsyen e shënuar.

Dhe që gjatë moderimit manual të mos vuajë cilësia e shërbimit, puna e njerëzve kontrollohet vazhdimisht. Për shembull, në fluksin e detyrave, moderatorit i shfaqen «trap» — njoftime, për të cilat janë marrë vendime të gatshme. Nëse vendimi i moderatorit nuk përputhet me të gatshmet, atij i llogaritet një gabim.

Për kontrollin e një njoftimi, moderatorit në mesatarje i nevojiten 10 sekonda. Ndërkohë, numri i gabimeve nuk kalon 0,5% të të gjitha njoftimeve të kontrolluara.

Moderim popullor

Kolegët nga Odnoklassniki shkuan edhe më tej, duke shfrytëzuar «ndihmën e sallës»: krijuan një aplikacion-lojë për rrjetin social, ku mund të etiketohet shpejt një numër i madh të dhënash, duke e shfaqur një ndonjë karakteristikë të keqe — Moderator i Odnoklassniki (https://ok.ru/app/moderator). Një mënyrë e shkëlqyer për të shfrytëzuar ndihmën e përdoruesve të OK, të cilët përpiqen të bëjnë përmbajtjen më të këndshme.

Si e moderuojmë shpalljet
Një lojë në të cilën përdoruesit shënojnë fotografitë që kanë numra telefonash.

Çdo renditje shpalljesh në platformë mund të redirektohet në lojën Moderator i Odnoklassniki. Gjithçka që etiketohen nga përdoruesit e lojës pastaj i dorëzohet moderatorëve të brendshëm për verifikim. Kjo skemë e lejon bllokimin e shpalljeve për të cilat ende nuk janë krijuar filtre dhe po ashtu krijon modele të mësimit.

Ruajtja e rezultateve të moderimit

Ne ruajmë të gjitha vendimet e marra gjatë moderimit, në mënyrë që më vonë të mos përpunojmë përsëri ato shpallje për të cilat tashmë është marrë një vendim.

Për çdo ditë krijohen miliona grupe për shpalljet. Me kalimin e kohës, çdo grup merr një etiketë "e mirë" ose "e keqe". Çdo shpallje e re apo rregullim i saj, pas kalimit në një grup me etiketë, automatikisht merr rezolutën e grupit të vet. Çdo ditë krijohen afërsisht 20,000 rezoluta automatikisht.

Si e moderuojmë shpalljet

Nëse nuk mbërrijnë shpallje të reja në grup, ai fshihet nga memória, ndërsa heshi dhe vendimi shkruhen në Apache Cassandra.

Kur platforma merr një shpallje të re, ajo së pari përpiqet të gjejë një grup të ngjashëm mes atyre që janë krijuar tashmë dhe të marrë vendimin nga aty. Nëse nuk ka një grup të tillë, platforma shkon në Cassandra dhe kërkon aty. E gjeti? Shkëlqyeshëm, aplikon vendimin ndaj grupit dhe e dërgon në Yula. Të tilla "vendime të përsëritura" grumbullohen çdo ditë me mesatarisht 70,000 — 8 % të totalit.

Në përfundim

Ne kemi përdorur platformën e moderimit të Odnoklassniki për dy vjet e gjysmë. Rezultatet na pëlqejnë:

  • Moderojmë automatikisht 94 % të të gjitha shpalljeve për ditë.
  • Kostot e moderimit të një shpalljeje i kemi ulur nga 2 rubla në 7 cope.
  • Falë mjetit të gatshëm, harrova për problemet e menaxhimit të moderatorëve.
  • E rritëm me 2.5 herë numrin e shpalljeve të përpunuara manualisht, duke mbajtur të njëjtin numër moderatorësh dhe buxhet. Edhe cilësia e moderimit manual është rritur falë kontrollit automatizuar dhe luhatet rreth 0.5 % gabimeve.
  • Aktivisht mbulojmë tipet e reja të spamit me filtra.
  • Shpejt lidhemi me moderimin e njësive të reja "Yula Verticales". Që nga viti 2017, në Yula janë shfaqur verticalet e Lëvizjeve, Vendeve të Punes dhe Automjeteve.

Burimi: habr.com

Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS 🔥 Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS | ProHoster