متدهای فیلترینگ اشتراکی به دو گروه کلی فیلترینگ اشتراکی مبتنی بر همسایگی[1] یا مبتنی بر حافظه[2] و فیلترینگ اشتراکی مبتنی بر مدل[3] تقسیم میشوند.[12]
الگوریتمهای موجود در گروه فیلترینگ اشتراکی مبتنی بر همسایگی یا مبتنی بر حافظه نسبت به الگوریتمهای موجود در فیلترینگ اشتراکی مبتنی بر مدل رایجتر میباشند اما قابل ذکر است که این الگوریتمها نیازمند حافظه بیشتری هستند. از نظر کارایی الگوریتمهای موجود در گروه مدل محور نتایج قابل توجهی را ارائه میدهند. اما از نظر دقت به جز تحقیقات اخیر[21] نتایج خوبی به دست نیاوردهاند. الگوریتمهای حافظه محور به طور عمده بر الگوریتم KNN استوار میباشند.
از تلفیق دو دسته مدل محور و حافظه محور مدل تلفیقی به وجود میآید که هدف آن تلفیق مزیت هر دو دسته است . [22]هم اکنون تحقیقات در راه پیشروی به سمت مدل تلفیقی میباشد .[23]
در راهکار مبتنی بر حافظه پیشبینی به دو صورت براساس کاربران و براساس اقلام انجام میپذیرد .[24]اختلاف نظرهایی در مورد اینکه پیشبینی بر اساس اقلام مبتنی بر حافظه و یا مبتنی بر مدل است وجود دارد ؛ در [25] اعلام شده است که الگوریتمهای بر اساس اقلام همیشه مبتنی بر حافظه هستند و در [26] این الگوریتمها بر اساس مدل کلاس بندی شدهاند.
2-5-1- فیلترینگ اشتراکی مبتنی بر حافظه
در فیلترینگ اشتراکی مبتنی بر همسایگی یا مبتنی بر حافظه سرتاسر ماتریس کاربران – اقلام بررسی میشود (شکل شماره 6). در این ماتریس که در حافظه ذخیره شده است امتیازهایی که کاربران به اقلام مختلف دادهاند وجود دارد. این ماتریس به صورت مستقیم برای پیشبینی نمره اقلامی که تا کنون هیچ امتیازی دریافت نکردهاند به کار میرود [19]. یعنی این محاسبات به صورت برون خط[4] انجام نمیپذیرد و همه چیز به صورت بر خط انجام میشود و همواره کل دادهها مورد نیاز میباشد. مزیت این روش این است که در هر زمان کل اطلاعات در دسترس میباشد اما با بزرگ شدن ماتریس یعنی تعداد کاربران و اقلام، فضای جستجو، حافظه مورد نیاز و زمان محاسبه افزایش مییابد.
همانطور که گفته شد در راهکار مبتنی بر حافظه پیشبینی به دو صورت پیشبینی بر اساس کاربران[5] و پیشبینی براساس اقلام[6] انجام میشود.
2-5-1-1- فیلترینگ اشتراکی مبتنی بر حافظه با پیش بینی براساس کاربران
در سیستمهای مبتنی برکاربر پیشبینی بر اساس ارزیابی امتیازهایی که توسط کاربران مشابه با کاربر فعال به اقلام مورد نظر تخصیص یافته انجام میپذیرد [27]. کاربران شبیه آنهایی هستند که الگوی امتیازدهیشان شبیه به کاربر فعال باشد (شکل شماره 6(.
یکی از چالشهای اصلی در این مدل نحوه پیدا کردن میزان شباهت بین کاربران میباشد. زیرا با استفاده از معیار شباهت شبیهترین همسایگان به کاربر فعال انتخاب و در پیشبینی استفاده میشوند.
2-5-1-2- فیلترینگ اشتراکی مبتنی بر حافظه با پیش بینی براساس اقلام
سیستمهای مبتنی بر اقلام امتیاز یک قلم خاص را بر اساس امتیازهایی که کاربر به اقلام مشابه داده است پیشبینی میکنند [28] . دو قلم در صورتی به هم شبیه هستند که چند کاربر به طور مشابه به آنها رای داده باشند (شکل شماره 7).
شکل شماره 6: فیلترینگ اشتراکی مبتنی بر قلم شکل شماره 7 : فیلترینگ اشتراکی مبتنی بر کاربر
2-5-1- 3- تفاوت فیلترینگ اشتراکی بر اساس کاربران و بر اساس اقلام
فیلترینگ اشتراکی بر اساس اقلام زمانی به کار میرود که روند افزایش اقلام کندتر از روند افزایش کاربران باشد [28]. ولی در زمانی که روند افزایش اقلام سریعتر از روند افزایش کاربران باشد فیلترینگ اشتراکی بر اساس کاربران به کار می رود .[29] به عنوان مثال اگر اقلامی مانند اخبار، مورد پژوهش باشد استفاده از روش قلم مبنا نامناسب خواهد بود و در صورتی که از این روش به عنوان مدل محور استفاده گردد به علت افزایش بسیار سریع اقلام مشکل سربار زیاد محاسباتی برای به روز رسانی مدل به وجود خواهد آمد. بر عکس اگر اقلامی مانند فیلم یا کتاب مورد پژوهش باشد استفاده از این روش مناسب خواهد بود.
2-5-2- فیلترینگ اشتراکی مبتنی بر مدل
برخلاف سیستمهای مبتنی بر حافظه که امتیازهای ذخیره شده را به طور مستقیم درپیشبینی به کار میبرند، سیستمهای مبتنی بر مدل از این امتیازها برای یادگیری یک مدل پیشبینی استفاده میکنند. یعنی پارامترهای مدل به صورت برون خطی یاد گرفته میشوند و دیگر نیازی نیست که هر بار ماتریس امتیازدهی کاربران- اقلام بررسی شود. این مدل بر اساس دادههای موجود آموزش[7] داده میشود و در آینده برای پیشبینی امتیازهایی که کاربران به اقلام جدید خواهند داد به صورت روی خط به کار میرود [4]. به همین دلیل نسبت به فیلترینگ اشتراکی مبتنی بر حافظه از سرعت بیشتری برخوردار است. این مدل میتواند یک الگوریتم یادگیری ماشین[8] یا داده کاوی[9] باشد [30]. در گذشته الگوریتمهای موجود در حوزه یادگیری ماشین مانند شبکههای بیز[10] [8] و خوشه بندی[11] [31,32] بسیار مورد توجه بوده اند .[28] اگر چه امروزه الگوریتمهای فاکتورسازی ماتریس بسیار مورد توجه واقع شدهاند اما همچنان الگوریتمهای خوشه بندی جایگاه خود را حفظ کردهاند.
[1] Neighborhood-Based
[2] Memory-Based
[3] Model-Based
[4] Off Line
[5]User-Based
[6] Item-Based
[7] Train
[8] Machine Learning
[9] Data Mining
[10] Bayesian Networks
[11] Clustering