ఆఫ్‌లైన్ రిటైల్‌లో సిఫార్సుల నాణ్యతను మేము నాటకీయంగా ఎలా మెరుగుపరిచాము

అందరికి వందనాలు! నా పేరు సాషా, నేను లాయల్టీల్యాబ్‌లో CTO & సహ వ్యవస్థాపకుడిని. రెండు సంవత్సరాల క్రితం, నేను మరియు నా స్నేహితులు, అందరు పేద విద్యార్థుల మాదిరిగానే సాయంత్రం ఇంటికి సమీపంలోని దుకాణానికి బీరు కోసం వెళ్ళాము. మేము బీర్ కోసం వస్తామని తెలిసిన చిల్లర చిప్స్ లేదా క్రాకర్స్‌పై తగ్గింపు ఇవ్వలేదని మేము చాలా బాధపడ్డాము, ఇది చాలా లాజికల్ అయినప్పటికీ! ఈ పరిస్థితి ఎందుకు జరుగుతుందో మాకు అర్థం కాలేదు మరియు మా స్వంత కంపెనీని సృష్టించాలని నిర్ణయించుకున్నాము. సరే, బోనస్‌గా, అదే చిప్‌ల కోసం ప్రతి శుక్రవారం మీ కోసం తగ్గింపులను వ్రాయండి.

ఆఫ్‌లైన్ రిటైల్‌లో సిఫార్సుల నాణ్యతను మేము నాటకీయంగా ఎలా మెరుగుపరిచాము

మరియు ప్రతిదీ నేను ఉత్పత్తి యొక్క సాంకేతిక వైపు మెటీరియల్‌తో మాట్లాడే స్థాయికి చేరుకుంది NVIDIA GTC. మా పనిని సంఘంతో పంచుకోవడం మాకు సంతోషంగా ఉంది, కాబట్టి నేను నా నివేదికను కథనం రూపంలో పోస్ట్ చేస్తున్నాను.

పరిచయం

ప్రయాణం ప్రారంభంలో అందరిలాగే, మేము సిఫార్సు చేసే సిస్టమ్‌లు ఎలా తయారు చేయబడతాయో స్థూలదృష్టితో ప్రారంభించాము. మరియు కింది రకానికి చెందిన ఆర్కిటెక్చర్ అత్యంత ప్రజాదరణ పొందింది:
ఆఫ్‌లైన్ రిటైల్‌లో సిఫార్సుల నాణ్యతను మేము నాటకీయంగా ఎలా మెరుగుపరిచాము

ఇది రెండు భాగాలను కలిగి ఉంటుంది:

  1. సాధారణ మరియు వేగవంతమైన మోడల్ ద్వారా సిఫార్సుల కోసం అభ్యర్థులను నమూనా చేయడం, సాధారణంగా సహకారం.
  2. డేటాలో సాధ్యమయ్యే అన్ని లక్షణాలను పరిగణనలోకి తీసుకుని, మరింత సంక్లిష్టమైన మరియు నెమ్మదిగా ఉండే కంటెంట్ మోడల్ ద్వారా అభ్యర్థుల ర్యాంకింగ్.

ఇక్కడ మరియు క్రింద నేను ఈ క్రింది నిబంధనలను ఉపయోగిస్తాను:

  • సిఫార్సుల కోసం అభ్యర్థి / అభ్యర్థి - ఒక జత వినియోగదారు-ఉత్పత్తి, ఇది ఉత్పత్తిలో సిఫార్సులను పొందగలదు.
  • అభ్యర్థుల వెలికితీత/ఎక్స్‌ట్రాక్టర్/అభ్యర్థి వెలికితీత పద్ధతి — అందుబాటులో ఉన్న డేటా నుండి "సిఫార్సుల కోసం అభ్యర్థులను" సంగ్రహించే ప్రక్రియ లేదా పద్ధతి.

