پایان نامه دوره کارشناسی ارشد مهندسی کامپیوتر(هوش مصنوعی)
استفاده ازکاربرانی با دقت پیشگویی بالا در سیستمهای فیلترینگ اشتراکی
توسط
نیلوفر راستین
استاد راهنما:
جناب آقای دکتر منصور ذوالقدری جهرمی
تابستان92
رح
به نام خدا
اظهار نامه
اینجانب نیلوفر راستین دانشجوی رشتهی مهندسی کامپیوتر گرایش هوش مصنوعی دانشکدهی برق و کامپیوتر دانشگاه شیراز اظهار میکنم که این پایان نامه حاصل پژوهش خودم بوده است و در جاهایی که از منابع دیگران استفاده کرده ام نشانی دقیق و مشخصات کامل آن را نشته ام. همچنین اظهار می کنم که تحقیق و موضوع پایان نامه تکراری نیست و تعهد می نمایم که بدون مجوز دانشگاه دستاوردهای آن را منتشر ننموده و یا در اختیار غیر قرار ندهم. کلیه حقوق این اثر مطابق با آیین نامه مالکیت فکری و معنوی متعلق به دانشگاه شیراز است.
نام ونام خانوادگی : نیلوفر راستین
تاریخ و امضا :
به نام خدا
استفاده ازکاربرانی با دقت پیشگویی بالا در سیستم های فیلترینگ اشتراکی
به کوشش
نیلوفر راستین
پایان نامه
ارائه شده به تحصیلات تکمیلی دانشگاه به عنوان بخشی
از فعالیت های تحصیلی لازم برای اخذ درجه کارشناسی ارشد
در رشته :
مهندسی کامپیوتر – هوش مصنوعی
از دانشگاه شیراز
شیراز
جمهوری اسلامی ایران
ارزیابی شده توسط کمیته پایان نامه با درجه :
دکتر منصور ذوالقدری، استاد بخش مهندسی و علوم کامپیوتر (رئیس کمیته)…………………
دکتر علی حمزه، استادیار بخش مهندسی و علوم کامپیوتر…………………………….
دکتر اقبال منصوری، استادیار بخش مهندسی و علوم کامپیوتر…………………………….
شهریور 1392
چکیده
استفاده ازکاربرانی با دقت پیشگویی بالا در سیستمهای فیلترینگ اشتراکی
به کوشش
نیلوفر راستین
سیستمهای پیشنهادگر ابزارهای نرم افزاری و تکنیکهایی هستند که اقلام را مطابق با نیاز کاربر به او معرفی میکنند. روشهای محتوا محور و فیلترینگ اشتراکی از راهکارهای موفق در سیستمهای پیشنهادگر میباشند. روش محتوا محور بر اساس ویژگیهای اقلام تعریف میشود. این روش بررسی میکند که اقلام مورد علاقه کاربر دارای چه ویژگیهایی بودهاند، سپس اقلام دارای ویژگیهای مشابه را به او پیشنهاد میکند. روش فیلترینگ اشتراکی بر اساس تعیین اقلام مشابه یا کاربران مشابه کار میکند که به ترتیب فیلترینگ اشتراکی مبتنی بر اقلام و مبتنی بر کاربران نامیده میشود. در این پایان نامه یک روش تلفیقی از روشهای فیلترینگ اشتراکی و محتوا محور ارائه شده است. این روش میتواند به عنوان روش فیلترینگ اشتراکی مبتنی بر کاربر در نظر گرفته شود. به این صورت که به منظور یافتن کاربرانی با سلیقه مشابه با کاربر فعال به عنوان کاربرانی با دقت پیشگویی بالا از ویژگیهای مربوط به محتوای اقلام برای افزایش تاثیر امتیازهایی که توسط کاربران به اقلام مشابه تخصیص داده شده است استفاده میکند. به بیان دیگر دو کاربر مشابه هستند در صورتی که امتیازهایی که به اقلامی که از نظر محتوا مشابه هستند نسبت دادهاند، همسان باشند. برای این منظور در هنگام سنجیدن شباهت دو کاربر، به امتیاز نسبت داده شده به هر قلم، با توجه به میزان شباهت آن به قلم هدف، وزن تخصیص مییابد.
فهرست مطالب
عنوان صفحه
فصل 1 : مقدمه……………………………………………………………………………………………………………………………1
1-1- پیشگفتار…………………………………………………………………………………………………………………………….2
1-2- موتورهای جستجوگر…………………………………………………………………………………………………………2
1-2-1- موتورهای جستجوگر پیمایشی……………………………………………………………………………………..3
1-2- 2- فهرستهای تکمیل دستی…………………………………………………………………………………………..3
1-2-3- موتورهای جستجوگر ترکیبی………………………………………………………………………………………..4
1-2-4- ابرجستجوگرها……………………………………………………………………………………………………………….4
1-3- سیستمهای پیشنهادگر……………………………………………………………………………………………………..5
1-3-1- سیستم پیشنهادگر بر اساس فیلترینگ اشتراکی…………………………………………………………7
1-3-2- سیستم پیشنهادگر بر اساس محتوا………………………………………………………………………………8
1-3-3- سیستم پیشنهادگر بر اساس آمار گیری……………………………………………………………………….8
1-3-4- سیستم پیشنهادگر بر اساس سود…………………………………………………………………………………9
1-3-5- سیستم پیشنهادگر بر اساس دانش………………………………………………………………………………9
1-3-6- سیستم پیشنهادگر ترکیبی…………………………………………………………………………………………..9
1-4- بررسی سایت MovieLens…………………………………………………………………………………………..10
1-5- اهداف پایان نامه……………………………………………………………………………………………………………..13
1-6- ساختار پایان نامه…………………………………………………………………………………………………………….14
فصل 2 : روش فیلترینگ اشتراکی……………………………………………………………………………………………15
2-1- پیشگفتار………………………………………………………………………………………………………………………….16
2-2- مروری بر کارهای انجام شده در این راستا……………………………………………………………………..16
2-3- مبانی فیلترینگ اشتراکی………………………………………………………………………………………………..21
2-4- وظایف فیلترینگ اشتراکی…………………………………………………………………………………………….22
2-4-1- پیشنهاد……………………………………………………………………………………………………………………….23
2-4-2- پیشبینی…………………………………………………………………………………………………………………….23
2-5- دسته بندی متدهای فیلترینگ اشتراکی……………………………………………………………………….23
2-5-1- فیلترینگ اشتراکی مبتنی بر حافظه…………………………………………………………………………24
2-5-1-1- فیلترینگ اشتراکی مبتنی بر حافظه با پیشبینی بر اساس کاربران…………………….25
2-5-1-2- فیلترینگ اشتراکی مبتنی بر حافظه با پیشبینی بر اساس اقلام…………………………25
2-5-1- 3- تفاوت فیلترینگ اشتراکی بر اساس کاربران و بر اساس اقلام……………………………..26
2-5-2- فیلترینگ اشتراکی مبتنی بر مدل……………………………………………………………………………..26
2-6- نحوه تشخیص علائق کاربران………………………………………………………………………………………….27
2-6-1- تشخیص علائق به صورت صریح…………………………………………………………………………………27
2-6-2- تشخیص علائق به صورت ضمنی……………………………………………………………………………….27
2-7- محاسبه شباهت……………………………………………………………………………………………………………….28
2-7-1- معیار همبستگی پیرسون……………………………………………………………………………………………28
2-7-2- معیار اندازهگیری کسینوس………………………………………………………………………………………..29
2-8- انتخاب همسایه……………………………………………………………………………………………………………….30
2-8-1- استفاده از حد آستانه………………………………………………………………………………………………….30
2-8-2- انتخاب تعداد ثابتی از همسایگان……………………………………………………………………………….30
2-9- پیشبینی و تخمین رتبه…………………………………………………………………………………………………31
2-9-1- استفاده از امتیازهای خام……………………………………………………………………………………………31
2-9-2- استفاده از امتیازهای نرمال شده………………………………………………………………………………..31
2-10- مشکلات فیلترینگ اشتراکی………………………………………………………………………………………..32
2-10-1- پراکنده بودن داده…………………………………………………………………………………………………….32
2-10-2- مقیاس پذیری………………………………………………………………………………………………………….32
2-10-3- اقلام مشابه……………………………………………………………………………………………………………….33
2-10-4- گریشیپ…………………………………………………………………………………………………………………33
2-11- بررسی چگونگی کارکرد سایت آمازون…………………………………………………………………………33
فصل 3 : روش محتوا محور………………………………………………………………………………………………………36
3-1- پیشگفتار………………………………………………………………………………………………………………………….37
3-2- روند کار روش محتوا محور……………………………………………………………………………………………..37
3-2-1- تحلیلگر محتوا…………………………………………………………………………………………………………..38
3-2-2- یادگیرنده نمایه …………………………………………………………………………………………………..39
3-2-3- جزء فیلترینگ…………………………………………………………………………………………………………….42
3-3- مزایای روش محتوا محور………………………………………………………………………………………………..42
3-3-1- استقلال کاربر……………………………………………………………………………………………………………..42
3-3-2- شفافیت……………………………………………………………………………………………………………………….42
3-3-3- قلم جدید…………………………………………………………………………………………………………………….43
3-4- معایب روش محتوا محور…………………………………………………………………………………………………43
3-4-1- کمبود محتوا……………………………………………………………………………………………………………….43
3-4-2- خصوصی سازی افزون…………………………………………………………………………………………………43
3-4-3- کاربر جدید………………………………………………………………………………………………………………….44
فصل 4 : روش پیشنهادی………………………………………………………………………………………………………….45
4-1- پیشگفتار………………………………………………………………………………………………………………………….46
4-2- مروری بر کارهای انجام شده در این راستا……………………………………………………………………..46
4-3- مقدمهای بر روش پیشنهادی…………………………………………………………………………………………..48
4-4- روش پیشنهادی………………………………………………………………………………………………………………48
4-4-1- پیش پردازش………………………………………………………………………………………………………………49
4-4-1-1- پیش پردازش بر روی پایگاه داده MovieLens………………………………………………..49
4-4-1-2- پیش پردازش بر روی پایگاه داده EachMovie………………………………………………..50
4-4-2- وزندهی به اقلام…………………………………………………………………………………………………………51
4-4-3- انتخابهمسایگی…………………………………………………………………………………………………………53
4-4-4- پیشبینی……………………………………………………………………………………………………………………54
فصل 5 : آزمایشها و نتایج……………………………………………………………………………………………………….56
5-1- پایگاه دادههای مورد استفاده…………………………………………………………………………………………..57
5-2- نحوه اجرای روش پیشنهادی روی پایگاه داده MovieLens……………………………………….57
5-3- نحوه اجرای روش پیشنهادی روی پایگاه داده ٍEachMovie……………………………………….58
5-4- معیارهایارزیابی………………………………………………………………………………………………………………58
5-4-1- میانگین خطای مطلق…………………………………………………………………………………………………58
5-4-2- دقت و فراخوانی………………………………………………………………………………………………………….59
5-4-3- معیار ارزیابیF1…………………………………………………………………………………………………………60
5-5- ارزیابی روش پیشنهادی توسط معیارهای معرفی شده…………………………………………………..61
فصل 6 : بحث و نتیجهگیری…………………………………………………………………………………………………….66
6-1- بحث…………………………………………………………………………………………………………………………………67
6-2- نتیجهگیری……………………………………………………………………………………………………………………..67
6-4- پیشنهادات……………………………………………………………………………………………………………………….68
مراجع………………………………………………………………………………………………………………………………………..69
فهرست جدول ها
عنوان و شماره صفحه

