برای اینکه یه کم این موضوعات قابل فهم تر بشه با مثال جلو می ریم این مثال می تونه شامل هر کسب و کاری بشه و شما می تونید اسم ها رو با هر چیزی که تو ذهنتون دارین عوض کنید ولی برای ملموس تر شدن سعی می کنم چیزی رو مثال بزنم که حداقل یک بار باهاش کار کردین مثال من گوگل پلی (یا بازار ) هست فرض کنید که شما مسئول بخشی هستید که می خواهید پیشنهاد ها رو در اختیار کاربران قرار بده به نظر شما اولین چیزی که بهش نیاز داریم چیه …؟
حالا سوال بعدی اینجاست که ما چه اطلاعاتی در اختیار داریم…؟ خوب اگه یه کم توی گوگل پلی یا بازار بگردین متوجه میشین که دو دسته اطلاعات کلی داریم دسته اول اطلاعات مربوط به محصولات هست که شامل دسته بندی اون(بازی هست یا برنامه ی کاربردی و خود این ها هم دسته بندی ها کوچک تری داری مثلا اگه بازیه چه نوع بازیبه ماجراجویانه اس با استراتژی)، تعداد دانلود، بازخورد مخاطب ها و بعضی اطلاعات دیگر دسته ی دوم اطلاعات مربوط به کاربر ها هست مثلا اینکه قبلا چه برنامه هایی رو دانلود کرده چند برنامه هایی رو دیده و از اون ور اطلاعات پروفایلی ما مثلا از کجا هستیم در چه بازه ی سنی قرار داریم و کلی اطلاعات دیگه که این ها خوراک هایی برای سیستم های توصیه گر می شن .
خوب حالا شما در میانه ی آتش هستید و باید از اطلاعاتی که دارین برای داغ تر کردن این آتش استفاده کنید و اینجاست که بهترین گزینه سیستم های توصیه گر هست که متناسب با اطلاعاتی که داریم روش مناسب رو انتخاب می کنیم به طور کلی ما سه روش معروف و پر کاربرد توی این حوضه داریم که با با هم برای حل این مشکل بررسیشون می کنیم.
روش اول : فیلترینگ بر اساس محتوا (Content Based Filtering)
اولین چیزی که با شنیدن فیلترینگ به ذهنمون می یاد حتما صفحه ی پیونده هاست ولی باید بگم که قرار نیست به اون صفحه هدایت بشیم بلکه می خوایم کارای باحال تری بکنیم .. 🙂 همین طوری که از اسم این روش پیداست ما با محتوا یا به طور خلاصه تر اطلاعاتی که در اختیار داریم سر و کله می زنیم یه چیزی در حد اطلاعات دسته ی اول که شامل اطلاعات محتوایی می شد مهم ترین اطلاعات این دسته ،دسته بندی برنامه ها بود بیاین بر مبنای همین رویکرد ما این مثال رو به جلو ببریم خوب من کلیک می کنم روی یه برنامه ی خاص و با این توضیحات شاید بتونید حدس بزنید که چه پیشنهاد هایی باید به منِ کاربر ارائه داد اگه حدس تون اینه که برنامه های هم ژانر با این برنامه باید بگم درسته این در ساده ترین شکل ممکن یه سیستم توصیه کننده بر مبنای محتوا می شود و حالا اطلاعات دیگه ای که از آیتم ها داشتیم دخیل کنید مثلا میزان استقبال مردم از برنامه یا تعداد دفعات بازدید اون برنامه همه این ها می تونه توصیه ای که به کاربر پیشنهاد میشه رو بهینه تر بکنه و می شه یه کم جلو تر هم رفت و یه کمی از اطلاعات دسته ی دوم رو هم دخیل کرد مثلا لوکیشن و سن شما رو هم در نظر گرفت و این توصیه ها رو بهینه تر کرد ولی با این کار یه کم از این حوضه خارج می شین و وارد روش دوم می شین و اون رو با این روش ترکیب می کنید .
روش دوم : فیلترینگ مشارکتی (Collaborative Filtering)
تو روش دوم کمی داستان فرق می کنه خوراک اصلی این روش انتخاب های کاربران هست یعنی این که هر کاربر چه چیزی را دانلود و نصب کرده و این که آیا از اون راضی بوده یا نه که میزان رضایت خودش رو با امتیاز هایی مشخص می کنه یا اصلا نه فقط این باشه که کاربر یک برنامه رو نصب کرده یا نه.
حالا با این اطلاعات ما باید کار خودمون رو شروع کنیم یکی از روش های پرکاربرد اینه که ما بیایم و کاربران رو بر مبنای برنامه هایی که نصب کردن دسته بندی کنیم که برای این کار الگوریتم های مختلفی وجود داره و به ما تو دسته بندی کردن کاربر ها کمک می کند و با این اوصاف وقتی کاربری برنامه ی جدیدی رو مشاهده می کنه ما بر اساس برنامه هایی که از قبل نصب کرده اون رو تو دسته ای از کاربر ها قرار می دیم و متناسب با اون دسته بهترین مواردی رو که می تونیم به مخاطبمون پیشنهاد می دیم .
روش سوم : فیلترینگ ترکیبی (Hybrid Filtering)
سوم روش از این روش ها همون طور که از اسمش پیداست ترکیبی از دو روش قبلی هست مثلا فرض کنید که ما با استفاده از روش فیلترینگ مشارکتی بهترین پیشنهاد ها رو پیدا کردیم و حالا به جای اینکه اون ها به مخاطب ارائه بدیم بررسی می کنیم که این پیشنهاد ها از نظر محتوایی چه میزان شباهتی با آیتمی که در حال حاضر انتخاب شده است دارد بر این اساس ما دو روش قبل را با هم ترکیب کردیم و حالا می تونیم پیشنهاد های بهینه تری رو به مخاطبمون بدیم.