మొదటి దశలో, సహకార వడపోత యొక్క విభిన్న వైవిధ్యాలు సాధారణంగా ఉపయోగించబడతాయి. అత్యంత ప్రజాదరణ పొందినది - ALS. ఆశ్చర్యకరంగా, సిఫార్సుదారు సిస్టమ్‌ల గురించిన చాలా కథనాలు మొదటి దశలో సహకార నమూనాలకు వివిధ మెరుగుదలలను మాత్రమే వెల్లడిస్తాయి, కానీ ఎవరూ ఇతర నమూనా పద్ధతుల గురించి మాట్లాడరు. మా కోసం, సహకార నమూనాలు మరియు వాటితో వివిధ ఆప్టిమైజేషన్‌లను మాత్రమే ఉపయోగించే విధానం మేము ఆశించిన నాణ్యతతో పని చేయలేదు, కాబట్టి మేము ఈ భాగంలో ప్రత్యేకంగా పరిశోధనను తవ్వాము. మరియు వ్యాసం చివరలో నేను మా బేస్‌లైన్ అయిన ALSని ఎంతవరకు మెరుగుపరచగలిగాము అని చూపిస్తాను.

నేను మా విధానాన్ని వివరించడానికి ముందు, నిజ సమయ సిఫార్సులతో, 30 నిమిషాల క్రితం జరిగిన డేటాను పరిగణనలోకి తీసుకోవడం చాలా ముఖ్యం అయినప్పుడు, సరైన సమయంలో పని చేసే అనేక విధానాలు నిజంగా లేవని గమనించడం ముఖ్యం. కానీ, మా విషయంలో, మేము రోజుకు ఒకసారి కంటే ఎక్కువ సిఫార్సులను సేకరించాలి, మరియు చాలా సందర్భాలలో - వారానికి ఒకసారి, ఇది సంక్లిష్ట నమూనాలను ఉపయోగించడానికి మరియు నాణ్యతను గుణించే అవకాశాన్ని ఇస్తుంది.

అభ్యర్థులను సంగ్రహించే పనిలో ALS మాత్రమే చూపే కొలమానాలను బేస్‌లైన్ కోసం తీసుకుందాం. మేము పర్యవేక్షించే ముఖ్య కొలమానాలు:

  • ఖచ్చితత్వం - నమూనా చేసిన వాటి నుండి సరిగ్గా ఎంపిక చేయబడిన అభ్యర్థుల నిష్పత్తి.
  • రీకాల్ - వాస్తవానికి లక్ష్య విరామంలో ఉన్న అభ్యర్థుల నిష్పత్తి.
  • F1-స్కోర్ - F-స్కోరు మునుపటి రెండు పాయింట్లపై లెక్కించబడుతుంది.

అదనపు కంటెంట్ ఫీచర్‌లతో గ్రేడియంట్ బూస్టింగ్ శిక్షణ తర్వాత మేము తుది మోడల్ మెట్రిక్‌లను కూడా పరిశీలిస్తాము. 3 ప్రధాన ప్రమాణాలు కూడా ఉన్నాయి:

  • Precision@5 — ప్రతి కస్టమర్‌కు సంభావ్యత ఆధారంగా టాప్ 5 నుండి హిట్‌ల సగటు శాతం.
  • ప్రతిస్పందన-రేటు@5 — దుకాణాన్ని సందర్శించినప్పటి నుండి కొనుగోలుదారులను కనీసం ఒక వ్యక్తిగత ఆఫర్ కొనుగోలుగా మార్చడం (ఒక ఆఫర్‌లో 5 ఉత్పత్తులు ఉన్నాయి).
  • ప్రతి వినియోగదారుకు సగటు roc-auc - మీడియం roc-auc ప్రతి కొనుగోలుదారు కోసం.

ఈ కొలమానాలన్నీ కొలుస్తారు అని గమనించడం ముఖ్యం టైమ్-సిరీస్ క్రాస్ ధ్రువీకరణ, అంటే, మొదటి k వారాలలో శిక్షణ జరుగుతుంది మరియు k + 1 వారాలు పరీక్ష డేటాగా తీసుకోబడతాయి. అందువలన, కాలానుగుణ హెచ్చుతగ్గులు నమూనాల నాణ్యత యొక్క వివరణపై కనిష్ట ప్రభావాన్ని చూపుతాయి. ఇంకా, అన్ని చార్ట్‌లలో, అబ్సిస్సా అక్షం క్రాస్ ధ్రువీకరణలో వారం సంఖ్యను సూచిస్తుంది మరియు ఆర్డినేట్ అక్షం పేర్కొన్న మెట్రిక్ విలువను సూచిస్తుంది. అన్ని గ్రాఫ్‌లు ఒక క్లయింట్ యొక్క లావాదేవీ డేటాపై ఆధారపడి ఉంటాయి, తద్వారా వాటి మధ్య పోలిక సరైనది.