جدول شماره 1 : نمونههایی از سیستمهای پیشنهادگر و اقلام پیشنهادی آنها…………………………7
جدول شماره 2 : مقایسه میانگین خطای مطلق روش پایه و روش پیشنهادی، اعمال شده بر MovieLens……………………………………………………………………………………………………………………………61
جدول شماره 3 : مقایسه میانگین خطای مطلق روش پایه و روش پیشنهادی، اعمال شده بر EachMovie……………………………………………………………………………………………………………………………61
جدول شماره 4 : مقایسه معیار دقت روش پایه و روش پیشنهادی، اعمال شده بر
MovieLens……………………………………………………………………………………………………………………………61
جدول شماره 5 : مقایسه معیار دقت روش پایه و روش پیشنهادی، اعمال شده بر
EachMovie …………………………………………………………………………………………………………………………..62
جدول شماره 6 : مقایسه معیار فراخوانی روش پایه و روش پیشنهادی، اعمال شده بر MovieLens……………………………………………………………………………………………………………………………62
جدول شماره 7 : مقایسه معیار فراخوانی روش پایه و روش پیشنهادی، اعمال شده بر EachMovie……………………………………………………………………………………………………………………………62
جدول شماره 8 : مقایسه معیارF1 روش پایه و روش پیشنهادی، اعمال شده بر MovieLens……………………………………………………………………………………………………………………………62
جدول شماره 9 : مقایسه معیارF1 روش پایه و روش پیشنهادی، اعمال شده بر
EachMovie……………………………………………………………………………………………………………………………62
جدول شماره 10 : مقایسه میانگین خطای مطلق روش پیشنهادی با روشهای[19] و [20]…………………………………………………………………………………………………………………………………………..65
فهرست تصاویر
عنوان و شماره صفحه
شکل شماره 1: نمونههایی از موتورهای جستجوگر………………………………………………………………….5
شکل شماره 2 : نمونه صفحهای از سایت Movielens………………………………………………………….11
شکل شماره 3 : نمونه صفحه درخواست امتیازدهی Movielens از کاربر…………………………….12
شکل شماره 4 : نمونه صفحه فیلمهای پیشنهادی از سوی Movielens به کاربر………………13
شکل شماره 5 : نمونه ماتریس امتیازدهی کاربران – اقلام………………………………………………………22
شکل شماره 6: فیلترینگ اشتراکی مبتنی بر اقلام………………………………………………………………..25
شکل شماره 7 : فیلترینگ اشتراکی مبتنی بر کاربران…………………………………………………………….25
شکل شماره 8 : روند تولید پیشنهاد در آمازون……………………………………………………………………….34
شکل شماره 9 : نمونه صفحهای از سایت آمازون…………………………………………………………………….35
شکل شماره 10 : ارائه پیشنهاد بر اساس کارت خرید مشتری……………………………………………….35
شکل شماره 11 : روند کار روش محتوا محور………………………………………………………………………….38
شکل شماره 12 : نمونه صفحهای از سایت آمازون…………………………………………………………………40
شکل شماره 13 :استفاده از روش محتوا محور در سایت آمازون…………………………………………..41
شکل شماره 14 : نمایش مفاهیم دقت و فراخوانی در حوزه بازیابی اطلاعات………………………..59
شکل شماره 15: رابطه معیار فراخوانی با معیار دقت……………………………………………………………..60
شکل شماره 16: مقایسه میانگین خطای مطلق روش پایه و روش پیشنهادی، اعمال شده بر
MovieLens……………………………………………………………………………………………………………………………63شکل شماره 17: مقایسه میانگین خطای مطلق روش پایه و روش پیشنهادی، اعمال شده بر
EachMovie……………………………………………………………………………………………………………………………63
شکل شماره 18: مقایسه معیار دقت، فراخوانی و F روش پایه و روش پیشنهادی، اعمال شده بر EachMovie………………………………………………………………………………………………………………………64
شکل شماره 19: مقایسه معیار دقت، فراخوانی و F روش پایه و روش پیشنهادی، اعمال شده بر MovieLens………………………………………………………………………………………………………………………..64
فصل اول
مقدمه
1- مقدمه
1-1- پیشگفتار
پیدایش اینترنت و وب جهان گستر1 موجب شده است که در رابطه با هر موضوع قابل تصور، حجم بسیار زیادی از اطلاعات وجود داشته باشد که کاربران2 بتوانند با استفاده از آن نیاز اطلاعاتی خود را برطرف سازند. افزایش روز افزون اطلاعات باعث شد که مشکل سربار اطلاعات3 به وجود آید و کاربران به تنهایی قادر به برطرف کردن نیازهای خود نباشند. . زیرا کاربران مجبور بودند به صورت بر خط4 تمامی صفحات را جستجو کنند تا بتوانند آن قسمتی را که مورد نیازشان است پیدا کنند. به همین دلیل موتورهای جستجوگر5 به وجود آمدند تا کاربران بتوانند با استفاده از آنها بدون نیاز به بررسی تعداد زیادی از صفحات به اطلاعات مورد نظرشان دسترسی پیدا کنند.
1-2- موتورهای جستجوگر
به عبارت دیگر یک موتور جستجوگر وب سایتی است که میتوان از آن برای پیدا کردن صفحات وب استفاده کرد. وقتی کاربر درخواست خود را در قالب کلمات کلیدی وارد موتور جستجوگر میکند موتور جستجوگر در بین بیلیونها صفحه وب جستجو کرده و به کاربر کمک میکند اطلاعاتی که به دنبال آن است را بیابد. با استفاده از این ابزار سرعت و دقت در جستجو بسیار افزایش یافت و کاربران توانستند به سادگی و در کمترین زمان به بهترین نتایج دست یابند.
انواع زیادی از موتورهای جستجوگر توسط کمپانیهای مختلف ساخته شده است که معروفترین آنها بینگ6، یاهو7 و گوگل8 میباشد (شکل شماره 1).
هر موتور جستجوگر راه و روش خود را برای سازماندهی اطلاعات دارد، پس نتیجه از یک موتور جستجوگر تا دیگری متفاوت خواهد بود.
موتورهای جستجوگر به دو دسته کلی تقسیم میشوند : موتورهای جستجوگر پیمایشی9 و فهرستهای تکمیل دستی10. موتورهای جستجوگر ترکیبی11 نیز حاصل ترکیب دو نوع بالا میباشند. گونهای جدید از موتورهای جستجوگر نیز تحت عنوان ابر جستجوگرها12 وجود دارد که در ادامه به طور خلاصه به توضیح هر کدام از این موارد خواهیم پرداخت.
1-2-1- موتورهای جستجوگر پیمایشی
این موتورهای جستجوگر، وب را پیمایش و اطلاعاتی را ذخیره میکنند. سپس کاربران از میان این اطلاعات آنچه را که میخواهند جستجو میکنند. اگر در صفحه وب تغییراتی اعمال شود موتورهای جستجوگر پیمایشی به طور خودکار آنها را مییابند و تغییرات مذکور را در فهرستها اعمال میکنند. نمونههایی ازموتورهای جستجوگر پیمایشی گوگل و یاهو میباشند.

