کس طرح ہم نے آف لائن ریٹیل میں سفارشات کے معیار کو ڈرامائی طور پر بہتر کیا ہے۔

سب کو سلام! میرا نام ساشا ہے، میں LoyaltyLab میں CTO اور شریک بانی ہوں۔ دو سال پہلے، میں اور میرے دوست، تمام غریب طلباء کی طرح، شام کو اپنے گھر کے قریب قریب کی دکان پر بیئر خریدنے گئے۔ ہم بہت پریشان تھے کہ خوردہ فروش، یہ جانتے ہوئے کہ ہم بیئر کے لیے آئیں گے، چپس یا کریکر پر رعایت کی پیشکش نہیں کی، حالانکہ یہ بہت منطقی تھا! ہمیں سمجھ نہیں آیا کہ یہ صورتحال کیوں ہو رہی ہے اور ہم نے اپنی کمپنی شروع کرنے کا فیصلہ کیا۔ ٹھیک ہے، بونس کے طور پر، ہر جمعہ کو انہی چپس پر اپنے آپ کو چھوٹ دیں۔

کس طرح ہم نے آف لائن ریٹیل میں سفارشات کے معیار کو ڈرامائی طور پر بہتر کیا ہے۔

اور یہ سب اس مقام پر پہنچ گیا جہاں میں پروڈکٹ کے تکنیکی پہلو پر مواد پیش کر رہا ہوں۔ NVIDIA GTC. ہمیں کمیونٹی کے ساتھ اپنا کام شیئر کرنے میں خوشی ہے، اس لیے میں اپنی رپورٹ کو ایک مضمون کی شکل میں شائع کر رہا ہوں۔

تعارف

سفر کے آغاز میں ہر کسی کی طرح، ہم نے اس بات کا جائزہ لے کر شروع کیا کہ سفارشی نظام کیسے بنائے جاتے ہیں۔ اور سب سے مشہور فن تعمیر مندرجہ ذیل قسم کا نکلا:
کس طرح ہم نے آف لائن ریٹیل میں سفارشات کے معیار کو ڈرامائی طور پر بہتر کیا ہے۔

یہ دو حصوں پر مشتمل ہے:

  1. ایک سادہ اور تیز ماڈل کا استعمال کرتے ہوئے سفارشات کے لیے امیدواروں کا نمونہ لینا، عام طور پر ایک باہمی تعاون کے ساتھ۔
  2. ڈیٹا میں تمام ممکنہ خصوصیات کو مدنظر رکھتے ہوئے، زیادہ پیچیدہ اور سست مواد کے ماڈل کے ساتھ امیدواروں کی درجہ بندی۔

اس کے بعد میں درج ذیل شرائط استعمال کروں گا:

  • سفارشات کے لیے امیدوار/امیدوار - ایک صارف کی مصنوعات کی جوڑی جو ممکنہ طور پر پیداوار میں سفارشات میں شامل ہوسکتی ہے۔
  • امیدواروں کو نکالنے والا/ایکسٹریکٹر/امیدوار نکالنے کا طریقہ - دستیاب ڈیٹا سے "سفارش کے امیدواروں" کو نکالنے کا ایک طریقہ یا طریقہ۔

پہلے مرحلے میں عام طور پر مشترکہ فلٹرنگ کے مختلف تغیرات کا استعمال شامل ہوتا ہے۔ سب سے زیادہ مقبول - ALS. یہ حیرت کی بات ہے کہ سفارش کرنے والے نظاموں کے بارے میں زیادہ تر مضامین صرف پہلے مرحلے میں تعاونی ماڈلز میں مختلف بہتریوں کو ظاہر کرتے ہیں، لیکن کوئی بھی دوسرے نمونے لینے کے طریقوں کے بارے میں زیادہ بات نہیں کرتا ہے۔ ہمارے لیے، صرف اشتراکی ماڈلز اور ان کے ساتھ مختلف اصلاح کا طریقہ کار اس معیار کے ساتھ کام نہیں کرسکا جس کی ہمیں توقع تھی، اس لیے ہم نے خاص طور پر اس حصے پر تحقیق کی۔ اور مضمون کے آخر میں میں یہ بتاؤں گا کہ ہم ALS کو کس حد تک بہتر کرنے میں کامیاب ہوئے، جو کہ ہماری بنیاد تھی۔

