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- پيشبيني
در اين حالت پيشبيني ميشود که کاربر به قلمي که تا کنون نديده است چه امتيازي خواهد داد. براي پيشبيني اطلاعات مربوط به تمام اقلام حتي آنهايي که به ندرت امتيازدهي شدهاند مورد نياز است. همچنين الگوريتمهايي که سيستم براي پيشبيني به کار ميبرد به حافظه و زمان محاسباتي بيشتري نسبت به الگوريتمهاي توليد پيشنهاد نياز دارد.


پاسخ دهید