1-2- 2- فهرستهای تکمیل دستی
فهرستهای تکمیل دستی وابسته به کاربرانی میباشد که آن را تکمیل میکنند. یا کاربر خودش صفحه مورد نظر را به همراه توضیحی کوتاه در فهرست ثبت میکند یا این کار توسط ویراستارهایی که برای آن فهرست در نظر گرفته شده صورت میپذیرد. در این حالت عمل جستجو تنها بر روی توضیحات ثبت شده انجام میگیرد و اگر تغییری روی صفحه وب به وجود آید در فهرست تغییر به وجود نخواهد آمد. نمونهای از فهرستهای تکمیل دستی
Open Directoryمیباشد13.
1-2-3- موتورهای جستجوگر ترکیبی

این موتورهای جستجوگر نتایج حاصل از جستجوی هر دو نوع بالا را با هم ترکیب میکنند و نشان میدهند. علاوه بر این میتوانند برای نتایج یک نوع، اولویت قائل شوند. مثلا موتور جستجوی MSN اولویت را روی نتایج حاصل از فهرستهای تکمیل دستی قرار میدهد. ولی برای درخواستهای پیچیده، نتایج حاصل از جستجوی پیمایشی را نیز بررسی میکند.
1-2-4- ابر جستجوگرها
این نوع جدید از موتورهای جستجوگر نتایج حاصل از چند موتور جستجوگر را ترکیب نموده و نشان میدهد. به عبارتی دیگر درخواست کاربر را در چندین موتور جستجوگر جستجو کرده، سپس نتایج یافته شده را با هم ترکیب نموده و یک نتیجه کلی در اختیار کاربر قرار میدهد. به عنوان مثال موتور جستجوگر dogpile14 نتایج حاصل از موتورهای جستجوگرGoogle ، Yahoo، MSN و ASK را با هم ترکیب میکند و به کاربر ارائه میدهد.

شکل شماره 1 : نمونههایی از موتورهای جستجوگر
1-3- سیستمهای پیشنهادگر
مطالعات اخیر نشان دادهاند که عمده موتورهای جستجوگر با نرخ پایین موفقیت مواجه هستند. این نرخ با میزان دریافت نتایج مرتبط، نسبت به میانگین کاربران جستجو کننده تعیین میشود. به عنوان مثال در یکی از مطالعات[1] بیش از 20000 درخواست جستجو بررسی شده و مشخص گردیده که به طور میانگین در 48% موارد، کاربر در نتایجی که به او ارائه شده حداقل یک مورد مرتبط با جستجویش که ارزش انتخاب داشته باشد پیدا میکند. به بیان دیگر در 52% موارد، کاربر هیچ کدام از مواردی را که به عنوان نتیجه جستجو به او بازگشت داده میشود انتخاب نمیکند. البته این مشکل همان قدر که به موتور جستجوگر بستگی دارد به میزان دانش کاربر جستجو کننده در چگونگی نحوه جستجو نیز بستگی دارد. زیرا درخواست جستجو ممکن است منجر به ابهام شود و به ندرت میتواند به روشنی نیاز کاربر جستجو کننده را بیان کند. در این مواقع کاربر با لیست نتیجهای که نمیتواند نیاز اطلاعاتی او را برطرف سازد روبرو میشود. او در این شرایط معمولا درخواست خود را تعویض یا اصلاح میکند تا نتیجه دلخواهش به او ارائه شود.
در [2] نشان داده است که 10% از درآمد کسانی که با اطلاعات کار میکنند به دلیل تلف شدن زمانشان در جستجو از بین میرود. همچنین در بدترین حالت درصد قابل توجهی از جستجو کنندهها ممکن است در پیدا کردن اطلاعاتی که مورد نیازشان است با شکست روبرو شوند. این مسائل نشان میدهد که جستجوی وب بسیار ناکارامدتر از آن است که انتظار می- رود. همچنین علاوه بر افزایش تعداد صفحات وب تعداد کاربران اینترنت نیز به شدت افزایش یافت. کاربران هم میخواستند نیاز اطلاعاتیشان را بر طرف کنند و هم مایل به تولید و اشتراک گذاری اطلاعات، علائق و نیازمندیهای خود بودند. بنابراین شبکههای اجتماعی مانند Facebook و Twitter تاسیس شدند. همچنین سایتهایی مانند YouTube راه اندازی شد که محلی برای اشتراک گذاری فیلمها و مشاهده فیلمهای به اشتراک گذاشته میباشد.
در این بین برای برطرف نمودن ناکارامدیهای موتورهای جستجوگر و نیازهای کاربران سیستمهای پیشنهادگر به وجود آمدند.
سیستمهای پیشنهادگر برای انتخاب و ارائه اطلاعات مورد نیاز کاربران نقش قابل توجهی را ایفا نمودهاند. این سیستمها میتوانند حتی بدون اینکه کاربر درخواست جستجو بدهد تعدادی از اقلام را به او پیشنهاد یا اطلاعات مورد نیازش را به او ارائه دهد. اقلام میتوانند فیلم، موزیک، صفحه وب و… باشند (جدول شماره 1). همچنین کاربر پیشنهاداتی را از طریق یک جستجوی هوشمندانه دریافت خواهد کرد. بنابراین تاثیر به سزایی در صرفه جویی زمان و دست یابی به هدف مورد نظر کاربر دارد. زیرا از این طریق میتواند از میان این حجم بالا آن قسمت که مورد نیازش است را در اختیار داشته باشد. بدین ترتیب از سردرگم شدن کاربر هنگام تصمیمگیری جلوگیری به عمل میآید.