اس سے پہلے کہ میں اپنے نقطہ نظر کو بیان کرنے کی طرف بڑھوں، یہ نوٹ کرنا ضروری ہے کہ حقیقی وقت کی سفارشات میں، جب ہمارے لیے 30 منٹ پہلے پیش آنے والے ڈیٹا کو مدنظر رکھنا ضروری ہے، تو واقعی میں بہت سے ایسے طریقے نہیں ہیں جو مطلوبہ وقت میں کام کر سکیں۔ لیکن، ہمارے معاملے میں، ہمیں دن میں ایک بار سے زیادہ سفارشات جمع نہیں کرنی پڑتی ہیں، اور زیادہ تر معاملات میں - ہفتے میں ایک بار، جو ہمیں پیچیدہ ماڈلز استعمال کرنے اور معیار کو کئی گنا بہتر کرنے کا موقع فراہم کرتا ہے۔

آئیے ایک بیس لائن کے طور پر لیتے ہیں کہ امیدواروں کو نکالنے کے کام پر صرف ALS کیا میٹرکس دکھاتا ہے۔ ہم جن کلیدی میٹرکس کی نگرانی کرتے ہیں وہ ہیں:

  • درستگی - نمونہ داروں سے صحیح طریقے سے منتخب امیدواروں کا تناسب۔
  • یاد کرنا ان امیدواروں کا تناسب ہے جو اصل میں ہدف کے وقفے میں تھے۔
  • F1-score - F- پیمائش پچھلے دو پوائنٹس پر کی گئی ہے۔

ہم اضافی مواد کی خصوصیات کے ساتھ گریڈینٹ بوسٹنگ کی تربیت کے بعد حتمی ماڈل کے میٹرکس کو بھی دیکھیں گے۔ یہاں 3 اہم میٹرکس بھی ہیں:

  • precision@5 - ہر خریدار کے امکان کے لحاظ سے سب سے اوپر 5 سے مصنوعات کا اوسط فیصد۔
  • Response-rate@5 - سٹور کے دورے سے لے کر کم از کم ایک ذاتی پیشکش (ایک پیشکش میں 5 مصنوعات) کی خریداری میں صارفین کی تبدیلی۔
  • اوسط roc-auc فی صارف - اوسط roc-auc ہر خریدار کے لیے۔

یہ نوٹ کرنا ضروری ہے کہ یہ تمام میٹرکس پر ماپا جاتا ہے۔ ٹائم سیریز کراس توثیقیعنی، تربیت پہلے k ہفتوں میں ہوتی ہے، اور k+1 ہفتہ کو ٹیسٹ ڈیٹا کے طور پر لیا جاتا ہے۔ اس طرح، موسمی اتار چڑھاؤ کا ماڈلز کے معیار کی تشریح پر کم سے کم اثر پڑا۔ مزید تمام گرافس پر، abscissa محور کراس توثیق میں ہفتے کے نمبر کی نشاندہی کرے گا، اور ordinate محور مخصوص میٹرک کی قدر کی نشاندہی کرے گا۔ تمام گراف ایک کلائنٹ کے لین دین کے ڈیٹا پر مبنی ہیں تاکہ ایک دوسرے کے درمیان موازنہ درست ہو۔

اس سے پہلے کہ ہم اپنے نقطہ نظر کو بیان کرنا شروع کریں، ہم سب سے پہلے بیس لائن کو دیکھتے ہیں، جو کہ 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 اوقات اور نچوڑ، بشمول سامان، مدت کا اختتام جس کا ہدف وقفہ سے پہلے آتا ہے۔

زمرہ کے لحاظ سے مقبول

