Ինչպես ենք մենք չափավորում գովազդը

Ինչպես ենք մենք չափավորում գովազդը

Յուրաքանչյուր ծառայություն, որի օգտատերերը կարող են ստեղծել իրենց սեփական բովանդակությունը (UGC - User-generated content), ստիպված է ոչ միայն լուծել բիզնեսի խնդիրները, այլև կարգի բերել UGC-ում։ Վատ կամ անորակ բովանդակության չափավորությունը կարող է ի վերջո նվազեցնել ծառայության գրավչությունը օգտատերերի համար, նույնիսկ դադարեցնել դրա գործունեությունը:

Այսօր մենք ձեզ կպատմենք Yula-ի և Odnoklassniki-ի սիներգիայի մասին, որն օգնում է մեզ արդյունավետորեն չափավորել Yula-ում գովազդը:

Սիներգիան ընդհանրապես շատ օգտակար բան է, և ժամանակակից աշխարհում, երբ տեխնոլոգիաներն ու միտումները շատ արագ փոխվում են, այն կարող է փրկարար դառնալ։ Ինչո՞ւ վատնել սակավ ռեսուրսներն ու ժամանակը՝ հորինելով մի բան, որն արդեն հորինվել և մտքում է հայտնվել ձեր առջև:

Մենք նույն բանն էինք մտածում, երբ բախվեցինք օգտատերերի բովանդակությունը մոդերատորելու ամբողջական առաջադրանքին՝ նկարներ, տեքստ և հղումներ: Մեր օգտատերերն ամեն օր Յուլա են վերբեռնում միլիոնավոր բովանդակություն, և առանց ավտոմատ մշակման բոլորովին անհնար է վերահսկել այս բոլոր տվյալները ձեռքով:

Հետևաբար, մենք օգտագործեցինք պատրաստի մոդերացիայի հարթակ, որը մինչ այդ «Օդնոկլասնիկի»-ի մեր գործընկերները հասցրել էին «գրեթե կատարելության» վիճակին։

Ինչու՞ Odnoklassniki.

Ամեն օր տասնյակ միլիոնավոր օգտատերեր գալիս են սոցիալական ցանց և հրապարակում միլիարդավոր բովանդակություն՝ լուսանկարներից մինչև տեսանյութեր և տեքստեր: Odnoklassniki-ի մոդերացիոն հարթակն օգնում է ստուգել տվյալների շատ մեծ ծավալները և հակազդել սպամերին և բոտերին:

OK մոդերատորների թիմը մեծ փորձ է կուտակել, քանի որ 12 տարի կատարելագործում է իր գործիքը: Կարևոր է, որ նրանք ոչ միայն կարողանան կիսվել իրենց պատրաստի լուծումներով, այլև հարմարեցնել իրենց հարթակի ճարտարապետությունը՝ համապատասխանեցնելով մեր կոնկրետ խնդիրներին:

Ինչպես ենք մենք չափավորում գովազդը

Այսուհետ, հակիրճ լինելու համար, մենք պարզապես OK մոդերացիոն հարթակը կանվանենք «հարթակ»:

Ինչպես է ամեն ինչ աշխատում

Յուլայի և Odnoklassniki-ի միջև տվյալների փոխանակումն իրականացվում է Apache Kafka.

Ինչու մենք ընտրեցինք այս գործիքը.

  • Յուլայում բոլոր գովազդները հետմոդերացվում են, ուստի սկզբում համաժամանակյա պատասխան չի պահանջվում:
  • Եթե ​​վատ պարբերություն պատահի, և Յուլան կամ Օդնոկլասնիկին անհասանելի լինեն, այդ թվում՝ գագաթնակետային բեռների պատճառով, ապա Կաֆկայի տվյալները ոչ մի տեղ չեն անհետանա և կարող են ավելի ուշ կարդալ:
  • Պլատֆորմն արդեն ինտեգրված էր Կաֆկայի հետ, ուստի անվտանգության խնդիրների մեծ մասը լուծված էր:

Ինչպես ենք մենք չափավորում գովազդը