جدول شماره 1 : نمونههایی از سیستمهای پیشنهادگر و اقلام پیشنهادی آنها
SYSTEMContentAmazonBooks, CDS, OthersEpinionsBooks, CDS, OthersMovieLensMovieNetflixDVDYahoo! MusicMusicGrundyBooksVideo RecommenderVideoRingoMusicPHOAKSTextual InformationJesterJokesFab SystemWeb page
با افزایش روز افزون اطلاعات، نیاز به وجود این سیستمها بیشتر احساس شده است. این سیستمها پیشنهادات را با استفاده از انواع مختلف دانش و داده جمع آوری شده در مورد کاربران و اقلام و همچنین بررسی تراکنشهایی مانند بازخوردی15 که کاربران در گذشته ایجاد کردهاند تولید میکنند. در سادهترین فرم، این پیشنهادات به صورت یک لیستی که بر اساس علائق و نیازهای کاربر مرتب شده به او عرضه خواهد شد.
در [3] سیستمهای پیشنهادگر براساس فیلترینگ اشتراکی16، محتوا17، آمارگیری18، سود19، دانش20،و ترکیبی21 کلاسبندی شدهاند.

1-3-1- سیستم پیشنهادگر بر اساس فیلترینگ اشتراکی
فیلترینگ اشتراکی یکی از رایجترین راهکارها در سیستمهای پیشنهادگر است .[4] این راهکار اقلامی که کاربران مشابه با کاربر فعال در گذشته به آنها علاقه داشتهاند را به او پیشنهاد میکند. شباهت بین کاربران بر اساس نحوه امتیازدهیشان در گذشته محاسبه میشود.
این پایان نامه بر اساس این نوع از سیستمهای پیشنهادگر میباشد که در فصل دوم به تفصیل توضیح داده خواهد شد.

1-3-2- سیستم پیشنهادگر محتوا محور
یکی از پر کاربردترین راهکارها در سیستمهای پیشنهادگر روش محتوا محور میباشد. سیستمهای محتوا محور بر اساس ویژگیهای اقلام تعریف میشوند. آنها بررسی میکنند که کاربر در گذشته چه اقلامی مورد علاقهاش بوده، سپس اقلام مشابه را به او پیشنهاد میدهند. مثلا اگر کسی در گذشته به فیلمی از نوع کمدی امتیار مثبت داده است این سیستم در آینده فیلمهایی از این نوع را به او پیشنهاد میکند. از آنجا که روش پیشنهادی در این پایان نامه از روش محتوا محور استفاده می کند، در فصل پنجم به طور مفصل در مورد سیستم پیشنهادگر محتوا محور بحث خواهد شد.
1-3-3- سیستم پیشنهادگر بر اساس آمارگیری
تکنیک پیشنهاد براساس آمارگیری مبتنی بر اطلاعات آماری کاربران میباشد. دادههایی که در نمایه22 کاربر وجود دارد مانند جنسیت، سن، وضعیت خانوادگی و … نمونههایی از اطلاعات آماری کاربر میباشد. کاربران بر اساس خصوصیاتشان کلاس بندی میشوند و پیشنهادات بر اساس این کلاسها صورت میپذیرد.
1-3-4- سیستم پیشنهادگر بر اساس سود
سیستمهای بر اساس سود، تابع سود23 که توسط کاربر تولید میشود را به کار میبرند. به عنوان مثال درقالب پرسشنامه این کار صورت میپذیرد. سپس بر اساس اینکه هر قلم24 چه مقدار سود برای کاربر دارد پیشنهادات صورت میگیرد. این نوع از سیستمها تکنیکهای ارضای محدودیت25 را به کار میبرند تا بهترین قلم را پیشنهاد کنند.