ایک اور واضح خیال یہ ہے کہ مختلف زمروں یا برانڈز میں مقبول پروڈکٹس کا نمونہ لیا جائے۔ یہاں ہم ہر خریدار کے لیے حساب لگاتے ہیں۔ top-k "پسندیدہ" زمرے/برانڈز اور اس زمرے/برانڈ سے "مقبول" نکالیں۔ ہمارے معاملے میں، ہم پروڈکٹ کی خریداریوں کی تعداد سے "پسندیدہ" اور "مقبول" کا تعین کریں گے۔ اس نقطہ نظر کا ایک اضافی فائدہ کولڈ اسٹارٹ کیس میں اس کا اطلاق ہے۔ یعنی، ان صارفین کے لیے جنہوں نے یا تو بہت کم خریداری کی ہے، یا وہ طویل عرصے سے اسٹور پر نہیں آئے ہیں، یا صرف ایک لائلٹی کارڈ جاری کیا ہے۔ ان کے لیے، ایسی اشیاء کا ذخیرہ کرنا آسان اور بہتر ہے جو صارفین میں مقبول ہیں اور ان کی تاریخ ہے۔ نتیجے میں میٹرکس ہیں:
کس طرح ہم نے آف لائن ریٹیل میں سفارشات کے معیار کو ڈرامائی طور پر بہتر کیا ہے۔
یہاں لفظ "زمرہ" کے بعد نمبر کا مطلب زمرہ کے گھونسلے کی سطح ہے۔

مجموعی طور پر، یہ بھی حیران کن نہیں ہے کہ تنگ زمرے بہتر نتائج حاصل کرتے ہیں، کیونکہ وہ خریداروں کے لیے زیادہ درست "پسندیدہ" مصنوعات نکالتے ہیں۔

ہفتہ وار مختلف سامان کی متبادل خریداری

ایک دلچسپ نقطہ نظر جو میں نے تجویز کنندہ کے نظام کے بارے میں مضامین میں نہیں دیکھا ہے وہ کافی آسان اور ایک ہی وقت میں مارکوف چینز کا شماریاتی طریقہ کار ہے۔ یہاں ہمیں 2 مختلف ہفتے لگتے ہیں، پھر ہر گاہک کے لیے ہم مصنوعات کے جوڑے بناتے ہیں۔ [ہفتے i میں خریدا گیا] - [ہفتے j میں خریدا گیا]، جہاں j > i، اور یہاں سے ہم ہر پروڈکٹ کے لیے اگلے ہفتے کسی اور پروڈکٹ پر سوئچ کرنے کے امکان کا حساب لگاتے ہیں۔ یعنی سامان کے ہر جوڑے کے لیے producti-productj ہم ان کی تعداد کو پائے گئے جوڑوں میں شمار کرتے ہیں اور جوڑوں کی تعداد سے تقسیم کرتے ہیں، جہاں مصنوعات پہلے ہفتے میں تھا. امیدواروں کو نکالنے کے لیے، ہم خریدار کی آخری رسید اور اقتباس لیتے ہیں۔ top-k ٹرانزیشن میٹرکس سے ممکنہ طور پر اگلی مصنوعات جو ہمیں موصول ہوئی ہیں۔ ٹرانزیشن میٹرکس کی تعمیر کا عمل اس طرح لگتا ہے:
کس طرح ہم نے آف لائن ریٹیل میں سفارشات کے معیار کو ڈرامائی طور پر بہتر کیا ہے۔

منتقلی امکانی میٹرکس میں حقیقی مثالوں سے ہم مندرجہ ذیل دلچسپ مظاہر دیکھتے ہیں:
کس طرح ہم نے آف لائن ریٹیل میں سفارشات کے معیار کو ڈرامائی طور پر بہتر کیا ہے۔
یہاں آپ دلچسپ انحصار دیکھ سکتے ہیں جو صارفین کے رویے میں ظاہر ہوتے ہیں: مثال کے طور پر، لیموں کے پھلوں یا دودھ کے ایسے برانڈ کے چاہنے والے جہاں سے ان کے دوسرے میں جانے کا امکان ہے۔ یہ بھی حیران کن نہیں ہے کہ بار بار خریداری کی اعلی تعدد والی مصنوعات، جیسے مکھن، بھی یہاں ختم ہوتی ہیں۔

مارکوف زنجیروں کے ساتھ طریقہ کار میں میٹرکس مندرجہ ذیل ہیں:
کس طرح ہم نے آف لائن ریٹیل میں سفارشات کے معیار کو ڈرامائی طور پر بہتر کیا ہے۔
k - خریدار کے آخری لین دین سے ہر خریدی گئی پروڈکٹ کے لیے حاصل کردہ مصنوعات کی تعداد۔
جیسا کہ ہم دیکھ سکتے ہیں، بہترین نتیجہ k=4 کے ساتھ کنفیگریشن کے ذریعے دکھایا گیا ہے۔ ہفتہ 4 میں اضافے کی وضاحت چھٹیوں کے دوران موسمی رویے سے کی جا سکتی ہے۔ 

