Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում

Բարեւ բոլորին! Ես Սաշան եմ, ես CTO և համահիմնադիր եմ LoyaltyLab-ում: Երկու տարի առաջ ես ու ընկերներս, ինչպես բոլոր աղքատ ուսանողները, երեկոյան գնացինք մեր տան մոտ գտնվող մոտակա խանութից գարեջուր գնելու։ Մենք շատ վրդովված էինք, որ մանրածախ վաճառողը, իմանալով, որ մենք գալու ենք գարեջուր խմելու, զեղչ չտրամադրեց չիփսերի կամ կրեկերի վրա, թեև դա այնքան տրամաբանական էր։ Մենք չհասկացանք, թե ինչու էր այս իրավիճակը և որոշեցինք հիմնել մեր սեփական ընկերությունը: Դե, որպես բոնուս, ամեն ուրբաթ զեղչեր տվեք ձեզ այդ նույն չիպերի վրա:

Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում

Եվ ամեն ինչ հասավ նրան, որ ես ներկայացնում եմ նյութը արտադրանքի տեխնիկական կողմի վերաբերյալ NVIDIA GTC. Մենք ուրախ ենք մեր աշխատանքով կիսվել համայնքի հետ, ուստի ես իմ զեկույցը հրապարակում եմ հոդվածի տեսքով։

Ներածություն

Ինչպես բոլորը ճանապարհորդության սկզբում, մենք սկսեցինք ակնարկով, թե ինչպես են ստեղծվում առաջարկող համակարգերը: Իսկ ամենահայտնի ճարտարապետությունը պարզվեց հետևյալ տեսակը.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում

Այն բաղկացած է երկու մասից.

  1. Առաջարկությունների համար թեկնածուների նմուշառում` օգտագործելով պարզ և արագ մոդել, սովորաբար համատեղ:
  2. Ավելի բարդ և դանդաղ բովանդակության մոդելով թեկնածուների վարկանիշավորում՝ հաշվի առնելով տվյալների բոլոր հնարավոր հատկանիշները։

Այսուհետ ես կօգտագործեմ հետևյալ տերմինները.

  • առաջարկությունների թեկնածու/թեկնածու - օգտագործող-արտադրանք զույգ, որը կարող է ներառվել արտադրության առաջարկություններում:
  • թեկնածուների արդյունահանման/արտահանիչ/թեկնածուների արդյունահանման մեթոդ - առկա տվյալներից «առաջարկությունների թեկնածուներին» հանելու գործընթաց կամ մեթոդ:

Առաջին քայլը սովորաբար ներառում է համագործակցային զտման տարբեր տարբերակների օգտագործումը: Ամենահայտնի - ALS. Զարմանալի է, որ առաջարկող համակարգերի մասին հոդվածների մեծ մասը միայն առաջին փուլում բացահայտում է համագործակցային մոդելների տարբեր բարելավումներ, բայց ոչ ոք շատ չի խոսում նմուշառման այլ մեթոդների մասին: Մեզ համար միայն համատեղ մոդելների և դրանց հետ տարբեր օպտիմալացումների կիրառման մոտեցումը չաշխատեց այն որակով, որը մենք ակնկալում էինք, ուստի մենք ուսումնասիրեցինք հատուկ այս հատվածը: Եվ հոդվածի վերջում ես ցույց կտամ, թե որքանով կարողացանք բարելավել ALS-ը, որը մեր բազային ցուցանիշն էր:

Նախքան մեր մոտեցումը նկարագրելուն անցնելը, կարևոր է նշել, որ իրական ժամանակում առաջարկություններում, երբ մեզ համար կարևոր է հաշվի առնել 30 րոպե առաջ տեղի ունեցած տվյալները, իսկապես շատ մոտեցումներ չկան, որոնք կարող են աշխատել պահանջվող ժամանակում: Բայց, մեր դեպքում, մենք պետք է առաջարկություններ հավաքենք ոչ ավելի, քան օրական մեկ անգամ, իսկ շատ դեպքերում՝ շաբաթը մեկ անգամ, ինչը մեզ հնարավորություն է տալիս օգտագործել բարդ մոդելներ և մի քանի անգամ բարելավել որակը։

Եկեք որպես ելակետ ընդունենք, թե ինչ չափումներ է ցույց տալիս միայն ALS-ը թեկնածուների արդյունահանման առաջադրանքում: Հիմնական չափանիշները, որոնք մենք վերահսկում ենք, հետևյալն են.

  • Ճշգրիտություն - ընտրվածներից ճիշտ ընտրված թեկնածուների համամասնությունը:
  • Հիշեցումը թեկնածուների համամասնությունն է, որոնք տեղի են ունեցել նրանցից, ովքեր իրականում եղել են թիրախային միջակայքում:
  • F1-score - F-չափը, որը հաշվարկվում է նախորդ երկու միավորների վրա:

Մենք նաև կդիտարկենք վերջնական մոդելի չափումները՝ վերապատրաստման գրադիենտի ուժեղացումից հետո՝ լրացուցիչ բովանդակության հնարավորություններով: Այստեղ կան նաև 3 հիմնական չափումներ.

  • precision@5 - լավագույն 5 ապրանքների միջին տոկոսն ըստ հավանականության յուրաքանչյուր գնորդի համար:
  • answer-rate@5 - հաճախորդների փոխակերպում խանութ այցելությունից մինչև առնվազն մեկ անձնական առաջարկի գնում (5 ապրանք մեկ առաջարկում):
  • միջին roc-auc մեկ օգտվողի համար - միջին roc-auc յուրաքանչյուր գնորդի համար:

Կարևոր է նշել, որ այս բոլոր ցուցանիշները չափվում են ժամանակային շարքերի խաչաձև վավերացում, այսինքն՝ վերապատրաստումը տեղի է ունենում առաջին k շաբաթներում, և որպես թեստի տվյալ վերցվում է k+1 շաբաթը։ Այսպիսով, սեզոնային վերելքներն ու անկումները նվազագույն ազդեցություն ունեցան մոդելների որակի մեկնաբանության վրա: Հետագայում բոլոր գրաֆիկների վրա աբսցիսայի առանցքը ցույց կտա շաբաթվա թիվը խաչաձև վավերացման մեջ, իսկ օրդինատների առանցքը ցույց կտա նշված չափման արժեքը: Բոլոր գրաֆիկները հիմնված են մեկ հաճախորդի գործարքների տվյալների վրա, որպեսզի միմյանց միջև համեմատությունները ճիշտ լինեն:

Նախքան սկսենք նկարագրել մեր մոտեցումը, մենք նախ նայում ենք բազայինին, որը ALS-ով պատրաստված մոդել է:
Թեկնածուների որոնման չափումներ.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում

Վերջնական չափումներ.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում

Ես վերաբերվում եմ ալգորիթմների բոլոր իրագործմանը որպես ինչ-որ բիզնես վարկածի: Այսպիսով, շատ կոպիտ կերպով, ցանկացած համագործակցային մոդել կարելի է դիտարկել որպես վարկած, որ «մարդիկ հակված են գնել այն, ինչ գնում են իրենց նման մարդիկ»։ Ինչպես արդեն ասացի, մենք չսահմանափակվեցինք նման իմաստաբանությամբ, և ահա որոշ վարկածներ, որոնք լավ են աշխատում օֆլայն մանրածախ առևտրի տվյալների վրա.

  1. Որը ես արդեն գնել եմ նախկինում:
  2. Նույնն է, ինչ ես գնել եմ նախկինում:
  3. Վաղուց անցյալ գնման ժամանակաշրջան:
  4. Հանրաճանաչ ըստ կատեգորիայի/ապրանքանիշի:
  5. Շաբաթից շաբաթ տարբեր ապրանքների այլընտրանքային գնումներ (Markov շղթաներ):
  6. Գնորդներին նման ապրանքներ՝ ըստ տարբեր մոդելների կառուցված բնութագրերի (Word2Vec, DSSM և այլն):

Ինչ եք գնել նախկինում:

Առավել ակնհայտ էվրիստիկա, որը շատ լավ է աշխատում մթերային մանրածախ առևտրում: Այստեղ մենք վերցնում ենք բոլոր այն ապրանքները, որոնք հավատարմության քարտի սեփականատերը գնել է վերջին K օրվա ընթացքում (սովորաբար 1-3 շաբաթվա ընթացքում), կամ K օր առաջ մեկ տարի առաջ: Կիրառելով միայն այս մեթոդը, մենք ստանում ենք հետևյալ չափումները.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում

Այստեղ միանգամայն ակնհայտ է, որ որքան երկար ենք վերցնում ժամանակաշրջանը, այնքան ավելի շատ հիշողություն ունենք և ավելի քիչ ճշգրտություն և հակառակը։ Միջին հաշվով, «վերջին 2 շաբաթը» ավելի լավ արդյունքներ է տալիս հաճախորդների համար:

Նույնն է, ինչ ես գնել եմ նախկինում

Զարմանալի չէ, որ մթերային մանրածախ առևտրի համար «այն, ինչ ես գնել էի նախկինում», լավ է աշխատում, բայց թեկնածուներ հանելը միայն այն, ինչ օգտագործողը արդեն գնել է, այնքան էլ հիանալի չէ, քանի որ դժվար թե գնորդին զարմացնի ինչ-որ նոր ապրանքով: Հետևաբար, մենք առաջարկում ենք մի փոքր բարելավել այս էվրիստիկը՝ օգտագործելով նույն համատեղ մոդելները: Վեկտորներից, որոնք մենք ստացել ենք ALS-ի ուսուցման ընթացքում, մենք կարող ենք ստանալ նմանատիպ ապրանքներ, ինչ օգտագործողը արդեն գնել է: Այս գաղափարը շատ նման է «նման տեսանյութերի»՝ վիդեո բովանդակություն դիտելու ծառայություններում, բայց քանի որ մենք չգիտենք, թե ինչ է ուտում/գնում օգտատերը որոշակի պահին, մենք կարող ենք միայն փնտրել նմանատիպեր, ինչ նա արդեն գնել է, հատկապես. քանի որ մենք արդեն գիտենք, թե որքան լավ է այն աշխատում: Կիրառելով այս մեթոդը օգտատերերի գործարքների վրա վերջին 2 շաբաթվա ընթացքում, մենք ստանում ենք հետևյալ չափումները.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում

Այստեղ k — նմանատիպ ապրանքների քանակը, որոնք վերցված են գնորդի կողմից վերջին 14 օրվա ընթացքում գնված յուրաքանչյուր ապրանքի համար:
Այս մոտեցումը հատկապես լավ աշխատեց մեր հաճախորդի համար, ում համար կարևոր էր չառաջարկել որևէ բան, որն արդեն եղել է օգտատիրոջ գնումների պատմության մեջ:

Գնման ուշ ժամանակահատված

Ինչպես արդեն պարզել ենք, ապրանքների գնման մեծ հաճախականության պատճառով առաջին մոտեցումը լավ է աշխատում մեր կոնկրետ կարիքների համար: Բայց ինչ վերաբերում է այնպիսի ապրանքներին, ինչպիսիք են լվացքի փոշին/շամպունը/և այլն: Այսինքն, այնպիսի ապրանքների հետ, որոնք հազիվ թե անհրաժեշտ լինեն ամեն շաբաթ կամ երկու անգամ, և որոնք նախորդ մեթոդները չեն կարող հանել: Սա հանգեցնում է հետևյալ գաղափարին. առաջարկվում է յուրաքանչյուր ապրանքի գնման ժամկետը միջին հաշվով հաշվարկել այն հաճախորդների համար, ովքեր ավելի շատ են գնել ապրանքը. k մեկ անգամ. Եվ հետո հանեք այն, ինչ գնորդը, ամենայն հավանականությամբ, արդեն սպառել է: Ապրանքների համար հաշվարկված ժամկետները կարելի է ստուգել ձեր աչքերով համապատասխանության համար.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում

Եվ այնուհետև մենք կնայենք, թե արդյոք արտադրանքի ժամկետի ավարտը ընկնում է այն ժամանակային միջակայքում, երբ առաջարկությունները կլինեն արտադրության մեջ, և կփորձարկենք, թե ինչ է տեղի ունենում: Մոտեցումը կարելի է պատկերացնել այսպես.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում

Այստեղ մենք ունենք 2 հիմնական դեպք, որոնք կարելի է դիտարկել.

  1. Արդյո՞ք անհրաժեշտ է ապրանքների նմուշառում այն ​​հաճախորդներից, ովքեր գնել են ապրանքը K անգամ պակաս:
  2. Արդյո՞ք անհրաժեշտ է արտադրանքի նմուշառում, եթե դրա ժամկետի ավարտը ընկնում է մինչև թիրախային միջակայքի սկիզբը:

Հետևյալ գրաֆիկը ցույց է տալիս, թե ինչ արդյունքների է հասնում այս մեթոդը տարբեր հիպերպարամետրերով.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում
ft — Վերցրեք միայն այն հաճախորդներին, ովքեր գնել են ապրանքը առնվազն K (այստեղ K=5) անգամ
tm — Վերցրեք միայն այն թեկնածուներին, ովքեր ընկնում են թիրախային միջակայքում

Զարմանալի չէ, որ նա կարողանում է (0, 0) ամենամեծը ետ կանչել և ամենափոքրը դիպուկություն, քանի որ այս պայմանով ամենաշատ թեկնածուները հետ են բերվում։ Այնուամենայնիվ, լավագույն արդյունքները ձեռք են բերվում, երբ մենք չենք ընտրում ապրանքներ այն հաճախորդների համար, ովքեր գնել են որոշակի ապրանք ավելի քիչ, քան k անգամ և քաղվածք, ներառյալ այն ապրանքները, որոնց ժամկետի ավարտը ընկնում է թիրախային միջակայքից առաջ:

Հանրաճանաչ ըստ կատեգորիաների

Մեկ այլ բավականին ակնհայտ գաղափար է տարբեր կատեգորիաների կամ ապրանքանիշերի հայտնի ապրանքների նմուշառումը: Այստեղ մենք հաշվարկում ենք յուրաքանչյուր գնորդի համար թոփ-կ «սիրելի» կատեգորիաներ/բրենդեր և հանել «հանրաճանաչ» այս կատեգորիայից/բրենդից: Մեր դեպքում մենք կորոշենք «սիրելի» և «հանրաճանաչ» ապրանքի գնումների քանակով: Այս մոտեցման լրացուցիչ առավելությունն այն կիրառելիությունն է սառը գործարկման դեպքում: Այսինքն՝ այն հաճախորդների համար, ովքեր կա՛մ շատ քիչ գնումներ են կատարել, կա՛մ երկար ժամանակ չեն եղել խանութում, կա՛մ նոր են թողարկել հավատարմության քարտ։ Նրանց համար ավելի հեշտ և ավելի լավ է պահեստավորել այնպիսի ապրանքներ, որոնք հայտնի են հաճախորդների կողմից և ունեն պատմություն: Ստացված ցուցանիշներն են.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում
Այստեղ «կատեգորիա» բառից հետո թիվը նշանակում է կատեգորիայի բնադրման աստիճանը։

Ընդհանուր առմամբ, զարմանալի չէ նաև, որ նեղ կատեգորիաները ավելի լավ արդյունքների են հասնում, քանի որ գնորդների համար ավելի ճշգրիտ «սիրելի» ապրանքներ են հանում:

Շաբաթից շաբաթ տարբեր ապրանքների այլընտրանքային գնումներ

Հետաքրքիր մոտեցում, որը ես չեմ տեսել առաջարկող համակարգերի մասին հոդվածներում, Մարկովյան շղթաների բավականին պարզ և միևնույն ժամանակ աշխատող վիճակագրական մեթոդ է: Այստեղ մենք տևում ենք 2 տարբեր շաբաթ, այնուհետև յուրաքանչյուր հաճախորդի համար մենք կառուցում ենք զույգ ապրանքներ [գնել է շաբաթում i]-[գնել է շաբաթում j], որտեղ j > i, և այստեղից յուրաքանչյուր ապրանքի համար հաշվարկում ենք հաջորդ շաբաթ այլ ապրանքի անցնելու հավանականությունը։ Այսինքն՝ յուրաքանչյուր զույգ ապրանքի համար արտադրանք-արտադրանք Գտնված զույգերում հաշվում ենք դրանց թիվը և բաժանում զույգերի թվի վրա, որտեղ ապրանքներ առաջին շաբաթում էր: Թեկնածուներին հանելու համար մենք վերցնում ենք գնորդի վերջին անդորրագիրը և քաղում թոփ-կ ամենահավանական հաջորդ արտադրանքը անցումային մատրիցից, որը մենք ստացել ենք: Անցումային մատրիցայի կառուցման գործընթացը հետևյալն է.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում

Անցումային հավանականության մատրիցում իրական օրինակներից մենք տեսնում ենք հետևյալ հետաքրքիր երևույթները.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում
Այստեղ դուք կարող եք նկատել հետաքրքիր կախվածություններ, որոնք բացահայտվում են սպառողների վարքագծում. օրինակ՝ ցիտրուսային մրգերի կամ կաթի ապրանքանիշի սիրահարներ, որոնցից նրանք, ամենայն հավանականությամբ, կանցնեն մյուսին: Զարմանալի չէ նաև, որ կրկնակի գնումների մեծ հաճախականությամբ ապրանքները, ինչպես կարագը, նույնպես հայտնվում են այստեղ։

Մարկովյան շղթաներով մեթոդի չափումները հետևյալն են.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում
k - ապրանքների քանակը, որոնք վերցված են գնորդի վերջին գործարքից յուրաքանչյուր գնված ապրանքի համար:
Ինչպես տեսնում ենք, լավագույն արդյունքը ցույց է տալիս k=4 կոնֆիգուրացիան։ 4-րդ շաբաթվա աճը կարելի է բացատրել տոների շուրջ սեզոնային պահվածքով: 

Նմանատիպ ապրանքներ գնորդներին, ըստ տարբեր մոդելների կառուցված բնութագրերի

Այժմ մենք հասել ենք ամենադժվար և հետաքրքիր մասին՝ մոտակա հարևանների որոնումը՝ հիմնված հաճախորդների վեկտորների և տարբեր մոդելների համաձայն կառուցված ապրանքների վրա: Մեր աշխատանքում մենք օգտագործում ենք 3 նման մոդել.

  • ALS
  • Word2Vec (Նման առաջադրանքների համար Item2Vec)
  • DSSM

Մենք արդեն զբաղվել ենք ALS-ով, կարող եք կարդալ այն մասին, թե ինչպես է այն սովորում այստեղ. Word2Vec-ի դեպքում մենք օգտագործում ենք մոդելի հայտնի իրականացումը from gensim. Տեքստերի անալոգիայով մենք առաջարկը սահմանում ենք որպես գնման անդորրագիր։ Այսպիսով, արտադրանքի վեկտորը կառուցելիս մոդելը սովորում է անդորրագրի արտադրանքի համար կանխատեսել իր «համատեքստը» (անդորրագրի մնացած ապրանքները): Էլեկտրոնային առևտրի տվյալների մեջ անդորրագրի փոխարեն ավելի լավ է օգտագործել գնորդի նիստը. Օզոն. Իսկ DSSM-ն ավելի հետաքրքիր է վերլուծել: Սկզբում Microsoft-ի տղաները գրել էին որպես որոնման մոդել, Հետազոտության բնօրինակը կարող եք կարդալ այստեղ. Մոդելի ճարտարապետությունն ունի հետևյալ տեսքը.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում

Այստեղ Q - հարցում, օգտվողի որոնման հարցում, D[i] — փաստաթուղթ, ինտերնետային էջ։ Մոդելի մուտքագրումը համապատասխանաբար հարցման և էջերի ատրիբուտներն են: Յուրաքանչյուր մուտքային շերտից հետո կան մի շարք լիովին միացված շերտեր (բազմաշերտ պերցեպտրոն): Հաջորդը, մոդելը սովորում է նվազագույնի հասցնել կոսինուսը մոդելի վերջին շերտերում ստացված վեկտորների միջև:
Առաջարկությունների առաջադրանքները օգտագործում են ճիշտ նույն ճարտարապետությունը, միայն հարցման փոխարեն կա օգտվող, իսկ էջերի փոխարեն կան ապրանքներ: Իսկ մեր դեպքում այս ճարտարապետությունը փոխակերպվում է հետևյալի.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում

Այժմ արդյունքները ստուգելու համար մնում է լուսաբանել վերջին կետը. եթե ALS-ի և DSSM-ի դեպքում մենք ունենք հստակ սահմանված օգտատերերի վեկտորներ, ապա Word2Vec-ի դեպքում մենք ունենք միայն արտադրանքի վեկտորներ: Այստեղ օգտագործողի վեկտորը կառուցելու համար մենք սահմանել ենք 3 հիմնական մոտեցում.

  1. Պարզապես ավելացրեք վեկտորները, այնուհետև կոսինուսի հեռավորության համար պարզվում է, որ մենք պարզապես միջինացրել ենք ապրանքները գնումների պատմության մեջ:
  2. Վեկտորային գումարում որոշակի ժամանակի կշռմամբ:
  3. TF-IDF գործակցով ապրանքների կշռում.

Գնորդի վեկտորի գծային կշռման դեպքում մենք ելնում ենք այն վարկածից, որ այն ապրանքը, որը օգտատերը գնել է երեկ, ավելի մեծ ազդեցություն ունի նրա վարքագծի վրա, քան այն ապրանքը, որը նա գնել է վեց ամիս առաջ։ Այսպիսով, մենք համարում ենք գնորդի նախորդ շաբաթը 1 գործակցությամբ, իսկ այն, ինչ տեղի ունեցավ հետո՝ ½, ⅓ և այլն:
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում

TF-IDF գործակիցների համար մենք անում ենք ճիշտ նույնը, ինչ TF-IDF-ում տեքստերի համար, միայն գնորդին համարում ենք փաստաթուղթ, իսկ չեկը՝ որպես առաջարկ, համապատասխանաբար, բառը ապրանք է։ Այսպիսով, օգտագործողի վեկտորն ավելի շատ կտեղափոխվի դեպի հազվագյուտ ապրանքներ, մինչդեռ հաճախակի և ծանոթ ապրանքները գնորդի համար շատ չեն փոխի այն: Մոտեցումը կարելի է պատկերացնել այսպես.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում

Հիմա եկեք նայենք չափորոշիչներին: Ահա թե ինչպիսին են ALS-ի արդյունքները.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում
Item2Vec-ի չափումներ՝ գնորդի վեկտորի կառուցման տարբեր տատանումներով.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում
Այս դեպքում օգտագործվում է ճիշտ նույն մոդելը, ինչ մեր ելակետում: Միակ տարբերությունն այն է, թե որ k-ն ենք օգտագործելու։ Որպեսզի օգտագործեք միայն համատեղ մոդելներ, դուք պետք է վերցնեք մոտ 50-70 ամենամոտ ապրանքներ յուրաքանչյուր հաճախորդի համար:

Եվ չափումներ ըստ DSSM-ի.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում

Ինչպե՞ս համատեղել բոլոր մեթոդները:

Հիասքանչ, դուք ասում եք, բայց ի՞նչ անել թեկնածուների արդյունահանման գործիքների նման մեծ հավաքածուի հետ: Ինչպե՞ս ընտրել ձեր տվյալների օպտիմալ կոնֆիգուրացիան: Այստեղ մենք ունենք մի քանի խնդիր.

  1. Անհրաժեշտ է ինչ-որ կերպ սահմանափակել հիպերպարամետրերի որոնման տարածքը յուրաքանչյուր մեթոդում: Այն, իհարկե, ամենուր դիսկրետ է, բայց հնարավոր կետերի թիվը շատ մեծ է։
  2. Օգտագործելով հատուկ հիպերպարամետրերով հատուկ մեթոդների փոքր սահմանափակ նմուշ, ինչպե՞ս կարող եք ընտրել ձեր չափման լավագույն կոնֆիգուրացիան:

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

Եվ երբ մենք անցել ենք տարբեր մեթոդների որոշակի համարժեք քանակի տատանումներ, մենք նշում ենք հետևյալը. յուրաքանչյուր իրականացում քաղում է որոշակի թվով թեկնածուներ և ունի մեզ համար հիմնական չափման որոշակի արժեք (հիշում): Մենք ցանկանում ենք ստանալ որոշակի թվով թեկնածուների ընդհանուր թիվը՝ կախված մեր թույլատրելի հաշվողական հզորությունից, առավելագույն հնարավոր չափանիշով: Այստեղ խնդիրը գեղեցիկ կերպով փլուզվում է մեջքի պայուսակի խնդրի մեջ:
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում

Այստեղ հավակնորդների թիվը ձուլակտորի կշիռն է, իսկ հետկանչի մեթոդը՝ դրա արժեքը։ Այնուամենայնիվ, կան ևս 2 կետ, որոնք պետք է հաշվի առնել ալգորիթմն իրականացնելիս.

  • Մեթոդները կարող են համընկնել այն թեկնածուների մեջ, որոնք նրանք վերցրել են:
  • Որոշ դեպքերում ճիշտ կլինի մեկ մեթոդ ընդունել երկու անգամ՝ տարբեր պարամետրերով, իսկ թեկնածուի ելքը առաջինից չի լինի երկրորդի ենթաբազմություն:

Օրինակ, եթե վերցնենք «այն, ինչ ես արդեն գնել եմ» մեթոդի իրականացումը տարբեր ընդմիջումներով, ապա նրանց թեկնածուների խմբերը կբնադրվեն միմյանց մեջ: Միևնույն ժամանակ, ելքի «պարբերական գնումների» տարբեր պարամետրերը չեն ապահովում ամբողջական խաչմերուկ: Հետևաբար, մենք տարբեր պարամետրերով նմուշառման մոտեցումները բաժանում ենք բլոկների այնպես, որ յուրաքանչյուր բլոկից մենք ցանկանում ենք վերցնել առավելագույնը մեկ արդյունահանման մոտեցում հատուկ հիպերպարամետրերով: Դա անելու համար հարկավոր է մի փոքր խելացի լինել ուսապարկի խնդիրը իրականացնելիս, բայց ասիմպտոտիկները և արդյունքը չեն փոխվի:

Այս խելացի համադրությունը թույլ է տալիս մեզ ստանալ հետևյալ ցուցանիշները՝ համեմատած պարզապես համատեղ մոդելների հետ.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում
Վերջնական ցուցանիշներում մենք տեսնում ենք հետևյալ պատկերը.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում

Այնուամենայնիվ, այստեղ կարող եք նկատել, որ բիզնեսի համար օգտակար առաջարկությունների մեկ բացահայտ կետ կա: Այժմ մենք նոր ենք սովորել, թե ինչպես կարելի է լավ կանխատեսել, թե ինչ կգնի օգտվողը, օրինակ, հաջորդ շաբաթ: Բայց պարզապես զեղչ տալ մի բանի վրա, որը նա արդեն կգնի, այնքան էլ զիլ չէ: Բայց շատ լավ է առավելագույնի հասցնել ակնկալիքը, օրինակ, հետևյալ ցուցանիշների վերաբերյալ.

  1. Մարժա/շրջանառություն՝ հիմնված անձնական առաջարկությունների վրա:
  2. Հաճախորդի միջին ստուգում:
  3. Այցելությունների հաճախականությունը.

Այսպիսով, մենք ստացված հավանականությունները բազմապատկում ենք տարբեր գործակիցներով և դրանք վերադասավորում ենք այնպես, որ վերը նշված ցուցանիշների վրա ազդող արտադրյալները հասնեն վերևին: Չկա պատրաստի լուծում, որի համար լավագույն մոտեցումն է օգտագործել: Մենք նույնիսկ նման գործակիցների հետ փորձարկում ենք անմիջապես արտադրության մեջ։ Բայց ահա հետաքրքիր մեթոդներ, որոնք ամենից հաճախ մեզ տալիս են լավագույն արդյունքները.

  1. Բազմապատկել ապրանքի գնով/մարժաով:
  2. Բազմապատկեք միջին ստացականով, որում հայտնվում է ապրանքը: Այսպիսով, կհայտնվեն ապրանքներ, որոնցով նրանք սովորաբար այլ բան են վերցնում:
  3. Բազմապատկեք այս ապրանքի գնորդների այցելությունների միջին հաճախականությամբ՝ հիմնվելով այն վարկածի վրա, որ այս ապրանքը հրահրում է մարդկանց ավելի հաճախ վերադառնալ դրա համար:

Գործակիցներով փորձեր կատարելուց հետո արտադրության մեջ ստացանք հետևյալ ցուցանիշները.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում
Այստեղ ապրանքների ընդհանուր փոխակերպում — բոլոր ապրանքներից գնված ապրանքների մասնաբաժինը մեր կողմից ստեղծված առաջարկություններում:

Ուշադիր ընթերցողը զգալի տարբերություն կնկատի անցանց և առցանց չափումների միջև: Այս վարքագիծը բացատրվում է նրանով, որ ոչ բոլոր դինամիկ զտիչները արտադրանքի համար, որոնք կարող են առաջարկվել, կարող են հաշվի առնվել մոդելը վարժեցնելիս: Մեզ համար սովորական պատմություն է, երբ վերցված թեկնածուների կեսը կարող է զտվել, նման առանձնահատկությունը բնորոշ է մեր ոլորտում:

Եկամուտների առումով ստացվում է հետևյալ պատմությունը, պարզ է, որ առաջարկությունների մեկնարկից հետո թեստային խմբի եկամուտը կտրուկ աճում է, այժմ մեր առաջարկություններով եկամուտների միջին աճը կազմում է 3-4%.
Ինչպես ենք մենք կտրուկ բարելավել առաջարկների որակը օֆլայն մանրածախ առևտրում

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

Ուրախ կլինեմ մեկնաբանություններում զրուցել յուրաքանչյուրի հետ, ով նյութը հետաքրքիր է համարում: Դուք կարող եք ինձ հարցեր տալ անձամբ այստեղ հեռագիր. Ես նաև կիսում եմ իմ մտքերը AI-ի/ստարտափների մասին իմ մեջ հեռագրային ալիք - բարի գալուստ :)

Source: www.habr.com

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