1-3-5- سیستم پیشنهادگر بر اساس دانش
سیستمهای پیشنهادگر بر اساس دانش، از دانشی که از خصوصیات اقلام و کاربران استخراج میگردد بهره برداری میکنند. آنها بررسی میکنند که چطور یک قلم بهخصوص میتواند نیازهای کاربر را بر آورده سازد. در سادهترین فرم، دانش مذکور میتواند در فرم درخواست توسط کاربر تولید شود.
1-3-6- سیستم پیشنهادگر ترکیبی
سیستمهای پیشنهادگر ترکیبی دو یا چند تکنیک را ترکیب میکنند تا کارایی سیستم پیشنهادگر را افزایش دهند. مثلا دو تکنیک A وB را ترکیب میکنند که از مزایای تکنیک اول برای بر طرف سازی معایب تکنیک دوم استفاده کنند. مثلا متد فیلترینگ اشتراکی با مشکل قلم جدید و کاربر جدید مواجه میباشد. یعنی قلمی که تا کنون هیچ کس به آن امتیازی نداده است را نمیتواند پیشنهاد کند. در عین حال متد بر اساس محتوا به دلیل اینکه پیشنهادات بر اساس محتوا و ویژگیهای اقلام میباشد نه امتیازات داده شده به آنها، چنین مشکلی را ندارد. پس میتوان از ترکیب این دو متد در برطرف کردن نواقص یکدیگر استفاده نمود.
1-4- بررسی سایت Movielens
MovieLens یک سیستم پیشنهادگر فیلم است (شکل شماره 2). راهکار این سیستم به این صورت است که از کاربر میخواهد به فیلم هایی که تا کنون دیده است در بازه 1 تا 5 امتیازدهی کند (شکل شماره 3). پس از آن امتیازات داده شده از سوی کاربر را ذخیره کرده و از کاربر یک مدل میسازد. زمانی که کاربر درخواست میکند که سیستم فیلمهایی را به او پیشنهاد کند، سیستم مدل کاربر فعال26 و همچنن مدل کاربرانی که شبیه به او میباشند را استخراج کرده و امتیاز فیلمهایی که کاربر فعال تا کنون ندیده است را از روی مدل کاربران شبیه به او پیشبینی میکند. سپسفیلمهایی که برای آنها امتیاز بالایی پیشبینی شده است را به کاربر فعال پیشنهاد میکند. کاربر لیست پیشنهاد شده از سوی سیستم را مشاهده کرده و فیلمهای مورد علاقهاش را انتخاب میکند (شکل شماره 4).
شکل شماره 2 : نمونه صفحهای از سایت Movielens [5]
شکل شماره 3: نمونه صفحه درخواست امتیازدهی Movielens از کاربر [5]
شکل شماره 4 : نمونه صفحه فیلمهای پیشنهادی از سوی Movielens به کاربر [5]
1-5- اهداف پایان نامه
روشهای محتوا محور و فیلترینگ اشتراکی از راهکارهای موفق در سیستمهای پیشنهادگر میباشند. روش محتوا محور بر اساس ویژگیهای اقلام تعریف میشود. این روش بررسی میکند که اقلام مورد علاقه کاربر دارای چه ویژگیهایی بودهاند، سپس اقلام دارای ویژگیهای مشابه را به او پیشنهاد میکند. روش فیلترینگ اشتراکی بر اساس تعیین اقلام مشابه یا کاربران مشابه کار میکند که به ترتیب فیلترینگ اشتراکی مبتنی بر اقلام و مبتنی بر کاربران نامیده میشود.
روش پایه فیلترینگ اشتراکی مبتنی بر کاربر، به منظور پیشبینی امتیاز قلم هدف، هیچ تمایزی بین اقلام قائل نمیشود. به عبارت دیگر امتیازهای تمامی اقلام به طور یکسان در انتخاب همسایگی (کاربران مشابه) و پیشبینی تاثیر میگذارند. در این پایان نامه یک سیستم پیشنهادگر فیلترینگ اشتراکی مبتنی بر کاربر، مجهز به مکانیزم تخصیص پویای وزن به اقلام، ارائه شده است. مبنای این مکانیزم، تخصیص وزن به اقلام بر اساس میزان شباهت آنها با قلم هدف میباشد. میزان شباهت اقلام توسط یک روش محتوا محور سنجیده میشود. از آنجا که پایگاه داده مورد استفاده در این پایان نامه مربوط به فیلم است، برای بالا بردن کارایی این روش علاوه بر استفاده از ویژگی ژانرها، از ویژگیهای دیگری از جمله کارگردانان و بازیگران به عنوان دادههای مکمل استفاده شده است.
1-6- ساختار پایان نامه
از آنجا که اساس روش پیشنهادی در این پایان نامه فیلترینگ اشتراکی میباشد در فصل دوم به تفصیل به شرح این روش و تاریخچهای از کارهای انجام شده در این زمینه پرداخته میشود.
پس از آن به دلیل استفاده از روش محتوا محور به جهت ارتقا روش فیلترینگ اشتراکی، مبانی این روش در فصل سوم توضیح داده میشود.
در فصل چهارم روش پیشنهادی که تلفیقی از روشهای فیلترینگ اشتراکی و محتوا محور میباشد و کارهای انجام شده در این زمینه ارائه میشود.
در فصل پنجم آزمایشهای انجام شده بر روش پیشنهادی و نتایج حاصل از این آزمایشها ارائه میگردد.
در فصل ششم به جمعبندي مطالب، نتيجهگيري و ارائه پيشنهادهايي براي آينده پرداخته میشود.
فصل دوم
روش فیلترینگ اشتراکی
2- روش فیلترینگ اشتراکی
2-1- پیشگفتار
این پایان نامه بر فیلترینگ اشتراکی که نوعی از سیستمهای پیشنهادگر میباشد متمرکز شده است. این نوع از سیستم های پیشنهادگر نقش قابل توجهی را در پیدا کردن سلیقه و علائق کاربر ایفا میکند. انگیزه پیدایش فیلترینگ اشتراکی از اینجا به وجود آمد که مردم معمولا بهترین پیشنهادات را از کسانی میگیرند که سلیقهشان مشابه با خودشان است. این متد، کاربران با سلیقه شبیه به هم را پیدا میکند و بر این اساس پیشنهادات را ارائه میدهد.
2-2- مروری بر کارهای انجام شده در این راستا
در [6] اولین سیستم پیشنهادگر رسمی که tapestry نامیده میشود ارائه شد. این یک سیستم برای مدیریت ایمیل بود و تصدیق کرد که یک لیست ایمیل ساده نمیتواند به تمام کاربرانی که علاقهمند به محتوای یک ایمیل هستند اطمینان دریافت آن را بدهد. بنابراین به کاربران اجازه شرح پیام ایمیلها را داد تا دیگران با ساختن پرسش بتوانند آنها را فیلتر کنند. اندکی بعد محققان دریافتند که این لیست ایمیل و فیلترینگ بر اساس محتوا در رابطه با نیازهای اطلاعاتی پیچیده کاربر کافی نیست. بنابراین، این عقیده مطرح شدکه سیستم با به کاربردن عامل انسان ارتقاء خواهد یافت. عبارت فیلترینگ اشتراکی به منظور توصیف اینکه چطور کاربران میتوانند با تولید کردن بازخورد به فیلترینگ پیام ها کمک کنند به کار برده شد. این بازخورد شامل ارسال، دریافت پیام و … میباشد.
در [7]تحقیق در مورد فیلترینگ اشتراکی با استفاده از الگوریتم مبتنی بر همسایگی برای اخبارUsenet انجام شده است. قابل ذکر است که Usenet نوعی شبکه اینترنتی میباشد. این کار توسط سیستمی که GroupLensنامیده میشود انجام پذیرفت[8] . GroupLens که سیستمی پیشنهادگر بر اساس کاربر است به منظور ارزیابی و پیشنهاد دادن اقلام به کاربر از امتیازهای 1 تا 5 که دیگر کاربران به این اقلام نسبت دادهاند استفاده میکند. اکنون MovieLens که یک سیستم پیشنهادگر فیلم است راهاندازی شده است. سیستم Grouplens از معیار همبستگی پیرسون27 برای نشان دادن میزان شباهت کاربران به یکدیگر استفاده میکند (فرمول شماره 1).
p_(a,i)=¯r_a+□((∑_(u=1)^n▒〖[〖(r〗_(u,i) 〖-r ̅〗_u)*w_(a,u)]〗)/(∑_(u=1)^n▒w_(a,u) )) (1)
〖 p〗_(a,i) نشانگر امتیاز پیشبینی شده برای قلم i ام میباشد. n تعداد همسایهها را نشان میدهد، 〖 r〗_(u,i)امتیاز کاربر uبه قلم iام و r ̅_aمیانگین امتیازهای کاربر فعال میباشد. w_(a,u) میزان شباهت بین کاربر فعال و همسایه u را نشان میدهد که به صورت همبستگی پیرسون در فرمول شماره 2 تعریف شده است.
w_(a,u)=(∑_(i=1)^m▒[(r_(a,i)-r ̅_a )(r_(u,i)-r ̅_u )] )/√(∑_(i=1)^m▒〖〖(r_(a,i)-r ̅_a)〗^2 ∑_(i=1)^m▒〖(r_(u,i)-r ̅_u)〗^2 〗) (2)
در سال 1996 تکنولوژی GroupLens تحت NetPerceptionبه صورت تجاری درآورده شد. یکی از اولین کاربران تجاری GroupLens سرویس الکترونیکی خرده فروشی آمازون بود که به عنوان فروشگاه کتاب برخط راه اندازی شد.
در [9]سیستم پیشنهادگر موزیک 28Ringoبراساس الگوریتم اصلی Grouplens توسعه یافت. Ringo اقلام را بر اساس امتیازهایی که کاربران مشابه به آنها داده بودند فیلتر میکرد. زمانی که کاربر در سیستم ثبت نام مینمود یک لیست از 125 موسیقیدان محبوب که به طور تصادفی انتخاب شده بودند را در اختیار او قرار میداد و از کاربر میخواست که به اعضای این لیست امتیازهای بین 1 تا 7 بدهد. سپس ازکاربر یک نمایه میساخت. Ringo میزان شباهتها را با استفاده از همبستگی پیرسون محدود شده محاسبه کرد و برای تولید پیشنهاد میانگین تمامی کاربران موجود در همسایگی را به کار برد و مدعی کارایی بهتر شد. همانطور که در فرمول شماره 3 نشان داده شده است عدد 4 به این دلیل انتخاب شده که حد وسط بازه امتیازهای 1 تا 7 است. Ringo عضویت در همسایگی را فقط با انتخاب همسایگانی که همبستگی آنها بیشتر از یک حد آستانه ثابت است محدود کرد. با بزرگتر شدن حد آستانه دقت بیشتر میشود ولی تعداد اقلامی که سیستم پیشنهادگر قادر به پیشبینیشان است کاهش مییابد.
w_(a,u)=(∑_(i=1)^m▒〖[(〗 r_(a,i)-4)(r_(u,i)-4)])/√(∑_(i=1)^m▒〖(r_(a,i)-4)^2 ∑_(i=1)^m▒〖(〖r_(u,i)-4)〗^2 〗〗) (3)
به تدریج این سیستم به صورت تجاری در آورده شد و در سال 1995 نام آن به Firefly تغییر یافت. این سیستم حاوی یک رابط به صورت صفحه وب و فروشگاه دیسک فشرده29 رویخط بود و همچنین قادر بود برای انواع فیلم پیشتهاد تولید کند. این سیستم گسترش وسیعی کرد تا جایی که درسال 1998 توسطMicrosoft پذیرفته شد و به
Microsoft Passport تغییر یافت.
در [10]سیستم پیشنهادگر ویدیو 30Bellcoreنیز بر اساس الگوریتم اصلی Grouplens توسعه یافت. سیستم پیشنهادگر ویدیو Bellcore از همبستگی پیرسون برای وزندهی تعدادی از همسایهها که به طور تصادفی انتخاب شده بودند استفاده نمود. سپس بهترین همسایگان را انتخاب و برای پیشبینی یک رگرسیون31 کامل چندگانه روی آنها اعمال کرد.
مهمترین اتفاق اخیر در رابطه با سیستمهای پیشنهادگر اعلام جایزهی Netflix در اواخر سال 2006 بوده است.Netflix انجمن کرایه DVDاز آمریکا، پایگاه دادهای از امتیازهایی که کاربران به فیلمها اختصاص دادهاند منتشر کرد که به روز بود و همچنان به عنوان بزرگترین مجموعه امتیازدهی کاربران باقی مانده است. آنها اجتماع وسیعی را برای بهترکردن پیشبینی سیستمشان به میزان حداقل 10% به رقابت طلبیدند و جایزه یک میلیون دلاری برای آن درنظر گرفتند. بیشتر از 20000 تیم درطی 3 سال به این موضوع پرداختند و طی این رقابت مسائلی ازقبیل فاکتورگیری ماتریس32، متدهای جمعی33 و دینامیکهای موقتی34 یاد گرفته شد[11] .
در [12] یک تحلیل تجربی روی الگوریتمهای فیلترینگ اشتراکی مبتنی بر همسایگی انجام شد. برای تعیین میزان شباهت معیارهای همبستگی پیرسون و کسینوس35 با هم مقایسه شدند و دریافته شد که همبستگی پیرسون بهتر کار میکند. اگرچه پس از آن در [12] اظهار شد که این دو معیار ممکن است یکسان عمل کنند.
در [13] راهکار امید بخش تشخیص هویت36 برای سیستمهای فیلترینگ اشتراکی ارائه شده که مدل Bayesian و روشهای مبتنی بر همسایگی را ترکیب میکند. خصوصیت خوبی که این راهکار دارد این است که یک توزیع احتمالی از امتیاز به جای مقدار واقعی امتیاز تولید میکند. این توزیع میتواند برای مشخص کردن میزان اعتماد به پیشبینی استفاده شود. همچنین ادعا شده است که این راهکار برای دادههای فیلم که شبیه به دادههایی است که ما در پژوهشها استفاده میکنیم در انتخاب نزدیکترین همسایهها دقیقتر از همبستگی عمل میکند.

در [14] روشی ارائه شده که با استفاده از آن میتوان پارامترهای مربوط به فیلترینگ اشتراکی را برای هر کاربر شخصیسازی کرد. از جمله این پارامترها تعداد افرادی میباشد که در گروه همسایگی هر کاربر شرکت میکنند. این کار توسط شبیهسازی تکراری مجموعه دادههای آموزشی و درستی سنجی برای هر کاربر بهطور جداگانه صورت میگیرد.
در [15] روشی برای حل مشکل پراکندگی امتیازها در ماتریس کاربران- اقلام ارائه شده است. این مشکل زمانی به وجود میآید که تعداد اقلام بدون امتیاز بسیار بیشتر از تعداد اقلام امتیازدهی شده باشد. در این روش ابتدا مدلهایی از فیلترینگ اشتراکی به کار برده میشوند تا امتیازهای اقلام بدون امتیاز پیشبینی شوند. سپس با استفاده از نتایج حاصل شده امتیاز قلم مورد نظر با اطمینان بیشتر تعیین میگردد.
در [16]راه حلی برای مشکل شروع سرد37 در سیستمهای فیلترینگ اشتراکی ارائه شده است. مشکل شروع سرد زمانی به وجود میآید که سیستم بخواهد برای کاربری جدید که تا کنون امتیازی به اقلام نداده و یا قلمی جدید که تا کنون امتیازی از کاربران دریافت نکرده پیشبینی نماید. این روش به جای استفاده از بردار امتیازدهی به تنهایی، از ترکیب خطی یا آبشاری بردارهای شخصیت و بردارهای امتیازدهی برای تعیین میزان شباهت کاربران به یکدیگر استفاده میکند. بردار شخصیت، برداری دو قطبی است که هر مولفه آن تعیین کننده یک خصوصیت از شخصیت کاربر مورد نظر میباشد.
در [17] راهکاری ارائه شده که توسط آن میتوان به گروهی از کاربران گروهی از اقلام را پیشنهاد کرد. در سیستمهای فیلترینگ اشتراکی معمولی اقلامی که برای پیشنهاد به هر کاربر میتوانند مناسب باشند به طور جداگانه مشخص و سپس از نتایج حاصل شده اشتراک گرفته میشود. در روش پیشنهاد شده از نزدیکترین همسایگان تمامی کاربران موجود در گروه موردنظر اشتراک گرفته میشود. حاصل یک مجموعه مشترک از همسایگان برای تمام کاربران موجود در گروه میباشد. سپس با استفاده از این همسایگان مشترک قلم یا اقلامی به گروه مذکور پیشنهاد میگردد.
در [18] یک معیار جدید برای اندازهگیری میزان شباهت کاربران در سیستمهای فیلترینگ اشتراکی ارائه شده است. در این روش مشکل اختلاف ابعاد بین بردارهای امتیازدهی کاربران حل شده است. به بیان دیگر میزان شباهت دو کاربر با توجه به تعداد اقلامی که هر دو به آنها رای دادهاند تعیین میگردد. در صورتی که واحدهای اندازهگیری مانند همبستگی پیرسون این اختلاف ابعاد را در نظر نمیگیرند.
در [19]راهکاری جدید برای فیلترینگ اشتراکی مبتنی بر حافظه ارائه شده است. در این روش پیشنهاد اقلام مستقل از بازه امتیازات کاربر و بر اساس احتمال38 پیشبینی است و بررسی شده است که چطور این احتمالات میتوانند برای جمع آوری انواع مختلف وابستگیها-ی بین امتیازها در راستای انتخاب نزدیکترین همسایهها مورد استفاده قرار گیرند. در این روش معیار انتخاب همسایگی به توانایی کاربر در پیشبینی امتیازهای گذشته بستگی دارد. فرضیه این بوده است که اگر کاربری در پیشبینی امتیازهای گذشته کاربر مورد نظرخوب بوده است در آینده هم برای پیشبینی امتیازهای او خوب خواهد بود.
در [20] یک راهکار مبتنی بر هسته ارائه شده است. ایده اصلی این راهکار یافتن یک نگاشت چند خطی بین دو فضای برداری است. این راهکار بر اساس کاربران و بر اساس اقلام و همچنین تلفیق این دو مورد ارائه شده است. همچنین نشان داده شده است که چگونه میتوان اطلاعات تکمیلی نظیر ژانر فیلمها را در این راهکار استفاده و چگونه پیشنهاداتی قابل اعتماد با وجود مشکلاتی مانند پراکندگی و شروع سرد به کاربران ارائه نمود.
2-3- مبانی فیلترینگ اشتراکی
فیلترینگ اشتراکی یکی از بهترین راهکارها در سیستمهای پیشنهادگر میباشد. این روش به خاطر استفادهاش در سایتهای تجارت الکترونیک مانند AMAZOONو NETFLIX به خوبی شناخته شده است. این متد کاربرانی که علائقشان شبیه به کاربر فعال میباشند را پیدا کرده و از این طریق پیشنهادات را به او ارائه میدهد. یعنی فرض بر این است که کاربرانی که در گذشته تمایلاتی شبیه به هم داشتهاند احتمالا در آینده هم تمایلات مشابه دارند و چون قبلا به اقلام به طور مشابه ابراز علاقه کردهاند به اقلامی که تا کنون ندیدهاند نیز به طور مشابه علاقه نشان خواهند داد. فیلترینگ اشتراکی معمولا به مشارکت داشتن کاربران فعال، راهی برای نشان دادن سلیقه کاربران به سیستم و الگوریتمی که کاربران با سلیقه مشابه را شناسایی کند نیازمند میباشد.
به طور کلی فضای اطلاعاتی در فیلترینگ اشتراکی مبتنی بر یک ماتریس M * N است که ماتریس کاربران – اقلام نام دارد. M نشان دهنده تعداد کاربران و N نشان دهنده تعداد اقلام میباشد. همانطور که در (شکل شماره 5) مشاهده میکنید rm,n نشان دهنده نمرهای میباشد که کاربر m ام به قلم n ام اختصاص داده است.
شکل شماره 5 : ماتریس امتیازدهی کاربران- اقلام
2-4- وظایف فیلترینگ اشتراکی
وظایف فیلترینگ اشتراکی به دو دسته ارائه پیشنهاد به کاربران و پیشبینی امتیاز اقلام دیده نشده تقسیم میشوند که در ادامه هر کدام را به تفکیک توضیح خواهیم داد.
2-4-1- پیشنهاد
در این حالت لیستی از اقلام به کاربران ارائه میشود که بر حسب میزان مفید بودنشان برای کاربر مرتب شدهاند. یعنیN مورد از بهترین پیشنهادات را به او ارائه میدهد. برای تولید پیشنهاد، اطلاعات مربوط به تمام اقلام نیاز نمیباشد.
2-4-2- پیشبینی
در این حالت پیشبینی میشود که کاربر به قلمی که تا کنون ندیده است چه امتیازی خواهد داد. برای پیشبینی اطلاعات مربوط به تمام اقلام حتی آنهایی که به ندرت امتیازدهی شدهاند مورد نیاز است. همچنین الگوریتمهایی که سیستم برای پیشبینی به کار میبرد به حافظه و زمان محاسباتی بیشتری نسبت به الگوریتمهای تولید پیشنهاد نیاز دارد.
2-5- دسته بندی متدهای فیلترینگ اشتراکی
متدهای فیلترینگ اشتراکی به دو گروه کلی فیلترینگ اشتراکی مبتنی بر همسایگی39 یا مبتنی بر حافظه40 و فیلترینگ اشتراکی مبتنی بر مدل41 تقسیم میشوند.[12]
الگوریتمهای موجود در گروه فیلترینگ اشتراکی مبتنی بر همسایگی یا مبتنی بر حافظه نسبت به الگوریتمهای موجود در فیلترینگ اشتراکی مبتنی بر مدل رایجتر میباشند اما قابل ذکر است که این الگوریتمها نیازمند حافظه بیشتری هستند. از نظر کارایی الگوریتمهای موجود در گروه مدل محور نتایج قابل توجهی را ارائه میدهند. اما از نظر دقت به جز تحقیقات اخیر[21] نتایج خوبی به دست نیاوردهاند. الگوریتمهای حافظه محور به طور عمده بر الگوریتم KNN استوار میباشند.
از تلفیق دو دسته مدل محور و حافظه محور مدل تلفیقی به وجود میآید که هدف آن تلفیق مزیت هر دو دسته است . [22]هم اکنون تحقیقات در راه پیشروی به سمت مدل تلفیقی میباشد .[23]
در راهکار مبتنی بر حافظه پیشبینی به دو صورت براساس کاربران و براساس اقلام انجام میپذیرد .[24]اختلاف نظرهایی در مورد اینکه پیشبینی بر اساس اقلام مبتنی بر حافظه و یا مبتنی بر مدل است وجود دارد ؛ در [25] اعلام شده است که الگوریتمهای بر اساس اقلام همیشه مبتنی بر حافظه هستند و در [26] این الگوریتمها بر اساس مدل کلاس بندی شدهاند.
2-5-1- فیلترینگ اشتراکی مبتنی بر حافظه
در فیلترینگ اشتراکی مبتنی بر همسایگی یا مبتنی بر حافظه سرتاسر ماتریس کاربران – اقلام بررسی میشود (شکل شماره 6). در این ماتریس که در حافظه ذخیره شده است امتیازهایی که کاربران به اقلام مختلف دادهاند وجود دارد. این ماتریس به صورت مستقیم برای پیشبینی نمره اقلامی که تا کنون هیچ امتیازی دریافت نکردهاند به کار میرود [19]. یعنی این محاسبات به صورت برون خط42 انجام نمیپذیرد و همه چیز به صورت بر خط انجام میشود و همواره کل دادهها مورد نیاز میباشد. مزیت این روش این است که در هر زمان کل اطلاعات در دسترس میباشد اما با بزرگ شدن ماتریس یعنی تعداد کاربران و اقلام، فضای جستجو، حافظه مورد نیاز و زمان محاسبه افزایش مییابد.
همانطور که گفته شد در راهکار مبتنی بر حافظه پیشبینی به دو صورت پیشبینی بر اساس کاربران43 و پیشبینی براساس اقلام44 انجام میشود.