خریداروں سے ملتی جلتی مصنوعات، مختلف ماڈلز کی طرف سے بنائی گئی خصوصیات کے مطابق

اب ہم سب سے مشکل اور دلچسپ حصے پر آگئے ہیں - گاہکوں کے ویکٹرز اور مختلف ماڈلز کے مطابق تیار کردہ مصنوعات کی بنیاد پر قریبی پڑوسیوں کی تلاش۔ ہمارے کام میں ہم 3 ایسے ماڈل استعمال کرتے ہیں:

  • ALS
  • Word2Vec (اس طرح کے کاموں کے لیے Item2Vec)
  • ڈی ایس ایس ایم

ہم نے پہلے ہی ALS سے نمٹا ہے، آپ پڑھ سکتے ہیں کہ یہ کیسے سیکھتا ہے۔ یہاں. Word2Vec کے معاملے میں، ہم ماڈل کے معروف نفاذ کا استعمال کرتے ہیں۔ جینسم. نصوص کے ساتھ مشابہت سے، ہم پیشکش کو خریداری کی رسید کے طور پر بیان کرتے ہیں۔ اس طرح، پروڈکٹ ویکٹر کی تعمیر کرتے وقت، ماڈل اس کے "سیاق و سباق" (رسید میں باقی مصنوعات) میں پروڈکٹ کے لیے پیشین گوئی کرنا سیکھتا ہے۔ ای کامرس ڈیٹا میں، رسید کے بجائے خریدار کا سیشن استعمال کرنا بہتر ہے۔ اوزون. اور DSSM تجزیہ کرنا زیادہ دلچسپ ہے۔ ابتدائی طور پر، یہ مائیکروسافٹ کے لڑکوں نے تلاش کے لیے ایک ماڈل کے طور پر لکھا تھا، آپ اصل تحقیقی مقالہ یہاں پڑھ سکتے ہیں۔. ماڈل کا فن تعمیر اس طرح لگتا ہے:
کس طرح ہم نے آف لائن ریٹیل میں سفارشات کے معیار کو ڈرامائی طور پر بہتر کیا ہے۔

یہاں Q - استفسار، صارف کی تلاش کا سوال، ڈی[i] - دستاویز، انٹرنیٹ صفحہ۔ ماڈل کا ان پٹ بالترتیب درخواست اور صفحات کی خصوصیات ہیں۔ ہر ان پٹ پرت کے بعد مکمل طور پر جڑی ہوئی پرتیں (ملٹی لیئر پرسیپٹرون) ہوتی ہیں۔ اگلا، ماڈل ماڈل کی آخری تہوں میں حاصل کردہ ویکٹروں کے درمیان کوزائن کو کم کرنا سیکھتا ہے۔
سفارشی کام بالکل وہی فن تعمیر استعمال کرتے ہیں، صرف درخواست کے بجائے ایک صارف ہوتا ہے، اور صفحات کی بجائے پروڈکٹس ہوتے ہیں۔ اور ہمارے معاملے میں، یہ فن تعمیر مندرجہ ذیل میں تبدیل ہوتا ہے:
کس طرح ہم نے آف لائن ریٹیل میں سفارشات کے معیار کو ڈرامائی طور پر بہتر کیا ہے۔

اب، نتائج کو چیک کرنے کے لیے، آخری پوائنٹ کا احاطہ کرنا باقی ہے - اگر ALS اور DSSM کے معاملے میں ہم نے واضح طور پر صارف کے ویکٹر کی تعریف کی ہے، تو Word2Vec کی صورت میں ہمارے پاس صرف پروڈکٹ ویکٹر ہیں۔ یہاں، صارف ویکٹر بنانے کے لیے، ہم نے 3 اہم طریقوں کی وضاحت کی ہے:

  1. صرف ویکٹرز کو شامل کریں، پھر کوسائن فاصلے کے لیے یہ پتہ چلتا ہے کہ ہم نے خریداری کی تاریخ میں صرف مصنوعات کا اوسط لگایا۔
  2. کچھ وقت کے وزن کے ساتھ ویکٹر کا خلاصہ۔
  3. TF-IDF گتانک کے ساتھ سامان کا وزن۔

