سیستم های توصیه گر با بهره گیری از تکنیک های آماری و تکنیک های کشف دانش به منظور توصیه محصولات به کاربران و کاهش مشکلات ناشی از حجم زیاد داده ها به کار گرفته می شوند. ارزیابی کیفیت سیستم های توصیه گر به یک مسئله مهم برای انتخاب بهترین الگوریتم های یادگیری تبدیل شده است.
مقایسه ی بین سیستم های توصیه گر نیازمند بکارگیری یک روش استاندارد و قابل قبول برای ارزیابی آنها می باشد. با این وجود، در حال حاضر، ارزیابی سیستم های توصیه گر با روش¬هایی غالبا ناسازگار با یکدیگر صورت می گیرد. مشکل اصلی عمدتا به دلیل فقدان یک چارچوب مشترک برای سیستم های توصیه گر است، یک چارچوب به اندازه کافی عمومی به طوری که طیف وسیعی از سیستم های توصیه گر تا به امروز را شامل گردد و به اندازه کافی خاص و معین به طوری که نتایج ثابت و قابل اطمینانی را بدست دهد. در این مستند، معیارهای موجود برای ارزیابی سیستم های توصیه گر را معرفی و تشریح نموده و در پایان چارچوبی ارائه خواهد گردید که اقدام به استخراج ویژگی های اساسی سیستم های توصیه گر می نماید. در این چارچوب، اساسی ترین ویژگی هر سیستم توصیه گر، هدف سیستم توصیه گر در نظر گرفته شده است.
لازم به ذکر است که سیستم های توصیه گر بعنوان برنامه هایی کاربردی با اهداف اساسی زیر در نظر گرفته می شوند. سیستم های توصیه گر باید : (الف) انتخاب کنند که کدامیک (از آیتم ها) باید به کاربر نشان داده شود و (ب) تصمیم بگیرد در چه زمانی و چگونه توصیه ها به نمایش درآیند.
در این مستند خواهید دید که یک متریک جدید به طور طبیعی از بکارگیری این چارچوب پدیدار می گردد. در نهایت، با مقایسه خواص این متریک جدید با متریک های سنتی نتیجه خواهیم گرفت که ممکن است بتوان طیف وسیعی از سیستم های توصیه گر را با این متریک واحد ارزیابی نمود.
وب، محیطی وسیع، متنوع و پویا است که کاربران متعدد اسناد خود را در آن منتشر می کنند. وب طی یک فرآیند آشفته و غیر متمرکز رشد می کند و این روند منجر به تولید حجم وسیعی از مستندات متصل به یکدیگر گشته است که از هیچ گونه سازماندهی منطقی برخوردار نیستند. با توجه به حجم وسیع اطلاعات در وب، مدیریت آن با ابزارهای سنتی تقریبا غیر ممکن است و ابزارها و روش هایی نو برای مدیریت آن مورد نیاز است.
برای حل این مشکل، شخصی کردن وب به یک پدیده محبوب به منظور سفارشی کردن محیط های وب تبدیل شده است. هدف از سیستم های شخصی ساز فراهم کردن نیازهای کاربران، بدون اینکه به طور صریح آن ها را بیان کنند یا نشان بدهند، می باشد.[1] شخصی سازی وب مجمو عه ای از عملیات است که تجربه ی وب را برای یک کاربر خاص یا مجموعه ای از کابران سازماندهی می کند.[2]
همان طور که ذکر گردید حجم فراوان و روبه رشد اطلاعات بر روی وب و اینترنت، فرآیند تصمیمگیری و انتخاب اطلاعات، داده و یا کالاهای مورد نیاز را، برای بسیاری از کاربران وب دشوار کردهاست. این موضوع، خود انگیزهای شد تا محققین را وادار به پیداکردن راهحلی برای رویارویی با این مشکل اساسی عصر جدید که با عنوان سرریز دادهها شناخته میشود کند. برای رویارویی با این مسئله تاکنون دو رویکرد مطرح شدهاند، اولین رویکردی که به کار گرفته شد استفاده از دو مفهوم بازیابی اطلاعات و تصفیهسازی اطلاعات بود. عمده محدودیتی که این دو مفهوم در ارائه پیشنهادات دارند، این است که برخلاف توصیهگرهای انسانی (مثل دوستان، اعضای خانواده و …)، این دو روش قادر به تشخیص و تفکیک اقلام با کیفیت و بی کیفیت، در ارائه پیشنهاد برای یک موضوع یا کالا، نیستند. مشکل مذکور، موجب شد تا رویکرد دومی تحت عنوان سیستم توصیهگر پدید آید. این سیستمهای جدید، مشکل سیستمهای موجود در رویکرد اولیه را حل کردهاند.
سیستم های توصیه گر به عنوان نمونه ای از سیستم های پشتیبانی تصمیم یا تصمیم یار شناخته می شوند که در دهه ی 90 میلادی به عنوان یک شاخه ی مستقل پا به عرصه ی تحقیق و پژوهش گشودند. از این سیستم ها به عنوان یکی از راه حل های رویارویی با مساله ی سربار اطلاعات در وب یاد می شود. اگر چه دامنه ی کاربرد استفاده از سیستم های توصیه گر بسیار گسترده می باشد ولی کاربرد آن در زمینه تجارت الکترونیک بیشتر به چشم می آید. از یک سو کسب و کارهای فعال در زمینه-ی تجارت الکترونیک برای جذب مشتری بیشتر در بازار پر رقابت مذکور نیازمند این سیستم ها هستند و از سوی دیگر مشتری نیازمند یاری رسانی در خیل عظیم و رو به رشد کالا و به همان نسبت اطلاعات مربوط به آنها است تا بتواند از میان تعداد گزینه های پیش رو مناسب ترین آنها را برگزیند. [3]
سیستم های توصیه گر عمده ترین فناوری بازیابی شخصی سازی شده ی اطلاعات هستند که غالبا به دو شکل عمل می کنند [4]: (1) پیش بینی اینکه آیا یک کالای خاص مورد علاقه یک کاربر (مشتری) خاص هست یا خیر؟ (2) پیش بینی دسته ای کالا که احتمالا مورد پسند یک کابر قرار خواهد گرفت. به این ترتیب سیستم های توصیه گر از یک سو موجب جلب رضایت مشتری و از سوی دیگر افزایش فروش خواهند شد. [5]
برای درک مفهوم سیستم توصیهگر، مفاهیم چهارگانه و ابتدایی زیر را بررسی کنیم.
در سیستمهای توصیه گر به کاربری که توصیه جاری در سیستم، برای وی در حال پردازش و آماده شدن است، کاربر فعال یا کاربر هدف میگویند.
الگوریتمهای به کار رفته در این سیستمها، از ماتریسی به نام ماتریس رتبهها استفاده میکنند؛ اصطلاحات رایج برای این ماتریس Rating Database و Preference Database نیز هستند.
از فعل مصرف کردن در سیستمهای توصیهگر، زمانی استفاده میکنند که کاربر توصیه ارائه شده را میپذیرد. به عبارتی وقتی کاربری پیشنهادی را که توسط سیستم به وی شده میپذیرد، میگوییم کاربر آن پیشنهاد را مصرف کرده، این پذیرش میتواند به شکلهای مختلفی باشد، مثلاً کاربر، کتاب پیشنهادی را میخرد، سایت پیشنهادی را مرور میکند و یا به شرکت خدماتی ای که به او پیشنهاد شده مراجعه میکند. ساختار ماتریس رتبهها بدین گونهاست که در آن، هر سطر ماتریس نمایانگر یک کاربر و هر ستون آن معرف یک آیتم خاص است.
حال با مفهوم تابع سودمندی آشنا خواهیم شد که قصد داریم به کمک آن یک مدل کلی ریاضی از سیستمهای توصیهگر را نیز ارائه دهیم. در واقع یک سیستم توصیهگر را میتوان با این نگاشت همسان دانست و مدل کرد: u:C * S − > R
فرض کنید C مجموعه تمامی کاربران و S مجموعه اقلام در دسترس باشند. تابعی را که میزان مفید و متناسب بودن کالای c برای کاربر s را محاسبه میکند با u نشان میدهیم، که در آن R مجموعهای است کاملاً مرتب (براساس میزان اهمیت) . هرکدام از عناصر S را میتوان با مجموعهای از خصوصیات، مشخص کرد. برای مثال، محصولی مثل فیلم را میتوان با مشخصههایی چون عنوان فیلم، کارگردان، طول زمانی فیلم، تاریخ تولید و … ثبت کرد. همچنین عناصر مجموعه C را نیز میتوان بر اساس ویژگیهای مثل سن، جنسیت و … ثبت کرد. (باید توجه داشت که u روی تمام فضای مجموعه آغازین S×C تعریف شده نیست؛ از این رو باید برونیابی شود.)
سیستمهای توصیهگر به طور کلی به سه دسته¬ی اصلی تقسیم میشوند.]7[ در رایجترین تقسیمبندی، آنها را به سه گروه ۱.محتوا محور ۲.دانش محور و ۳. فیلترینگ تجمعی، تقسیم میکنند، که البته گونه چهارمی تحت عنوان Hybrid RS هم برای آنها قائل میشوند.
یک رویکرد به سیستمهای توصیهگر، استفاده از الگوریتمهای CF یا فیلترینگ تجمعی است.(نگاه کنید به شکل 1) در این رویکرد به جای استفاده از محتوای (Content) اقلام، از نظرات و رتبهبندیهای انجام شده توسط کاربران برای ارائه پیشنهاد، استفاده میشود. لازم به ذکر است که به طور کلی سیستم های مبتنی بر فیلترینگ نیز خود به دو دسته¬ی کاربر محور و کالا محور تقسیم می شوند. همچنین در یک دسته بندی دیگر نیز الگوریتم های CF به دو نوع اصلی مبتنی بر حافظه یا مبتنی بر هیوریستیک و مبتنی بر مدل تقسیم بندی می شوند.
و اما در روش محتوا محور، اقلام پیشنهادی، به این دلیل که با اقلامی که کاربر فعال (کاربری که قرار است به او توصیه کنیم) نسبت به آنها ابراز علاقه کرده است شباهتهایی دارند، به کاربر توصیه میشوند ولی در CF، لیست اقلام پیشنهادی، بر اساس این اصل که، کاربرانی، مشابه کاربر فعال، از آنها رضایت داشتهاند تهیه میشود. از این رو واضح است که در روش محتوا محور، تمرکز بر روی یافتن شباهت بین اقلام بوده، در حالی که در CF، تمرکز روی یافتن شباهت بین کاربران است؛ بدین ترتیب که پیشنهادات در CF، بر اساس تشابه رفتاری کاربر فعال با کاربران دیگر صورت میگیرد و نه بر اساس تشابه ویژگی کالاهای پیشنهادی با ویژگیهای کالاهای مورد علاقه وی (کاربر فعال).
اما گونة سوم این سیستمها را با نام سیستمهای دانش محور میشناسند. این سیستمها براساس ادراکی که از نیازهای مشتری و ویژگیهای کالاها پیدا کردهاند، توصیههایی را ارائه میدهند. به عبارتی در این گونه از سیستمهای توصیهگر، مواد اولیه مورد استفاده برای تولید لیستی از پیشنهادها، دانش سیستم در مورد مشتری و کالا است. سیستمهای دانش محور از متدهای مختلفی که برای تحلیل دانش، قابل استفاده هستند بهره میبرند که متدهای رایج در الگوریتمهای ژنتیک، فازی، شبکههای عصبی و … از جمله آنهاست. همچنین، در این گونه سیستمها از درختهای تصمیم، استدلال نمونهمحور و … نیز میتوان استفاده کرد. یکی از رایجترین متدهای تحلیل دانش درسیستمهای توصیهگر دانش محور ،CBR یا روش استدلال نمونهمحور است.
گونه چهارم، سیستمهای ترکیبی هستند. طراحان این نوع سیستمها دو یا چند گونه از انواع سهگانه مذکور را غالبا به دو منظور با هم ترکیب میکنند؛ ۱- افزایش عملکرد سیستم ۲- کاهش اثر نقاط ضعفی که آن سیستمها وقتی به تنهایی به کار گرفته شوند، دارند. از میان سه روش موجود (CF و CB و KB)، غالباً روش CF یک پای ثابت این ترکیبات است.
واما بد نیست برخی از مهم ترین مزایای استفاده از سیستم های توصیه گر را در این قسمت ذکر نماییم:
-مبتنی بر بودن بر اطلاعات زنده و واقعی: مهمترین مزیت سیستمهای پیشنهاد دهنده این است که بر اساس فعالیت کاربران و گردآوری رفتار و سلایق آنها عمل میکند. به این ترتیب پیشنهاد آنها بر اساس حدس و گمان نمیباشد.
-عالی برای اکتشاف فضاهای جدید: با استفاده از سیستمهای پیشنهاد دهنده میتوانید به فیلمها، تصاویر و خلاصه کلام مطالبی دست یابید که در حالت عادی شاید هرگز به آنها نمیرسیدید. به این ترتیب افق کاربری شما در وب گسترش مییابد و به جای اتلاف وقت و انرژی برای جستجوی کور و تصادفی در جستجوگرهای وب، وقت خود را صرف استفاده مفید از مطالب جدید خواهید کرد.
-تنظیم شده با خصوصیتهای فردی شما: شما توصیه دوستان نزدیک و اعضای خانواده خود را به خاطر شناخت عمیقی که از شما دارند جدی میگیرید. چرا شما به نظر آنها اعتماد میکنید؟ چون نظر آنها مبتنی بر شناختی است که از شما دارند. به همین ترتیب میتوانید به پیشنهاد سیستمهایی که از خلق و خوی شما آگاهی نسبی بیشتری دارند اطمینان بیشتری داشته باشید. این در حالی است که در وب 1.0 پیشنهادات به صورت تصادفی و در غالب تبلیغات کور به شما ارائه میشد که طبیعتا با ضریب اطمینان بسیار پایینی از سوی شما مواجه میشد.
-همیشه به روز و جدید بمانید: با استفاده از «هوش جمعی» که چکیده رفتار هزاران کاربر مانند خود شماست، میتوانید از جدیدترین و داغترین اتفاقات در زمینههای مورد علاقهتان با خبر بمانید.
-کاهش هزینه نگهداری سازمانی: در سیستمهای پیشنهاد دهنده، با توجه به اینکه کاربران اطلاعات را بر اساس سلایق خود شکل میدهند، دستکاری و مدیریت اطلاعات وبگاه و بهروزرسانی آن توسط خود کاربران انجام میشود. به این ترتیب هزینه نگهداری و سازماندهی وبگاه در مقایسه با وبگاههای سنتی بسیار کمتر است.
[1] B. Mobasher, R. Cooley, J. Srivastava, “Automatic Personalization Based on Web Usage Mining”, Communications of the ACM, Vol. 43, No. 8, 2000 .
[2] B. Mobasher, H. Dai, T. Luo, M. Nakagawa, “Effective personalization based on association rule discovery from web usage data”, Proceedings of the 3rd ACM Workshop on Web Information and Data Management, 2001 .
[3] Felfering A., Friedrich G., and Schmidt-Thieme L., “Recommender systems,” IEEE Intelligent systems, vol. 22, pp. 18-21, 2007.
[4] Cornelis C., Lu J., Guo X., and Zhang G., “One-and-only item recommendation with fuzzy logic techniques,” Information sciences, vol. doi:10.1016/j.ins.2007.07.001, 2007.
[5] Li Y., Lu L., and Xuefeng L., “A hybrid collaborative filtering method for multiple-interests and multiplecontent recommendation in E-Commerce,” Expert systems with applications, vol. 28, pp. 67-77, 2005.