Յուլայում օգտատիրոջ կողմից ստեղծված կամ փոփոխված յուրաքանչյուր գովազդի համար ստեղծվում է JSON տվյալների հետ, որը տեղադրվում է Kafka-ում հետագա մոդերացիայի համար: Կաֆկայից հայտարարությունները բեռնվում են հարթակ, որտեղ դրանք դատվում են ավտոմատ կամ ձեռքով: Վատ գովազդներն արգելափակվում են պատճառաբանությամբ, իսկ նրանք, որոնցում հարթակը խախտումներ չի գտնում, նշվում են որպես «լավ»։ Այնուհետև բոլոր որոշումները հետ են ուղարկվում Յուլային և կիրառվում են ծառայությունում։

Ի վերջո, Յուլայի համար ամեն ինչ հանգում է պարզ գործողությունների՝ ուղարկել գովազդ Odnoklassniki հարթակ և հետ ստանալ «ok» կամ ինչու ոչ «ok» բանաձեւը:

Ավտոմատ մշակում

Ի՞նչ է տեղի ունենում գովազդի հետ հարթակում հայտնվելուց հետո: Յուրաքանչյուր գովազդ բաժանված է մի քանի սուբյեկտների.

  • Անուն,
  • նկարագրություն
  • նկարներ,
  • օգտագործողի կողմից ընտրված գովազդի կատեգորիա և ենթակատեգորիա,
  • գինը

Ինչպես ենք մենք չափավորում գովազդը

Այնուհետև հարթակը կատարում է կլաստերավորում յուրաքանչյուր կազմակերպության համար՝ կրկնօրինակներ գտնելու համար: Ավելին, տեքստը և լուսանկարները հավաքվում են ըստ տարբեր սխեմաների:

Նախքան խմբավորումը, տեքստերը նորմալացվում են հատուկ նիշերը, փոխված տառերը և այլ աղբը հեռացնելու համար: Ստացված տվյալները բաժանվում են N-գրամների, որոնցից յուրաքանչյուրը հեշացված է։ Արդյունքը շատ յուրահատուկ հեշեր են: Տեքստերի նմանությունը որոշվում է Ժակարի չափը ստացված երկու հավաքածուների միջև: Եթե ​​նմանությունն ավելի մեծ է, քան շեմը, ապա տեքստերը միաձուլվում են մեկ կլաստերի մեջ։ Նմանատիպ կլաստերների որոնումն արագացնելու համար օգտագործվում են MinHash և Locality-ի նկատմամբ զգայուն հեշինգ:

Լուսանկարների համար պատկերներ սոսնձելու տարբեր տարբերակներ են հորինվել՝ pHash նկարների համեմատությունից մինչև նեյրոնային ցանցի միջոցով կրկնօրինակների որոնում:

Վերջին մեթոդը ամենադաժանն է։ Մոդելը վարժեցնելու համար ընտրվել են պատկերների եռյակներ (N, A, P), որոնցում N-ը նման չէ A-ին, իսկ P-ն նման է A-ին (կիսակրկնօրինակ է): Այնուհետև նեյրոնային ցանցը սովորեց A-ն և P-ն հնարավորինս մոտեցնել, իսկ A-ն և N-ը որքան հնարավոր է հեռու: Սա հանգեցնում է ավելի քիչ կեղծ պոզիտիվների՝ համեմատած պարզապես նախապես պատրաստված ցանցից ներկառուցվածքներ վերցնելու հետ:

Երբ նեյրոնային ցանցը ստանում է պատկերներ որպես մուտքագրում, այն ստեղծում է N(128) չափի վեկտոր դրանցից յուրաքանչյուրի համար և հարցում է արվում՝ գնահատելու պատկերի մոտիկությունը: Այնուհետև հաշվարկվում է այն շեմը, որի դեպքում փակ պատկերները համարվում են կրկնօրինակներ:

Մոդելը կարողանում է հմտորեն գտնել սպամերներ, ովքեր հատուկ լուսանկարում են նույն ապրանքը տարբեր տեսանկյուններից, որպեսզի շրջանցեն pHash-ի համեմատությունը։

Ինչպես ենք մենք չափավորում գովազդըԻնչպես ենք մենք չափավորում գովազդը
Նյարդային ցանցի կողմից որպես կրկնօրինակ սոսնձված սպամ լուսանկարների օրինակ:

Վերջնական փուլում կրկնօրինակ գովազդները որոնվում են միաժամանակ և՛ տեքստով, և՛ պատկերով:

Եթե ​​երկու կամ ավելի գովազդներ խրված են կլաստերի մեջ, համակարգը սկսում է ավտոմատ արգելափակում, որը, օգտագործելով որոշակի ալգորիթմներ, ընտրում է, թե որ կրկնօրինակները ջնջել և որոնք թողնել: Օրինակ, եթե երկու օգտատերեր ունեն նույն լուսանկարները գովազդում, համակարգը կարգելափակի վերջին գովազդը:

Ստեղծվելուց հետո բոլոր կլաստերները անցնում են մի շարք ավտոմատ զտիչներ: Յուրաքանչյուր զտիչ միավոր է հատկացնում կլաստերին. որքանո՞վ է հավանական, որ այն պարունակում է այս ֆիլտրի բացահայտած սպառնալիքը:

Օրինակ՝ համակարգը վերլուծում է գովազդի նկարագրությունը և դրա համար ընտրում է հնարավոր կատեգորիաները։ Այնուհետև վերցնում է առավելագույն հավանականություն ունեցողը և համեմատում գովազդի հեղինակի կողմից նշված կատեգորիայի հետ։ Եթե ​​դրանք չեն համընկնում, գովազդն արգելափակվում է սխալ կատեգորիայի համար: Եվ քանի որ մենք բարի և ազնիվ ենք, մենք ուղղակիորեն ասում ենք օգտվողին, թե որ կատեգորիան պետք է ընտրի, որպեսզի գովազդը անցնի չափավորության:

Ինչպես ենք մենք չափավորում գովազդը
Սխալ կատեգորիայի արգելափակման մասին ծանուցում:

Մեքենայական ուսուցումը մեր հարթակում զգում է ինչպես տանը: Օրինակ, նրա օգնությամբ մենք որոնում ենք Ռուսաստանի Դաշնությունում արգելված ապրանքների անվանումներում և նկարագրություններում: Իսկ նեյրոնային ցանցերի մոդելները մանրակրկիտ «ուսումնասիրում» են պատկերները՝ տեսնելու, թե արդյոք դրանք պարունակում են URL-ներ, սպամ տեքստեր, հեռախոսահամարներ և նույն «արգելված» տեղեկատվություն:

Այն դեպքերում, երբ նրանք փորձում են վաճառել արգելված ապրանք՝ քողարկված որպես օրինական բան, և վերնագրում կամ նկարագրության մեջ տեքստ չկա, մենք օգտագործում ենք պատկերի պիտակավորում: Յուրաքանչյուր պատկերի համար կարելի է ավելացնել մինչև 11 հազար տարբեր պիտակներ, որոնք նկարագրում են այն, ինչ կա նկարում։

Ինչպես ենք մենք չափավորում գովազդը
Նրանք փորձում են նարգիլեը վաճառել՝ քողարկելով սամովարի տեսքով։

Բարդ զտիչներին զուգահեռ աշխատում են նաև պարզերը՝ լուծելով տեքստի հետ կապված ակնհայտ խնդիրներ.

  • հակամատիտ;
  • URL և հեռախոսահամարի դետեկտոր;
  • ակնթարթային մեսենջերների և այլ կոնտակտների նշում.
  • իջեցված գին;
  • գովազդներ, որոնցում ոչինչ չի վաճառվում և այլն։

Այսօր յուրաքանչյուր գովազդ անցնում է ավելի քան 50 ավտոմատ զտիչներով նուրբ մաղով, որոնք փորձում են գովազդում վատ բան գտնել:

Եթե ​​դետեկտորներից ոչ մեկը չի աշխատել, ապա Յուլային պատասխան է ուղարկվում, որ գովազդը «ամենայն հավանականությամբ» կատարյալ կարգով է: Մենք ինքներս ենք օգտագործում այս պատասխանը, և այն օգտվողները, ովքեր բաժանորդագրվել են վաճառողին, ստանում են ծանուցում նոր ապրանքի առկայության մասին:

Ինչպես ենք մենք չափավորում գովազդը
Ծանուցում, որ վաճառողը նոր ապրանք ունի:

Արդյունքում, յուրաքանչյուր գովազդ «գերաճած» է մետատվյալներով, որոնցից մի քանիսը ստեղծվում են գովազդի ստեղծման ժամանակ (հեղինակի IP հասցեն, օգտատեր-գործակալ, հարթակ, աշխարհագրական դիրք և այլն), իսկ մնացածը յուրաքանչյուր ֆիլտրի կողմից տրված միավորն է։ .

Հայտարարությունների հերթեր