خریدار ویکٹر کے لکیری وزن کے معاملے میں، ہم اس مفروضے سے آگے بڑھتے ہیں کہ صارف نے کل جو پروڈکٹ خریدا ہے اس کا اس کے رویے پر اس پروڈکٹ سے زیادہ اثر ہے جو اس نے چھ ماہ پہلے خریدا تھا۔ اس لیے ہم خریدار کے پچھلے ہفتے کو 1 کی مشکلات کے ساتھ دیکھتے ہیں، اور ½، ⅓، وغیرہ کی مشکلات کے ساتھ آگے کیا ہوا:
کس طرح ہم نے آف لائن ریٹیل میں سفارشات کے معیار کو ڈرامائی طور پر بہتر کیا ہے۔

TF-IDF گتانکوں کے لیے، ہم بالکل ویسا ہی کرتے ہیں جیسا کہ متن کے لیے TF-IDF میں ہوتا ہے، صرف ہم خریدار کو ایک دستاویز کے طور پر اور چیک کو بطور پیشکش، بالترتیب، لفظ ایک پروڈکٹ ہے۔ اس طرح، صارف کا ویکٹر نایاب اشیا کی طرف زیادہ منتقل ہو جائے گا، جبکہ خریدار کے لیے متواتر اور مانوس اشیا اسے زیادہ تبدیل نہیں کریں گی۔ نقطہ نظر کو اس طرح بیان کیا جا سکتا ہے:
کس طرح ہم نے آف لائن ریٹیل میں سفارشات کے معیار کو ڈرامائی طور پر بہتر کیا ہے۔

اب میٹرکس کو دیکھتے ہیں۔ ALS کے نتائج اس طرح نظر آتے ہیں:
کس طرح ہم نے آف لائن ریٹیل میں سفارشات کے معیار کو ڈرامائی طور پر بہتر کیا ہے۔
خریدار ویکٹر کی تعمیر کے مختلف تغیرات کے ساتھ Item2Vec کے لیے میٹرکس:
کس طرح ہم نے آف لائن ریٹیل میں سفارشات کے معیار کو ڈرامائی طور پر بہتر کیا ہے۔
اس معاملے میں، بالکل وہی ماڈل استعمال کیا جاتا ہے جیسا کہ ہماری بیس لائن میں ہے۔ فرق صرف اتنا ہے کہ ہم کون سا k استعمال کریں گے۔ صرف تعاونی ماڈلز استعمال کرنے کے لیے، آپ کو ہر گاہک کے لیے تقریباً 50-70 قریب ترین پروڈکٹس لینا ہوں گے۔

اور DSSM کے مطابق میٹرکس:
کس طرح ہم نے آف لائن ریٹیل میں سفارشات کے معیار کو ڈرامائی طور پر بہتر کیا ہے۔

تمام طریقوں کو کیسے یکجا کیا جائے؟

ٹھنڈا، آپ کہتے ہیں، لیکن امیدوار نکالنے کے اوزار کے اتنے بڑے سیٹ کا کیا کریں؟ اپنے ڈیٹا کے لیے بہترین کنفیگریشن کا انتخاب کیسے کریں؟ یہاں ہمارے کئی مسائل ہیں:

  1. یہ ضروری ہے کہ کسی نہ کسی طریقے سے ہر طریقہ میں ہائپر پیرامیٹر کے لیے تلاش کی جگہ کو محدود کیا جائے۔ بلاشبہ یہ ہر جگہ مجرد ہے، لیکن ممکنہ نکات کی تعداد بہت زیادہ ہے۔
  2. مخصوص ہائپرپیرامیٹر کے ساتھ مخصوص طریقوں کا ایک چھوٹا سا محدود نمونہ استعمال کرتے ہوئے، آپ اپنے میٹرک کے لیے بہترین کنفیگریشن کیسے منتخب کر سکتے ہیں؟

ہمیں ابھی تک پہلے سوال کا قطعی طور پر درست جواب نہیں ملا ہے، اس لیے ہم درج ذیل سے آگے بڑھتے ہیں: ہر طریقہ کے لیے، ہمارے پاس موجود ڈیٹا کے کچھ اعدادوشمار پر منحصر، ایک ہائپر پیرامیٹر سرچ اسپیس لمیٹر لکھا جاتا ہے۔ اس طرح، لوگوں سے خریداریوں کے درمیان اوسط مدت کو جان کر، ہم اندازہ لگا سکتے ہیں کہ "جو پہلے ہی خریدا جا چکا ہے" اور "ایک طویل ماضی کی خریداری کی مدت" کا طریقہ استعمال کیا جائے۔

اور مختلف طریقوں کی ایک خاص تعداد کے تغیرات سے گزرنے کے بعد، ہم مندرجہ ذیل کو نوٹ کرتے ہیں: ہر عمل درآمد امیدواروں کی ایک خاص تعداد کو نکالتا ہے اور ہمارے لیے کلیدی میٹرک کی ایک خاص قدر رکھتا ہے (یاد کریں)۔ ہم اپنی قابل اجازت کمپیوٹنگ طاقت کے لحاظ سے، اعلی ترین ممکنہ میٹرک کے ساتھ، کل امیدواروں کی ایک مخصوص تعداد حاصل کرنا چاہتے ہیں۔ یہاں مسئلہ خوبصورتی سے بیگ کے مسئلے میں سمٹ جاتا ہے۔
کس طرح ہم نے آف لائن ریٹیل میں سفارشات کے معیار کو ڈرامائی طور پر بہتر کیا ہے۔

یہاں امیدواروں کی تعداد پنڈ کا وزن ہے، اور یاد کرنے کا طریقہ اس کی قدر ہے۔ تاہم، الگورتھم کو لاگو کرتے وقت مزید 2 نکات کو مدنظر رکھنا چاہیے:

  • ان امیدواروں میں طریقے اوورلیپ ہو سکتے ہیں جنہیں وہ بازیافت کرتے ہیں۔
  • کچھ معاملات میں، مختلف پیرامیٹرز کے ساتھ ایک طریقہ کو دو بار لینا درست ہوگا، اور پہلے سے امیدوار کی پیداوار دوسرے کا سب سیٹ نہیں ہوگی۔

مثال کے طور پر، اگر ہم بازیافت کے لیے مختلف وقفوں کے ساتھ "جو میں نے پہلے ہی خریدا ہے" کے طریقہ کار کے نفاذ کو لیتے ہیں، تو ان کے امیدواروں کے سیٹ ایک دوسرے کے اندر موجود ہوں گے۔ ایک ہی وقت میں، باہر نکلنے پر "متواتر خریداری" میں مختلف پیرامیٹرز مکمل چوراہا فراہم نہیں کرتے ہیں۔ لہذا، ہم نمونے لینے کے طریقوں کو مختلف پیرامیٹرز کے ساتھ بلاکس میں تقسیم کرتے ہیں جیسے کہ ہر بلاک سے ہم مخصوص ہائپر پیرامیٹر کے ساتھ زیادہ سے زیادہ ایک نکالنے کا طریقہ اختیار کرنا چاہتے ہیں۔ ایسا کرنے کے لیے، آپ کو knapsack مسئلہ کو لاگو کرنے میں تھوڑا ہوشیار ہونے کی ضرورت ہے، لیکن asymptotics اور نتیجہ تبدیل نہیں ہوگا۔

یہ سمارٹ امتزاج ہمیں محض اشتراکی ماڈلز کے مقابلے میں درج ذیل میٹرکس حاصل کرنے کی اجازت دیتا ہے:
کس طرح ہم نے آف لائن ریٹیل میں سفارشات کے معیار کو ڈرامائی طور پر بہتر کیا ہے۔
فائنل میٹرکس میں ہم مندرجہ ذیل تصویر دیکھتے ہیں:
کس طرح ہم نے آف لائن ریٹیل میں سفارشات کے معیار کو ڈرامائی طور پر بہتر کیا ہے۔

تاہم، یہاں آپ دیکھ سکتے ہیں کہ کاروبار کے لیے مفید سفارشات کے لیے ایک بے نقاب نقطہ ہے۔ اب ہم نے ابھی یہ سیکھا ہے کہ صارف کیا خریدے گا، مثال کے طور پر، اگلے ہفتے پیشین گوئی کرنے کا ایک بہترین کام کیسے کریں۔ لیکن صرف اس چیز پر رعایت دینا جو وہ پہلے ہی خریدے گا بہت اچھا نہیں ہے۔ لیکن توقع کو زیادہ سے زیادہ کرنا اچھا ہے، مثال کے طور پر، درج ذیل میٹرکس میں سے:

  1. ذاتی سفارشات پر مبنی مارجن/ٹرن اوور۔
  2. اوسط کسٹمر چیک.
  3. دوروں کی تعدد۔

لہٰذا ہم حاصل کردہ امکانات کو مختلف کوفیسینٹ سے ضرب دیتے ہیں اور ان کی دوبارہ درجہ بندی کرتے ہیں تاکہ وہ پروڈکٹس جو اوپر کے میٹرکس کو متاثر کرتے ہیں سب سے اوپر پہنچ جائیں۔ کوئی تیار شدہ حل نہیں ہے جس کے لیے استعمال کرنا بہتر ہے۔ یہاں تک کہ ہم اس طرح کے گتانک کے ساتھ براہ راست پیداوار میں تجربہ کرتے ہیں۔ لیکن یہاں دلچسپ تکنیکیں ہیں جو اکثر ہمیں بہترین نتائج دیتی ہیں:

  1. پروڈکٹ کی قیمت/مارجن سے ضرب کریں۔
  2. اس اوسط رسید سے ضرب کریں جس میں پروڈکٹ ظاہر ہوتا ہے۔ تو سامان آئے گا، جس کے ساتھ وہ عموماً کچھ اور لیتے ہیں۔
  3. اس پروڈکٹ کے خریداروں کے دوروں کی اوسط تعدد سے ضرب کریں، اس مفروضے کی بنیاد پر کہ یہ پروڈکٹ لوگوں کو زیادہ کثرت سے واپس آنے پر اکساتی ہے۔

گتانک کے ساتھ تجربات کرنے کے بعد، ہم نے پیداوار میں درج ذیل میٹرکس حاصل کیے:
کس طرح ہم نے آف لائن ریٹیل میں سفارشات کے معیار کو ڈرامائی طور پر بہتر کیا ہے۔
یہاں مجموعی طور پر مصنوعات کی تبدیلی - ہماری تیار کردہ سفارشات میں تمام مصنوعات میں سے خریدی گئی مصنوعات کا حصہ۔

ایک دھیان رکھنے والا قاری آف لائن اور آن لائن میٹرکس کے درمیان نمایاں فرق محسوس کرے گا۔ اس رویے کی وضاحت اس حقیقت سے ہوتی ہے کہ ماڈل کی تربیت کرتے وقت جن مصنوعات کی سفارش کی جا سکتی ہے ان کے لیے تمام متحرک فلٹرز کو مدنظر نہیں رکھا جا سکتا۔ ہمارے لیے، یہ ایک عام کہانی ہے جب حاصل کیے گئے امیدواروں میں سے نصف کو فلٹر کیا جا سکتا ہے؛ یہ خصوصیت ہماری صنعت میں عام ہے۔

آمدنی کے لحاظ سے، مندرجہ ذیل کہانی حاصل کی گئی ہے، یہ واضح ہے کہ سفارشات کے آغاز کے بعد، ٹیسٹ گروپ کی آمدنی میں زبردست اضافہ ہو رہا ہے، اب ہماری سفارشات کے ساتھ آمدنی میں اوسط اضافہ 3-4٪ ہے:
کس طرح ہم نے آف لائن ریٹیل میں سفارشات کے معیار کو ڈرامائی طور پر بہتر کیا ہے۔

آخر میں، میں یہ کہنا چاہتا ہوں کہ اگر آپ کو غیر حقیقی سفارشات کی ضرورت ہے، تو سفارشات کے لیے امیدواروں کو نکالنے کے تجربات میں معیار میں بہت بڑا اضافہ پایا جا سکتا ہے۔ ان کی نسل کے لیے وقت کی ایک بڑی مقدار بہت سے اچھے طریقوں کو یکجا کرنا ممکن بناتی ہے، جو مجموعی طور پر کاروبار کے لیے بہترین نتائج دے گی۔

مجھے کسی کے ساتھ تبصرے میں بات کرنے میں خوشی ہوگی جو مواد کو دلچسپ سمجھتا ہے۔ آپ مجھ سے ذاتی طور پر سوالات پوچھ سکتے ہیں۔ تار. میں اپنے میں AI/startups کے بارے میں اپنے خیالات بھی شیئر کرتا ہوں۔ ٹیلیگرام چینل - خوش آمدید :)

ماخذ: www.habr.com

نیا تبصرہ شامل کریں