మేము మా విధానాన్ని వివరించడానికి ముందు, మొదట ALS శిక్షణ పొందిన మోడల్ అయిన బేస్‌లైన్‌ను చూద్దాం.
అభ్యర్థి వెలికితీత కొలమానాలు:
ఆఫ్‌లైన్ రిటైల్‌లో సిఫార్సుల నాణ్యతను మేము నాటకీయంగా ఎలా మెరుగుపరిచాము

చివరి కొలమానాలు:
ఆఫ్‌లైన్ రిటైల్‌లో సిఫార్సుల నాణ్యతను మేము నాటకీయంగా ఎలా మెరుగుపరిచాము

నేను అల్గారిథమ్‌ల యొక్క అన్ని అమలులను ఒక రకమైన వ్యాపార పరికల్పనగా పరిగణిస్తాను. అందువల్ల, చాలా స్థూలంగా, ఏదైనా సహకార నమూనాలను "ప్రజలు తమలాంటి వ్యక్తులు కొనుగోలు చేసే వాటిని కొనుగోలు చేస్తారు" అనే పరికల్పనగా పరిగణించవచ్చు. నేను చెప్పినట్లుగా, మేము అలాంటి అర్థాలకు పరిమితం కాలేదు మరియు ఆఫ్‌లైన్ రిటైల్‌లోని డేటాపై ఇప్పటికీ కూల్‌గా పనిచేసే కొన్ని పరికల్పనలు ఇక్కడ ఉన్నాయి:

  1. మీరు ఇంతకు ముందు ఏమి కొన్నారు.
  2. నేను ఇంతకు ముందు కొన్న దానిలాగే.
  3. సుదీర్ఘ గత కొనుగోలు కాలం.
  4. వర్గం/బ్రాండ్ వారీగా ప్రసిద్ధి చెందింది.
  5. వారం నుండి వారం వరకు వివిధ వస్తువుల ప్రత్యామ్నాయ కొనుగోళ్లు (మార్కోవ్ గొలుసులు).
  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, మరియు ఇక్కడ నుండి మేము ప్రతి ఉత్పత్తికి వచ్చే వారం మరొక ఉత్పత్తికి మారే సంభావ్యతను గణిస్తాము. అంటే, ప్రతి జత వస్తువులకు ఉత్పత్తి-ఉత్పత్తిj కనుగొనబడిన జతలలో వాటి సంఖ్యను లెక్కించండి మరియు జతల సంఖ్యతో భాగించండి, ఎక్కడ ఉత్పత్తి మొదటి వారంలో ఉంది. అభ్యర్థులను సంగ్రహించడానికి, మేము కొనుగోలుదారు యొక్క చివరి చెక్‌ని తీసుకొని పొందుతాము టాప్-కె మేము పొందిన ట్రాన్సిషన్ మ్యాట్రిక్స్ నుండి చాలా మటుకు తదుపరి ఉత్పత్తులు. పరివర్తన మాతృకను నిర్మించే ప్రక్రియ ఇలా కనిపిస్తుంది:
ఆఫ్‌లైన్ రిటైల్‌లో సిఫార్సుల నాణ్యతను మేము నాటకీయంగా ఎలా మెరుగుపరిచాము

