در این سری مقالات به معرفی سیستم های توصیه گر و انواع مختلف آن می پردازیم.
- سیستم های توصیه گر
- سیستم های توصیه گر فیلتر محتوا محور (Content-based filtering - CB)
- سیستم های توصیه گر فیلتر مشارکتی (Collaborative filtering - CF)
- سیستم های توصیه گر مبتنی بر دانش (Knowledge-based)
- سیستم های توصیه گر هیبرید (Hybrid systems)
- TF-IDF
به احتمال قوی برای شما پیش آمده است که بخواهید یک کتاب برای خواندن انتخاب کنید یا بخواهید محصول خاصی را بخرید اما حجم زیاد گزینه های روبرو، شما را گیج کند. پس به سراغ کسی رفتید که کتاب های زیادی خوانده است و علایق خود را برایش شرح دادید و او به شما یک یا چند کتاب پیشنهاد کرده است. یا برای خرید محصول با فروشنده مشورت کردید و او چند گزینه ی محدود جلوی شما گذاشته است. پس شما تمام گزینه های موجود را بررسی نمی کنید و صرفاً توجه خود را روی گزینه های پیشنهادی متمرکز می کنید.
امروزه حجم اطلاعات به شدت در حال افزایش است و بررسی تمام گزینه ها از توانایی یک انسان خارج است. همچنین این امکان که در هر موضوع ما بتوانیم از یک فرد خبره کمک بگیریم، می تواند مشکل هایی داشته باشد. مثلاً ممکن است فرد خبره در دسترس ما نباشد یا امکان مشاوره در زمان مورد نیاز ما را نداشته باشد. در این نقطه سیستم های توصیه گر (Recommender Systems) ظاهر می شوند و اطلاعات را برای ما متناسب با علایق و خواسته هایمان به گزین می کنند. شما تا به حال برخورد های زیادی با این سیستم ها داشته اید؛ در سایت های خرید مثل دیجی کالا یا سایت های تماشای فیلم مثل آپارات و یوتیوب. به طور مثال شما پس از مدتی گشت و گذار در سایت دیجی کالا و بررسی محصول های موجود، متوجه می شوید که محصول هایی که سایت به شما پیشنهاد می کند در بیشتر مواقع توجه شما را جلب می کند و باب میل شما است. یا به طور مثال هنگامی که یک گوشی تلفن همراه خریداری می کنید، دیجی کالا به شما قاب و صفحه ی محافظ مناسب آن را نیز پیشنهاد می دهد.
سیستم های توصیه گر
حجم فراوان و رو به رشد اطلاعات روی وب و اینترنت، فرایند تصمیم گیری و انتخاب اطلاعات، داده یا کالاهای مورد نیاز را، برای بسیاری از کاربران وب دشوار کرده است. این موضوع، خود انگیزه ای شد تا محققین را وادار کند که راه حلی برای رویارویی با این مشکل اساسی عصر جدید که با عنوان سرریز اطلاعات (Information overload) شناخته می شود، پیدا کنند. برای رویارویی با این مسئله تاکنون دو رویکرد مطرح شده است. اولین رویکردی که به کار گرفته شد استفاده از دو مفهوم بازیابی اطلاعات (Information retrieval) و تصفیه کردن اطلاعات بود. عمده محدودیتی که این دو مفهوم در ارائه ی پیشنهادها دارند، این است که برخلاف توصیه گرهای انسانی (مثل دوستان، اعضای خانواده و ...)، این دو روش قادر به تشخیص و تفکیک اقلام با کیفیت و بی کیفیت، در ارائه پیشنهاد برای یک موضوع یا کالا، نیستند و این مسئله باعث شد تا رویکرد دومی به نام سیستم توصیه گر پدید آید. این سیستم های جدید، مشکل سیستم های موجود در رویکرد اولیه را حل کرده اند.
سیستم توصیه گر سیستمی هوشمند است که با کشف و تحلیل اطلاعات کاربران، پیشنهادهای مناسبی را برای هر شخص ایجاد کند و اولین بار در سال 1990، Jussi Karlgren، در یک گزارش فنی درباره ی کتابخانه ی دیجیتال به آن اشاره کرد.
تعاریف متفاوتی برای سیستم های توصیه گر ارائه شده است. از آن جمله، تعریف کلی نگر و خلاصه ی آقای Ting-peng liang در سال ۲۰۰۷ است که سیستم توصیه گر را زیرمجموعه ای از سیستم های پشتیبانی تصمیم (Decision support systems-DSS)، که به آن سیستم های تصمیم یار هم می گویند، می داند و آن ها را سیستم های اطلاعاتی ای تعریف می کند که توانایی تحلیل رفتارهای گذشته و ارائه ی توصیه هایی برای مسائل جاری را دارند. به زبان ساده تر در سیستم های توصیه گر تلاش بر این است تا با حدس زدن شیوه تفکر کاربر (به کمک اطلاعاتی که از نحوه رفتار وی یا کاربران مشابه وی و نظرهای آن ها داریم)، مناسب ترین و نزدیک ترین کالا به سلیقه او را شناسایی و به او پیشنهاد کنیم. این سیستم ها در حقیقت همان فرایندی که ما در زندگی روزمره خود به کار می بریم و طی آن تلاش می کنیم تا افرادی با سلیقه های نزدیک به خود را پیدا کرده و از آن ها در مورد انتخاب هایمان نظر بخواهیم را شبیه سازی می کنند. توصیه هایی که از سوی سیستم های توصیه گر ارائه می شوند، به طور کلی می توانند دو نتیجه در برداشته باشند:
- کاربر را در گرفتن تصمیمی یاری می کنند (که مثلاً از میان چندین گزینه پیش رو کدام بهتر است و آن را انتخاب کند و ...).
- موجب افزایش آگاهی کاربر، در زمینه مورد علاقه وی می شود (مثلاً ارائه توصیه به کاربر موجب می شود تا وی با اقلام و اشیای جدیدی که قبلاً آنها را نمی شناخته، آشنا شود).
سیستم های توصیه گر برای هر دو طرف یک تعامل (تجاری یا غیرتجاری)، مفید هستند و مزایایی را فراهم می آورند. برای نمونه، در یک تعامل تجاری، مشتری ها از این جهت که عمل جستجو در میان حجم زیاد اطلاعات برای آن ها تسهیل و تسریع می شود، استفاده از سیستم های توصیه گر را مفید می دانند. فروشندگان هم به کمک این سیستم ها می توانند رضایت مشتریان را بالا برده و فروش خود را نیز افزایش دهند.
کاربردهای سیستم های توصیه گر
سیستم های توصیه گر کاربردهای فراوانی دارند که برخی از زمینه های کاربردی آن به شرح زیر است:
- لیست های پخش: پیشنهاد آهنگ یا فیلم
- تجارت الکترونیک: برای توصیه محصول ها و خدمات مختلف.
- اینترانت های بنگاهی: برای پیدا کردن افراد خبره در یک زمینه خاص و یا افرادی که در رویارویی با شرایط مشابه، تجاربی کسب کرده و راه حل هایی یافته اند(بیشتر داخل یک سازمان کاربرد دارد).
- کتابخانه دیجیتال: پیدا کردن کتاب، مقاله و ...
- کاربردهای آموزشی: پیشنهاد دوره های غیرحضوری یا فیلم های آموزشی
- کاربردهای پزشکی: انتخاب پزشک متناسب با شرایط (مکان، نوع بیماری، زمان و ...) بیمار، انتخاب دارو و ...
- مدیریت ارتباط با مشتری (Customer Relationship Management - CRM): برای ارائه ی راهکارهایی برای حل مشکلات تولیدکننده و مصرف کننده در زنجیره تأمین.
مقایسه ی سیستم های توصیه گر و سیستم های پشتیبانی تصمیم
اگر چه شباهت های بسیاری بین این دو سیستم وجود دارد اما بین آن ها تفاوت هایی هم هست، که مهم ترین این تفاوت ها، این است که در سیستم های پشتیبانی تصمیم، کاربر نهایی مدیران ارشد یا میانی یک سازمان هستند، در حالی که در سیستم های توصیه گر کاربری سیستم به سطح خاصی محدود نمی شود و سیستم مورد استفاده عام است. اما اگر بحث سطح کاربری و فنی را کنار بگذاریم، هر دوی این سیستم ها کاربر را در گرفتن تصمیم یاری می کنند و هر دو سیستم های اطلاعاتی ای هستند که دارای پایگاه دانش (Knowledge base)، پایگاه داده (Database)، رابط کاربری و ... می باشند.
درست است که سیستم های توصیه گر، خود زیرمجموعه ای از سیستم های پشتیبانی تصمیم هستند اما باید بین این دو تمایز قائل شد و درک کرد که سیستم های پشتیبانی تصمیم، به طور معمول باید با مسائل عام که مدیران با آن ها مواجه می شوند رو در رو شود.
اصطلاحات مورد استفاده در فضای بحث توصیه گرها
قبل از اینکه در موضوع عمیق تر شویم، بهتر است با اطلاحاتی که در این فضا استفاده می شود آشنا شویم و به درک مشترکی از آن ها برسیم.
- کاربر: کاربر به استفاده کننده از سیستم گفته می شود.
- کاربر فعال: به کاربری گفته می شود که توصیه برای او فرستاده می شود. در واقع کاربری که در حال حاضر از سیستم استفاده می کند، کاربر فعال است.
- آیتم: به هر محصول موجود در سیستم یک آیتم گفته می شود. آیتم می تواند یک فیلم، مقاله، موسیقی، وسیله و ... باشد.
- پروفایل: مجموعه ی اطلاعات یک کاربر یا آیتم در پروفایل او نگهداری می شود. برای یک کاربر پروفایل می تواند شامل سن، شغل، موقعیت مکانی باشد. همچنین با در نظر گرفتن سابقه ی کاربر در سرویس ارائه شده علایق و سلیقه ی کاربر نیز می تواند در پروفایل او نگهداری شود و به صورت مداوم به روزرسانی شود. مجموعه اطلاعات آیتم ها هم، همچون برچسب های (Tags) آن، شرح آیتم، امتیازهای داده شده به آیتم و ... نیز در پروفایل آیتم نگهداری می شوند.
انواع سیستم های توصیه گر
سیستم های توصیه گر معمولا بر اساس رویه ای که پیش می گیرند به دسته بندی های زیرتقسیم می شوند:
- فیلتر محتوا محور (Content-based filtering - CB)
- فیلتر مشارکتی (Collaborative filtering - CF)
- سیستم های توصیه گر مبتنی بر دانش
- ترکیبی یا هیبرید (Hybrid systems)
در بخش های پیش رو این تقسیم بندی ها بیشتر شرح داده شده اند.
امیدوارم تا اینجا مقاله برای شما مفید بوده باشد. در بخش بعدی با سیستم های توصیه گر فیلتر محتوا محور بیشتر آشنا می شویم.
منابع
G. Adomavicius and A. Tuzhilin, "Toward the next generation of recommender systems: a survey of the state-of-the-art and possible extensions," in IEEE Transactions on Knowledge and Data Engineering, vol. 17, no. 6, pp. 734-749, June 2005.
Isinkaye, F., Folajimi, Y. and Ojokoh, B., 2015. Recommendation systems: Principles, methods and evaluation. Egyptian Informatics Journal, 16(3), pp.261-273.
Abhigna, B.S. and Banda, M.L., Recommendation Systems: A Review of Applications.
https://www.ted.com/talks/eli_pariser_beware_online_filter_bubbles?language=en
https://en.wikipedia.org/wiki/Cold_start_(recommender_systems)
https://www.bluepiit.com/blog/demystifying-hybrid-recommender-systems-and-their-use-cases/
https://en.wikipedia.org/wiki/Item-item_collaborative_filtering
https://www.bluepiit.com/blog/classifying-recommender-systems/
https://en.wikipedia.org/wiki/Recommender_system
https://towardsdatascience.com/various-implementations-of-collaborative-filtering-100385c6dfe0
https://en.wikipedia.org/wiki/Collaborative_filtering
https://towardsdatascience.com/brief-on-recommender-systems-b86a1068a4dd
https://towardsdatascience.com/recommendation-systems-a-review-d4592b6caf4b
https://en.wikipedia.org/wiki/Tf%E2%80%93idf