2-5-1-1- فیلترینگ اشتراکی مبتنی بر حافظه با پیش بینی براساس کاربران
در سیستمهای مبتنی برکاربر پیشبینی بر اساس ارزیابی امتیازهایی که توسط کاربران مشابه با کاربر فعال به اقلام مورد نظر تخصیص یافته انجام میپذیرد [27]. کاربران شبیه آنهایی هستند که الگوی امتیازدهیشان شبیه به کاربر فعال باشد (شکل شماره 6(.
یکی از چالشهای اصلی در این مدل نحوه پیدا کردن میزان شباهت بین کاربران میباشد. زیرا با استفاده از معیار شباهت شبیهترین همسایگان به کاربر فعال انتخاب و در پیشبینی استفاده میشوند.
2-5-1-2- فیلترینگ اشتراکی مبتنی بر حافظه با پیش بینی براساس اقلام
سیستمهای مبتنی بر اقلام امتیاز یک قلم خاص را بر اساس امتیازهایی که کاربر به اقلام مشابه داده است پیشبینی میکنند [28] . دو قلم در صورتی به هم شبیه هستند که چند کاربر به طور مشابه به آنها رای داده باشند (شکل شماره 7).
شکل شماره 6: فیلترینگ اشتراکی مبتنی بر قلم شکل شماره 7 : فیلترینگ اشتراکی مبتنی بر کاربر
2-5-1- 3- تفاوت فیلترینگ اشتراکی بر اساس کاربران و بر اساس اقلام
فیلترینگ اشتراکی بر اساس اقلام زمانی به کار میرود که روند افزایش اقلام کندتر از روند افزایش کاربران باشد [28]. ولی در زمانی که روند افزایش اقلام سریعتر از روند افزایش کاربران باشد فیلترینگ اشتراکی بر اساس کاربران به کار می رود .[29] به عنوان مثال اگر اقلامی مانند اخبار، مورد پژوهش باشد استفاده از روش قلم مبنا نامناسب خواهد بود و در صورتی که از این روش به عنوان مدل محور استفاده گردد به علت افزایش بسیار سریع اقلام مشکل سربار زیاد محاسباتی برای به روز رسانی مدل به وجود خواهد آمد. بر عکس اگر اقلامی مانند فیلم یا کتاب مورد پژوهش باشد استفاده از این روش مناسب خواهد بود.
2-5-2- فیلترینگ اشتراکی مبتنی بر مدل
برخلاف سیستمهای مبتنی بر حافظه که امتیازهای ذخیره شده را به طور مستقیم درپیشبینی به کار میبرند، سیستمهای مبتنی بر مدل از این امتیازها برای یادگیری یک مدل پیشبینی استفاده میکنند. یعنی پارامترهای مدل به صورت برون خطی یاد گرفته میشوند و دیگر نیازی نیست که هر بار ماتریس امتیازدهی کاربران- اقلام بررسی شود. این مدل بر اساس دادههای موجود آموزش45 داده میشود و در آینده برای پیشبینی امتیازهایی که کاربران به اقلام جدید خواهند داد به صورت روی خط به کار میرود [4]. به همین دلیل نسبت به فیلترینگ اشتراکی مبتنی بر حافظه از سرعت بیشتری برخوردار است. این مدل میتواند یک الگوریتم یادگیری ماشین46 یا داده کاوی47 باشد [30]. در گذشته الگوریتمهای موجود در حوزه یادگیری ماشین مانند شبکههای بیز48 [8] و خوشه بندی49 [31,32] بسیار مورد توجه بودهاند .[28] اگر چه امروزه الگوریتمهای فاکتورسازی ماتریس بسیار مورد توجه واقع شدهاند اما همچنان الگوریتمهای خوشه بندی جایگاه خود را حفظ کردهاند.
2-6- نحوه تشخیص علائق کاربران
تشخیص میزان علائق کاربران نسبت به اقلام متفاوت یکی از مهمترین وظایف فیلترینگ اشتراکی میباشد. هر بار که کاربری در مورد قلمی خاص ابراز علاقه میکند مقدار جدیدی در نمایه او اضافه میشود. به دو صورت صریح و ضمنی میتوان علائق کاربر را استخراج نمود.
2-6-1- تشخیص علائق به صورت صریح

برای این منظور سیستمهای پیشنهادگر تمایلی که کاربر به صورت واضح و آشکار نسبت به محصولات نشان میدهد مثل نمرههایی که به اقلام نسبت داده است را در یک پایگاه داده جمع آوری میکند. کاربر میتواند علائق خود را به طور صریح در غالب تک بیتی باینری یک و صفر به معنای خوب و بد و یا به صورت بازهای از اعداد که نشان دهنده میزان تمایل کاربر به قلم است نشان دهد. .به عنوان مثال اگر بازه امتیازدهی، اعداد 1 تا 5 باشد نسبت دادن امتیاز 1 از سوی کاربر به معنای عدم علاقه و اختصاص دادن امتیاز 5 به معنای علاقه کاربر به قلمی خاص میباشد [7,9].
2-6-2- تشخیص علائق به صورت ضمنی
برای این منظور سیستم به صورت ضمنی بعضی رویدادها مثل حرکت اشارهگر به سمت محصولی خاص را در نظر میگیرد [24]. در این روش کاربر تمایلاتش را به طور صریح و در قالب امتیاز نشان نمیدهد بلکه از رفتارش علائقاو محاسبه میشود .[33,34,35,36]
این پایان نامه فقط بر استنباط علائق به طور صریح متمرکز شده است. یعنی تمایلات کاربران باید به صورت نسبت دادن امتیاز به اقلام مشخص شده باشد.
2-7- محاسبه شباهت
برای پیشبینی یا ارائه پیشنهاد توسط فیلترینگ اشتراکی میبایست شبیهترین کاربران به کاربر فعال را پیدا کرد و به عنوان مجموعه همسایگی کاربر فعال در نظر گرفت. برای اندازهگیری میزان شباهت بین دو کاربر راهکارهای متفاوتی ارائه شده است که در اینجا دو مورد از معیارهای شباهت رایج که در فیلترینگ اشتراکی استغاده میشوند را معرفی میکنیم.
2-7-1- معیار همبستگی پیرسون
این معیار میزان وابستگی بین الگوهای امتیازدهی دو کاربر (دو قلم) را میسنجد (فرمول شماره 4). نتیجه حاصل از این فرمول عددی بین 1 و 1- میباشد. عدد 1 نشان دهنده بیشترین شباهت، 1- نمایانگر کمترین شباهت میباشد و اگر نتیجه عدد 0 باشد یعنی دو موجودیت مورد مقایسه با هم هیچ ارتباطی ندارند.
PC(u,v)=(∑_j▒〖(r_(u,j)-r ̅_u ).(r_(v,j)-r ̅_v)〗)/√(∑_j▒〖〖〖(r〗_(u,j)-r ̅_u)〗^2.∑_j▒〖〖(r〗_(v,j)-r ̅_v)〗^2 〗) (4)
از فرمول فوق برای اندازهگیری میزان شباهت دو کاربر u و v استفاده میشود. r_(u,j) نشان دهنده امتیازی که کاربر u به قلم j ام اختصاص داده میباشد. r ̅_u میانگین کل امتیازهایی که کاربر u به اقلام نسبت داده است میباشد.
فرمول زیر با کمی تغییر شباهت بین دو قلم i و j را اندازهگیری میکند.
PC(i,j)=(∑_u▒〖(r_(u,i)-r ̅_i ).(r_(u,j)-r ̅_j)〗)/√(∑_j▒〖〖〖(r〗_(u,i)-r ̅_i)〗^2.∑_j▒〖〖(r〗_(u,j)-r ̅_j)〗^2 〗) (5)
2-7-2- معیار اندازهگیری کسینوس
معیار شباهت کسینوسی در حوزه بازیابی اطلاعات بسیار رایج است و برای اندازه گیری شباهت بین دو سند به کار میرود [37]. این معیار میزان شباهت دو کاربر (دو قلم) را با استفاده از کسینوس زاویه بین بردارهای امتیازدهی آنها مشخص میکند (فرمول شماره 6). نتیجه حاصل عددی بین 1- و 1 میباشد. هر چه عدد حاصل شده بزرگتر باشد یعنی دو موجودیت مورد مقایسه بیشتر به هم شبیه هستند و هر چه این عدد کوچکتر باشد یعنی دو موجودیت کمتر به هم شبیه هستند.
Cos⁡(U,V)=(∑_(i∈r_u∩r_v)▒〖r_(u,i) r_(v,j) 〗)/√(∑_(i∈r_u)▒〖r_(u,i)^2 ∑_(i∈r_v)▒r_(v,j)^2 〗) (6)
اگرچه این معیار در حوزه بازیابی اطلاعات به خوبی کار میکند [37,38]اما برای محاسبه شباهت در فیلترینگ اشتراکی کاربر مبنا به خوبی معیار همبستگی پیرسون عمل نمیکند [12].
در این پایان نامه با کمی تغییر از معیار همبستگی پیرسون برای اندازه گیری میزان شباهتها استفاده شده که در فصل 4 به تفصیل توضیح داده شده است.
2-8- انتخاب همسایه
وقتی میزان شباهت تمام کاربران با کاربر فعال به دست آمد هم از نظر صحت و هم از نظر کارایی بهتر است زیر مجموعهای از شبیهترین آنها را انتخاب و با استفاده از آنها امتیاز قلم دیده نشده را پیشبینی کرد [18,34]. برای این کار دو راه استفاده از حد آستانه و انتخاب تعداد ثابتی از همسایگان وجود دارد.

2-8-1- استفاده از حد آستانه
در این روش یک



قیمت: تومان

دسته بندی : مقاله و پایان نامه

دیدگاهتان را بنویسید