Երբ գովազդը հայտնվում է հարթակում, համակարգը այն դնում է հերթերից մեկում: Յուրաքանչյուր հերթ ստեղծվում է մաթեմատիկական բանաձևի միջոցով, որը միավորում է գովազդի մետատվյալներն այնպես, որ հայտնաբերում է վատ օրինաչափությունները:

Օրինակ, դուք կարող եք «Բջջային հեռախոսներ» կատեգորիայի գովազդների հերթ ստեղծել Յուլա օգտատերերից, որոնք ենթադրաբար Սանկտ Պետերբուրգից են, բայց նրանց IP հասցեները Մոսկվայից կամ այլ քաղաքներից են:

Ինչպես ենք մենք չափավորում գովազդը
Մեկ օգտատիրոջ կողմից տարբեր քաղաքներում տեղադրված գովազդի օրինակ։

Կամ կարող եք հերթեր կազմել՝ ելնելով այն միավորներից, որոնք նեյրոնային ցանցը հատկացնում է գովազդներին՝ դրանք դասավորելով նվազման կարգով:

Յուրաքանչյուր հերթ, ըստ իր բանաձևի, գովազդին վերջնական գնահատական ​​է տալիս։ Այնուհետև կարող եք շարունակել տարբեր ձևերով.

  • նշեք այն շեմը, որով գովազդը կստանա որոշակի տեսակի արգելափակում.
  • հերթում գտնվող բոլոր գովազդներն ուղարկել մոդերատորներին՝ ձեռքով վերանայելու համար.
  • կամ միավորել նախորդ տարբերակները՝ նշեք ավտոմատ արգելափակման շեմը և ուղարկեք մոդերատորներին այն գովազդները, որոնք չեն հասել այս շեմին։

Ինչպես ենք մենք չափավորում գովազդը

Ինչու են անհրաժեշտ այս հերթերը: Ենթադրենք, օգտատերը ներբեռնել է հրազենի լուսանկար։ Նեյրոնային ցանցը նրան գնահատում է 95-ից 100 միավոր և 99 տոկոս ճշգրտությամբ որոշում է, որ նկարում կա զենք։ Բայց եթե միավորի արժեքը 95%-ից ցածր է, մոդելի ճշգրտությունը սկսում է նվազել (սա նեյրոնային ցանցի մոդելների առանձնահատկությունն է):

Արդյունքում, գնահատման մոդելի հիման վրա հերթ է գոյանում, և այն գովազդները, որոնք ստացել են 95-ից 100-ը, ավտոմատ կերպով արգելափակվում են որպես «Արգելված ապրանքներ»: 95-ից ցածր գնահատական ​​ունեցող գովազդներն ուղարկվում են մոդերատորներին՝ ձեռքով մշակելու համար:

Ինչպես ենք մենք չափավորում գովազդը
Շոկոլադե Բերետտա փամփուշտներով. Միայն ձեռքով չափավորելու համար: 🙂

Ձեռքով մոդերացիա

2019 թվականի սկզբին Յուլայում բոլոր գովազդների մոտ 94%-ը մոդերավորվում է ավտոմատ կերպով։

Ինչպես ենք մենք չափավորում գովազդը

Եթե ​​հարթակը չի կարող որոշել որոշ գովազդներ, այն ուղարկում է դրանք ձեռքով մոդերացիայի: Odnoklassniki-ն մշակել է սեփական գործիքը՝ մոդերատորների առաջադրանքները անմիջապես ցուցադրում են բոլոր անհրաժեշտ տեղեկությունները արագ որոշում կայացնելու համար՝ գովազդը հարմար է կամ պետք է արգելափակվի՝ նշելով պատճառը:

Եվ որպեսզի ձեռքով մոդերացիայի ժամանակ ծառայության որակը չտուժի, մարդկանց աշխատանքը մշտապես վերահսկվում է։ Օրինակ՝ առաջադրանքների հոսքում մոդերատորին ցուցադրվում են «թակարդներ»՝ գովազդներ, որոնց համար արդեն պատրաստ լուծումներ կան։ Եթե ​​մոդերատորի որոշումը չի համընկնում ավարտվածի հետ, մոդերատորին տրվում է սխալ:

Միջին հաշվով, մոդերատորը 10 վայրկյան է ծախսում մեկ գովազդը ստուգելու համար: Ավելին, սխալների թիվը ոչ ավելի, քան բոլոր ստուգված գովազդների 0,5%-ը։