పరివర్తన సంభావ్యత యొక్క మాతృకలోని నిజమైన ఉదాహరణల నుండి, మేము ఈ క్రింది ఆసక్తికరమైన విషయాలను చూస్తాము:
ఆఫ్‌లైన్ రిటైల్‌లో సిఫార్సుల నాణ్యతను మేము నాటకీయంగా ఎలా మెరుగుపరిచాము
వినియోగదారు ప్రవర్తనలో బహిర్గతమయ్యే ఆసక్తికరమైన డిపెండెన్సీలను ఇక్కడ మీరు గమనించవచ్చు: ఉదాహరణకు, సిట్రస్ ప్రేమికులు లేదా పాలు బ్రాండ్, దాని నుండి వారు మరొకదానికి మారవచ్చు. వెన్న వంటి అధిక పునరావృత కొనుగోళ్లు ఉన్న వస్తువులు కూడా ఇక్కడకు చేరుకోవడంలో ఆశ్చర్యం లేదు.

మార్కోవ్ గొలుసులతో పద్ధతిలోని కొలమానాలు క్రింది విధంగా ఉన్నాయి:
ఆఫ్‌లైన్ రిటైల్‌లో సిఫార్సుల నాణ్యతను మేము నాటకీయంగా ఎలా మెరుగుపరిచాము
k - కొనుగోలుదారు యొక్క చివరి లావాదేవీ నుండి కొనుగోలు చేయబడిన ప్రతి వస్తువు కోసం తిరిగి పొందబడిన ఉత్పత్తుల సంఖ్య.
మనం చూడగలిగినట్లుగా, k=4 తో కాన్ఫిగరేషన్ ఉత్తమ ఫలితాన్ని చూపుతుంది. 4వ వారంలోని స్పైక్‌ను సెలవుల చుట్టూ కాలానుగుణ ప్రవర్తన ద్వారా వివరించవచ్చు. 

కొనుగోలుదారులకు సారూప్య ఉత్పత్తులు, వివిధ నమూనాలు నిర్మించిన లక్షణాల ప్రకారం

కాబట్టి మేము చాలా కష్టమైన మరియు ఆసక్తికరమైన భాగానికి వస్తాము - కొనుగోలుదారులు మరియు వివిధ నమూనాల ప్రకారం నిర్మించిన ఉత్పత్తుల వెక్టర్లలో సమీప పొరుగువారి కోసం శోధన. మా పనిలో, మేము అటువంటి 3 నమూనాలను ఉపయోగిస్తాము:

  • ALS
  • Word2Vec (అటువంటి పనుల కోసం Item2Vec)
  • DSSM

మేము ఇప్పటికే ALSతో వ్యవహరించాము, అది ఎలా నేర్చుకుంటుందో మీరు చదువుకోవచ్చు ఇక్కడ. Word2Vec విషయంలో, మేము మోడల్ యొక్క బాగా తెలిసిన అమలును ఉపయోగిస్తాము జెన్సిమ్. టెక్స్ట్‌లతో సారూప్యతతో, మేము ఆఫర్‌ను కొనుగోలు రసీదుగా నిర్వచించాము. అందువల్ల, ఉత్పత్తి వెక్టర్‌ను నిర్మిస్తున్నప్పుడు, రసీదులోని ఉత్పత్తికి (రసీదులోని మిగిలిన వస్తువులు) దాని "సందర్భం" అంచనా వేయడానికి మోడల్ నేర్చుకుంటుంది. ఇకామర్స్ డేటాలో, రసీదుకి బదులుగా కొనుగోలుదారు సెషన్‌ను ఉపయోగించడం మంచిది Ozon. మరియు DSSM విడదీయడం మరింత ఆసక్తికరంగా ఉంటుంది. ఇది మొదట మైక్రోసాఫ్ట్‌లోని అబ్బాయిలు శోధన మోడల్‌గా వ్రాయబడింది, మీరు అసలు పరిశోధనా పత్రాన్ని ఇక్కడ చదవవచ్చు. మోడల్ యొక్క నిర్మాణం ఇలా కనిపిస్తుంది:
ఆఫ్‌లైన్ రిటైల్‌లో సిఫార్సుల నాణ్యతను మేము నాటకీయంగా ఎలా మెరుగుపరిచాము

ఇది 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/స్టార్టప్‌లపై నా ఆలోచనలను కూడా నాలో పంచుకుంటాను టెలిగ్రామ్ ఛానల్ — స్వాగతం 🙂

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి