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

۱. مقدمه

با توجه به گسترش فضای اینترنت، مطالب، محصولات فروشگاه ها که درنتیجه باعث افزایش قابل توجه حق‌انتخاب کاربر می‌شود، نیاز به طبقه‌بندی و کوچک‌کردن فضای جستجو برای رسیدن به نتیجه بسیار حس می‌شود. چه‌بسا بسیاری از کاربران به دلیل این گستردگی قادر به یافتن نتیجه‌ی خود نبوده و از ادامه‌ی جستجو صرف‌نظر می‌کنند. سامانه‌ی توصیه‌گر با کوچک‌کردن فضای جستجوی‌کاربران این‌مشکل را حل می‌کند. این سامانه با روش‌های متفاوت محتوای شخصی‌سازی شده‌ی هر کاربر را باتوجه به مشخصات، پیشینه جستجو و علایق به او پیشنهاد می‌دهد[1].در این‌مقاله به بررسی روش‌های موجود، نقاط ضعف و قوت و پیاده‌سازی آن(ها) می‌پردازیم.

۲. کارهای مرتبط

تصویر ۱

سامانه‌های توصیه‌گر برای کمک به تصمیم‌گیری و ارائه‌ی رهنمود برای انتخاب محتوای مناسب هرشخص تعریف شده‌اند و در راستای این‌هدف از روش‌های متفاوتی استفاده می‌کنند. در ابتدا به توضیح اجمالی هریک از این روش‌ها اکتفا می‌کنیم(تصویر ۱) و در آینده به صورت تخصصی‌تر و جزئی‌تر به آن‌ها میپردازیم. سعی داریم در این مقاله از روش مارپیچ برای توضیح روش‌های پیاده‌سازی سامانه‌ی توصیه‌گر استفاده کنیم.[2]
یکی از روش‌های پیاده‌سازی توصیه‌گر تکنیک Collaborative filtering [3] نام دارد. به طور خلاصه این روش با شناسایی کاربران دیگر با ذائقه یکسان شما، محتوای مناسب را پیشنهاد می‌دهد[4] (تصویر ۲).
تصویر ۲ [5]

پیاده‌سازی این تکنیک به شیوه‌های متفاوتی انجام می‌شود که در آینده به طور کامل به آن اشاره می‌کنیم. از نمونه‌های استفاده‌کننده از این تکنیک می‌توان به RINGO[6] اشاره کرد که البته سامانه‌‌ای قدیمی در این‌حوزه است. پس از آن می‌توان به Amazon [7] اشاره کرد. آمازون از روش item-to-item که یکی از زیرمجموعه‌های تکنیک Collaborative filtering است استفاده می‌کند [8] . علاوه بر آن می‌توان به سامانه‌ی توصیه‌گر last.fm[9] اشاره کرد.این سایت موزیک هارا با توجه سلیقه‌ی کاربر دسته‌بندی و به او پیشنهاد می‌دهد. لازم به ذکر است این سایت، توصیه‌گر خود را Audioscrobbler نام‌گذاری کرده است [10].
تصویر ۳ [11]

روش دیگر پیاده‌سازی توصیه‌گر تکنیک Content-base filtering نام دارد [12] . در این‌روش ذائقه‌ی کاربر باتوجه به مشخصات‌ خود شخص و تشابه محتوای انتخاب‌شده‌ی قبلی با نمونه‌های مشابه انتخاب‌نشده تشخیص داده‌می‌شود و محتوای مشابه پیشنهاد می‌گردد(تصویر ۳). در این‌روش تعامل و تشابه ذائقه بین کاربران مختلف نادیده گرفته می‌شود و تشابهات براساس تشابهات بین محتوا و محصولات بررسی می‌شود که تفاوت اصلی این تکنیک با تکنیک Collaborative filtering است [13]. از نمونه‌های استفاده‌کننده از این تکنیک می‌توان به سامانه‌توصیه‌گر Pandora [14] اشاره کرد. این‌سامانه با بررسی مشخصات موزیک و هنرمند، موزیک‌های مشابه را پیدا و به کاربر پیشنهاد می‌دهد [15].
برای مقایسه‌ی این‌دو روش اصلی می‌توان به مقایسه last.fm و Pandora پرداخت. last.fm و دیگر‌سامانه‌های استفاده‌کننده از Collaborative filtering از مشکل شروع سرد(cold start [16]) رنج می‌برند. برای شناخت موزیک‌های مشابه ، یک موزیک برای قابل پیشنهاد شدن باید به سطح حداقلی از محبوبیت برسد تا از آستانه‌ی( [17] threshold) صافی موزیک‌ها عبور کند. البته Pandora نیز از معایبی مشابه رنج می‌برد. برای اضافه شدن یک موزیک جدید لازم است تا کارمندان Pandora آن‌را از تنگنای کلاسه‌بندی([18] classification) توصیه‌گرشان عبور دهند تا مشخصات موزیک‌ و هنرمند به‌درستی بررسی و ثبت‌گردد. مقاله nature vs nurture به صورت جزئی به اختلافات و نقاط ضعف و قوت هریک از این سامانه‌ها می‌پردازد [19].
تصویر ۴

باتوجه به ضعف‌ها و نقاط‌ قوت ذکر‌شده در هر‌روش، روشی تلفیقی به نام تکنیک Hybrid filtering به‌وجود‌ آمد. باتوجه به قدرت Collaborative filtering و سرعت ابتدایی Content-base filtering با ترکیب نقاط قوت این‌دو‌تکنیک، تکنیکی قوی‌تر و کارآمدتر به‌وجود می‌آید . این ترکیب میتواند شامل عبور‌دادن خروجی نتیجه CF به Content-base filtering باشد یا برعکس یا از تلفیق نتیجه مستقل هریک به‌وجود‌آید(تصویر ۴).[20,21] از مثال‌های استفاده‌کننده از این تکنیک‌ می‌توان به Netflix [22] اشاره کرد. Netflix با ترکیب قدرت بالای CF و کاهش هزینه‌ی محاسباتی باتوجه به نیازمندی‌های کم Content-base filtering سامانه‌ی توصیه‌گر خود را پیاده‌سازی کرده‌است[23, 24]
در آینده به بررسی جزئی تر هر‌یک از این تکنیک ها در فاز پیاده‌سازی می‌پردازیم.

۳. مراجع

[1] http://www.sciencedirect.com/science/article/pii/S1110866515000341 (abstracts)
[2] https://en.wikipedia.org/wiki/Spiral_model
[3] http://recommender-systems.org/collaborative-filtering/
[4] http://www.sciencedirect.com/science/article/pii/S1110866515000341 (related works)
[5] https://en.wikipedia.org/wiki/Collaborative_filtering#/media/File:Collaborative_filtering.gif
[6] http://jolomo.net/ringo.html
[7] https://www.amazon.com/
[8] https://www.cs.umd.edu/~samir/498/Amazon-Recommendations.pdf
[9] https://www.last.fm/
[10] https://en.wikipedia.org/wiki/Last.fm
[11] http://findoutyourfavorite.blogspot.com/2012/04/content-based-filtering.html
[12] http://recommender-systems.org/content-based-filtering/
[13] http://www.sciencedirect.com/science/article/pii/S1110866515000341 (related works)
[14] https://www.pandora.com/
[15] https://en.wikipedia.org/wiki/Recommender_system
[16] https://en.wikipedia.org/wiki/Cold_start
[17] https://en.wikipedia.org/wiki/Threshold_model
[18] https://en.wikipedia.org/wiki/Statistical_classification
[19] http://blog.stevekrause.org/2006/01/pandora-and-lastfm-nature-vs-nurture-in.html
[20] http://www.sciencedirect.com/science/article/pii/S1110866515000341 (Hybrid filtering)
[21] https://en.wikipedia.org/wiki/Recommender_system ( Hybrid recommender systems)
[22] https://www.netflix.com/
[23] https://rpubs.com/kismetk/Netflix-recommendation
[24] https://dl.acm.org/citation.cfm?id=2843948

۴. پیوندهای مفید

سعید عادل مهربان

سلام.
خسته نباشید.
در این مرحله، کار رو با رویکرد آکادمیک بررسی نکردید. یعنی به جای نمونه‌های تجاری، روی روش‌ها باید صحبت کنید. در هر کدام از این دسته‌هایی که مثال زدید چه روش‌هایی تا به حال معرفی شده‌اند؟ کار چه‌طور ارزیابی می‌شه؟ کمی بیشتر در مورد جزئیات روش‌ها صحبت می‌کردید هم بهتر بود ولی در کل به نظرم قابل قبول بود برای این مرحله.
پ.ن:‌ در لیست مراجع نیازی نیست اشاره کنید از کدام بخش مرجع استفاده کردید یا برای کدام بخش ازش استفاده کردید.
پ.ن۲: استفاده از گیف جالب بود. در مقاله‌هایی که چاپ می‌شن البته نمی‌شه استفاده کرد ولی اینجا برای من تازگی داشت.
پ.ن۳: حرفی که تصویر ۱ می‌زنه، نیاز به مرجع داره، چون احتمالاً شما نمی‌تونید این دسته‌بندی رو ارائه بدید. می‌تونید؟