Ժողովրդական չափավորություն

Odnoklassniki-ի գործընկերներն էլ ավելի հեռուն գնացին և օգտվեցին «հանդիսատեսի օգնությունից». նրանք սոցիալական ցանցի համար խաղային հավելված գրեցին, որում կարող եք արագ նշել մեծ քանակությամբ տվյալներ՝ ընդգծելով ինչ-որ վատ նշան՝ Odnoklassniki Moderator (https://ok.ru/app/moderator) Լավ միջոց՝ օգտվելու OK օգտատերերի օգնությունից, ովքեր փորձում են բովանդակությունն ավելի հաճելի դարձնել:

Ինչպես ենք մենք չափավորում գովազդը
Խաղ, որտեղ օգտատերերը նշում են լուսանկարներ, որոնց վրա հեռախոսահամար կա:

Հարթակի գովազդի ցանկացած հերթ կարող է վերահղվել Odnoklassniki Moderator խաղին: Այն ամենը, ինչ նշում են խաղի օգտատերերը, այնուհետև ուղարկվում է ներքին մոդերատորներին՝ ստուգման համար: Այս սխեման թույլ է տալիս արգելափակել գովազդները, որոնց համար ֆիլտրերը դեռ չեն ստեղծվել, և միաժամանակ ստեղծել ուսումնական նմուշներ:

Չափավորության արդյունքների պահպանում

Մենք պահպանում ենք մոդերացիայի ընթացքում ընդունված բոլոր որոշումները, որպեսզի չվերամշակենք այն գովազդները, որոնց վերաբերյալ մենք արդեն որոշում ենք կայացրել:

Գովազդի հիման վրա ամեն օր ստեղծվում են միլիոնավոր կլաստերներ: Ժամանակի ընթացքում յուրաքանչյուր կլաստեր պիտակվում է «լավ» կամ «վատ»: Յուրաքանչյուր նոր գովազդ կամ դրա վերանայումը, նշելով կլաստեր, ինքնաբերաբար լուծում է ստանում հենց կլաստերից: Օրական մոտ 20 հազար նման ավտոմատ լուծում կա։

Ինչպես ենք մենք չափավորում գովազդը

Եթե ​​նոր հայտարարություններ չեն գալիս կլաստերին, այն կհեռացվի հիշողությունից և դրա հեշը և լուծումը գրվում են Apache Cassandra-ին:

Երբ հարթակը ստանում է նոր գովազդ, այն նախ փորձում է գտնել նմանատիպ կլաստեր արդեն ստեղծվածների մեջ և լուծում վերցնել դրանից։ Եթե ​​չկա այդպիսի կլաստեր, ապա հարթակը գնում է Կասանդրա և նայում այնտեղ։ Գտա՞ր։ Գերազանց, լուծումը կիրառում է կլաստերի վրա և ուղարկում Յուլային: Ամեն օր միջինը 70 հազար նման «կրկնվող» որոշում է լինում՝ ընդհանուրի 8%-ը։

Ամփոփելով

Մենք երկուսուկես տարի օգտվում ենք Odnoklassniki-ի մոդերացիայի հարթակից։ Արդյունքները մեզ դուր են գալիս.

  • Մենք ավտոմատ կերպով վարում ենք օրական բոլոր գովազդների 94%-ը:
  • Մեկ գովազդի մոդերավորման արժեքը 2 ռուբլուց իջեցվել է 7 կոպեկի։
  • Պատրաստի գործիքի շնորհիվ մենք մոռացանք մոդերատորների կառավարման խնդիրների մասին։
  • Մենք նույնքան մոդերատորներով և բյուջեով ավելացրել ենք ձեռքով մշակված գովազդների թիվը 2,5 անգամ։ Ձեռքով մոդերացիայի որակը նույնպես բարձրացել է ավտոմատացված կառավարման շնորհիվ և տատանվում է սխալների 0,5%-ի շուրջ:
  • Մենք արագ ծածկում ենք նոր տեսակի սպամ զտիչներով:
  • Մենք արագորեն միացնում ենք նոր բաժանմունքները չափավորության հետ «Յուլա ուղղահայաց». 2017 թվականից Յուլան ավելացրել է Անշարժ գույք, թափուր աշխատատեղեր և Ավտո ուղղահայացները:

Source: www.habr.com

Добавить комментарий