ریکامندر سیستم مایکت، شخصی‌سازی فضای استور برای کاربر

امروزه اپلیکیشن‌هایی که بر اساس نیاز و سلیقه کاربران، شخصی‌سازی میشن، از طرفدارهای بیشتری نسبت به بقیه اپلیکیشن‌ها برخوردارن. دلیل این اتفاق اینه که مردم دوست دارند زمان خودشون رو بیشتر در محیط‌هایی سپری کنند که مطابق سلیقشونه و نیازهاشون رو برطرف میکنه. همچنین اونا دوست دارن از اخبار و تازه‌های حوزه مورد علاقشون مطلع بشن، پس طبیعیه اپلیکیشن‌هایی که این کار رو براشون انجام بدن رو از سایر اپلیکیشن‌ها بیشتر دوست داشته باشند.

ریکامندر سیستم در مایکت
ریکامندر سیستم در مایکت


ریکامندر سیستم Recommender System دقیقا روشی است که اپلیکیشن‌ها از اون برای برقراری تعامل با کاربران و ارائه محصولاتشان بر اساس سلیقه‌ کاربران استفاده می‌کنند. البته بدیهی است که همه اپلیکیشن‌ها و فضاهای دیجیتال هم قادر به استفاده از این سیستم نیستند. اما به طور کلی ریکامندر سیستم در اکثر اپلیکیشن‌ها قابل اجرا است.

در این یادداشت قصد دارم به کمک زهرا اسکندری، لید تیم دیتای مایکت، سازوکار ریکامندر سیستم در استور اندروید مایکت رو بررسی کنم و متوجه بشم که این سیستم در استور اندرویدی ایرانی دقیقا چه طور کار کرده و تابع چه الگوریتم هایی است.

تاریخچه ریکامندر سیستم چیست و این تفکر از کجا شکل گرفته‌است؟

سال ۲۰۰۰ شینا اینگار و مارک لپر - محققانی از دانشگاه کلمبیا و استنفورد - آزمایشی انجام دادند که به «آزمایش شیشه مربا» معروف شد. در این آزمایش نمونه‌های محصول مربا در طعم‌های مختلف رو روی یک میز به نمایش گذاشته بودند.

آزمایش به این صورت بود که در یک روز ۲۴ طعم مختلف مربا رو روی میز گذاشتند و برای راحتی مردم، مرباهایی که طعم‌هاشون شبیه به هم بود رو توی دسته‌های مجزا قرار داده بودند. به این ترتیب انتخاب‌ها رو محدود کرده بودند. یعنی به جای اینکه مردم بین 24 تا مربا حق انتخاب داشته باشند، کارشون راحت‌تر شده بود و باید بین چند دسته مربایی که طعم‌هاشون بهم نزدیک بود انتخاب رو انجام می‌دادند.

در یک روز دیگه فقط ۶ نوع مربا رو روی میز گذاشتند. نتیجه جالب بود!

با وجود اینکه تعداد انتخاب‌ها محدودتر و تعداد مرباها نسبت به روز قبل کمتر شده بود، اما افراد بیشتری جذب این آزمایش شدند و مرباها رو تست کردند. به این ترتیب در روزی که فقط 6 مربا روی میز قرار داشت، افراد بیشتری مربا خریدند.

این آزمایش نشون میده که اگرچه تعداد انتخاب‌های بیشتر جذاب‌تر به نظر می‌رسه اما تعداد انتخاب‌های کمتر موجب فروش بیشتر برای شرکت‌ها میشه. دلیل این اتفاق هم ساده است. درواقع زمانی که انتخاب‌ها بیشتر هستند، کاربران سردرگم شده و قدرت تصمیم‌گیری ضعیف‌تری دارند.

این دقیقا اتفاقی است که ما اون رو «ریکامندر سیستم» صدا می‌زنیم.

درواقع در ریکامندر سیستم ما میایم محصولات گسترده رو که حالا هر چیزی می‌تونه باشه، بر اساس علاقه مخاطبین دسته‌بندی کرده و به اون‌ها معرفی می‌کنیم. اینطوری به کاربر یا مخاطب از طریق کم کردن انتخاب‌ها کمک می‌کنیم تا راحت‌تر تصمیم بگیره.

آزمایش شیشه مربا
آزمایش شیشه مربا


ریکامندر سیستم در مایکت چطور کار می‌کند؟

خب محصول ما در مایکت اپلیکیشن است. ما به عنوان یک استور اندروید چطور باید محصولات خودمون رو به مخاطبین نمایش بدیم؟ آیا باید همه اپلیکیشن‌ها رو روی میز بذاریم و بگیم این‌ها اپ‌های ما هستند؟ طبیعیه که این شیوه نمایش محصولات به مخاطبین کار عجیب و سختیه. چون یک مخاطب به طور ناگهانی با بیش از 350 هزارتا اپلیکیشن مواجه میشه.

اینجاست که ریکامندر سیستم به ما کمک می‌کنه. اگه ما بتونیم این اپلیکیشن‌ها رو محدود کنیم و به آدم‌ها بگیم بیا از بین این دسته‌های مختلف، دسته مورد علاقه خودت رو انتخاب کن؛ اون وقت آدم‌ها رو با انتخاب راحت‌تری مواجه کردیم.

در اصل ریکامندر سیستم این کار رو از طریق محدود کردن انتخاب‌ها انجام میده. طبق آزمایش شیشه مربا، اگه فرض کنیم که هر اپلیکیشن یک شیشه مرباست، اینطوری ما می‌تونیم مردم رو به سمتی هدایت کنیم که دسته‌ای رو انتخاب کنن که طعم‌های مرباهای مورد علاقه اون‌ها داخلش قرار داره.

درواقع اون‌ها دسته‌ای رو انتخاب می‌کنند که اپلیکیشن‌های کاربردی و مورد علاقه اون‌ها داخلش قرار داره.

آزمایش شیشه مربا، آزمایش معروفی است که هرجا صحبت از ریکامندر سیستم باشه، به احتمال زیاد بهش اشاره می‌شه.

بنابراین با وجود اینکه استورها امکان دسترسی به آیتم‌های زیادی رو برای کاربران فراهم می‌کنند اما بدون یک سیستم پیشنهاد دهنده مناسب، این تعداد آیتم سودی به حال استور و کاربر نخواهد داشت.

آیا اجرای ریکامندر سیستم روش‌های مختلفی دارد؟

در ریکامندر سیستم از روش‌های مختلفی برای انتخاب و پیشنهاد آیتم‌ها به کاربران استفاده می شود:

ریکامندر سیستم Content Base:

توی این روش ما میایم اپلیکیشن‌ها یا به طور کلی هر محصول دیگه‌ای که قصد داریم به مخاطب نمایش بدیم رو بر اساس محتوا یا همون Content دسته‌بندی می‌کنیم.

در این حالت ما اپلیکیشن‌هایی که از نظر محتوایی به هم دیگه شبیه هستن رو در یک دسته‌بندی قرار میدیم. حالا چطوری اینارو به کاربر ارائه میدیم؟

وقتی میبینیم که کاربر برای مثال یک بازی اکشن دانلود کرده، ما هم میایم بهش بقیه بازی‌هایی که ژانر اکشن دارند رو نمایش می‌دیم و میگیم اینا شبیه بازی هستند که تو دانلود کردی. درواقع استفاده از اون اپ‌ها رو بهش پیشنهاد میدیم. به این شیوه پیشنهاد دادن میگن ریکامندر سیستم بر اساس شباهت محتوایی.

در Content Base ما محصولات خودمون رو بر اساس اطلاعات مختلف و دیتاهایی که درباره اون‌ها موجود است به مخاطبین معرفی می‌کنیم. شاید اصلا اسامی این محصولات شبیه به هم نباشه اما قطعا توضیحاتی که درباره هر یک وجود داره درباره یک موضوع مشترک محوریت دارد.

حالا این محصولات اگه فیلم باشند، ما میتونیم اون‌ها رو بر اساس موضوع و ژانرشون دسته‌بندی کنیم، می‌تونیم بر اساس بازیگرانی که داخل این فیلم‌ها نقش‌آفرینی کردند یا حتی کارگردان فیلم‌ها دسته‌بندی کنیم.

اگه این محصولات کتاب باشه، بر اساس ژانر، نویسنده و مواردی از این قبیل دسته‌بندی میشه.

ریکامندر سیستم Collaborative filtering:

روش دیگه‌ای که وجود دارد collaborative filtering است که بر اساس مطالعه رفتار و عملکرد کاربرها پیشنهاداتی رو ارائه میده. در این روش، سیستم با مطالعه رفتار کاربرها به یک سری عملکردهای مشابه و مشترک بین اون‌ها پی میبره.

حالا ریکامندر سیستم با این روش چه طوری میتونه پیشنهاداتی رو به شما ارائه بده؟ سیستم نگاه میکنه میبینه آدم‌هایی که شبیه شما بودن یه سری کارها رو انجام دادن که شما انجام ندادی، پس میاد اون کارها رو بهتون پیشنهاد میده چون احتمال میده که به دلیل شباهت به اون آدم‌ها، شما هم از انجام اون کارها لذت ببری.

اگه بخوام مثال بزنم، فرض کنید شما شبیه آدم‌هایی هستید که توی همین سیستم مایکت، اپ‌های clash of clans و پابجی رو دانلود کردن. اما مثلا یک بازی دیگه هم هست که اون آدما دانلود کردن ولی شما دانلود نکردید. پس ریکامندر سیستم میاد اون بازی رو به شما نمایش میده و میگه آدمایی که شبیه تو هستن و بازی‌های مورد علاقه تو رو دانلود کردن، این اپلیکیشن رو هم دارند، تو هم ببین شاید دوست داشتی دانلودش کنی.

طبق آزمایش شیشه مربا، این روش از ریکامندر سیستم به شما می‌گه آدم‌هایی که ذائقشون شبیه شماست این اپلیکیشن‌ها رو دانلود کردند. پس احتمالا شما هم از این اپلیکیشن‌ها خوشتون میاد.

ریکامندر سیستم Hybrid:

روش دیگه‌ای که در ریکامندر سیستم میشه ازش استفاده کرد، روش هیبریدی است که در واقع تلفیقی از دو روش قبلی است.

درواقع سیستم بر اساس تلفیقی از «شناختی که نسبت به سلیقه کاربران به دست آورده است» و «محتوای محصولات» پیشنهاداتی رو به کاربران ارائه میده.

مایکت از کدام یک از روش‌های ریکامندر سیستم برای ارائه پیشنهادات به کاربران خود استفاده می‌کند؟

ما در مایکت از روش هیبریدی در ریکامندر سیستم استور استفاده می‌کنیم. درواقع هم از محتوای اپلیکیشن‌ها و هم از شناختی که نسبت به سلیقه کاربر به دست آوردیم، برای ارائه پیشنهادات جدید به کاربر استفاده می‌کنیم.

در زمینه محتوا یا همون روش Content Base، ما اپلیکیشن‌هایی رو که توسعه‌دهنده‌های اون‌ها از کلمات مشترکی در بخش توضیحات استفاده کردند در یک دسته‌بندی قرار میدیم.

در زمینه سلیقه کاربر هم، ما کاربرهایی رو که سلیقه‌ای مشابه همدیگه دارن در یک دسته قرار میدیم و اپلیکیشن‌هایی که مطابق سلیقشون هست اما هنوز دانلودش نکردن رو بهشون پیشنهاد میدیم.

ریکامندر سیستم چه چالش‌ها و مشکلاتی دارد؟

قطعا ریکامندر سیستم یک سری مشکلات هم داره. مثلا موضوعی تحت عنوان «Cold Start». کلد استارت در واقع زمانی اتفاق میفته که یک کاربر برای اولین بار وارد سیستم شده و ما هیچ شناختی نسبت به اون شخص، رفتار و سلیقش نداریم. پس طبیعیه که ندونیم از چه اپلیکیشن‌هایی خوشش میاد که پیشنهاداتمون رو بهش ارائه بدیم چون اون شخص هنوز هیچ اپلیکیشنی دانلود نکرده و ما نمیدونیم شبیه کدوم یکی از دسته کاربرهایی هست که توی مایکت دارن فعالیت می‌کنند.

ما این مشکل رو چجوری حل می‌کنیم؟

یک سری روش‌های کلاسیک برای مقابله با این وضعیت وجود داره که یکی از اون‌ها پیشنهاد دادن فهرستی از محصولات ترند است. در واقع ما بی اونکه شناختی نسبت به کاربر تازه وارد در سیستم داشته‌باشیم، فهرستی از اپلیکیشن‌های پرطرفدار و ترند رو بهش نمایش میدیم.

کدام قسمت‌های استور مایکت ریکامندر سیستم هستند؟

قسمتی تحت عنوان «برنامه‌های پیشنهادی» در مایکت وجود داره که درواقع یک ریکامندر سیستم است. این قسمت از روش Collaborative استفاده میکنه با این تفاوت که ما در این قسمت با شخص کاری نداریم. این قسمت بر اساس کاربرها شخصی‌سازی نشده و هرکسی که مایکت رو باز کنه این قسمت رو به همین شکل مشاهده میکنه. این Collaborative مطالعه رو به صورت جمعیتی انجام میده و تمام اپلیکیشن‌هایی که ترند هستند رو به کاربرها نشون میده.

قسمت بعدی که از ریکامندر سیستم استفاده میکنه، بخش «دیگران نصب کردند» است. اطلاعات این قسمت از لاگ نصب‌های مایکت خونده میشه و بر اساس اطلاعاتی که از این مطالعه به دست میاد، اپلیکیشن‌هایی رو به مخاطبین نمایش میده.

اگر بخوایم مثال‌هایی هم در زمینه ریکامندر سیستمی بزنیم که بر اساس هر کاربر شخصی‌سازی شده، باید «بازی‌های پیشنهادی برای شما» در بخش بازی‌ها اشاره کنیم. این جا ریکامندر سیستم Per User کار میکنه و برای هر کاربر به صورت شخصی‌سازی شده نمایش داده میشه.