A Collaborative Filtering Movie Recommendation System Based on Users Correlation and Weighted K-Means with High Accuracy
Subject Areas :Nozar Ebrahimi Lame 1 , Fatemeh saghafi 2 , Majid Gholipour 3
1 - PhD. Student in IT Management, Islamic Azad University, Qazvin Branch, Qazvin, Iran
2 - Associate Prof. of University of Tehran
3 - Faculty Member of Islamic Azad University, Qazvin Branch
Keywords: Recommendation Systems, Content Based filtering, Collaborative filtering, movie,
Abstract :
A Recommendation system is a BI tool that it uses data mining methods for guiding and helping the user to select the best items based on her/his preferences and in the shortest time. Despite more than two decades of academic research on recommendation systems, this issue is still one of the most up-to-date research challenges. Recommendation systems save the users time, increase their satisfaction and their loyalty to sales sites and lead to the development of e-commerce, by personalizing the recommendations of goods or services to site users. Nowadays, recommendation systems have many applications in various sectors of e-commerce, especially in media products such as books, movies, and music. The famous e-commerce sites such as eBay, Amazon, and Netflix and domestic sites such as Digikala, Divar, and Filimo widely use recommendation systems. These systems use a variety of big data filtering methods to provide appropriate recommendations. The most important and widely used filtering method is collaborative filtering (CF). In this paper, we implement three CF recommender systems based on the correlation coefficient between users, selecting the optimal number of neighbors and calculating weighted scores for unwatched movies. The best method with the least error is selected as the desired model. We use Movielens ml-latest-small 100k research dataset with 9742 movies and 610 users as input. The results showed 3.29% less RMSE error compared with the latest research that has used the correlation method.
[1] H. Øverby and Jan A. Audestad, 2018, Digital Economics. .
[2] P. M. Alamdari, N. J. Navimipour, M. Hosseinzadeh, A. A. Safaei, and A. Darwesh, “A Systematic Study on the Recommender Systems in the E-Commerce,” IEEE Access, vol. 8, pp. 115694–115716, 2020, doi: 10.1109/ACCESS.2020.3002803.
[3] Y. Zhang, H. Abbas, and Y. Sun, “Smart e-commerce integration with recommender systems,” Electronic Markets, vol. 29, no. 2. pp. 219–220, 2019, doi: 10.1007/s12525-019-00346-x.
[4] G. Lekakos and P. Caravelas, “A hybrid approach for movie recommendation,” Multimed. Tools Appl., vol. 36, no. 1–2, pp. 55–70, 2008, doi: 10.1007/s11042-006-0082-7.
[5] S. K. Raghuwanshi and R. K. Pateriya, “Recommendation systems: Techniques, challenges, application, and evaluation,” in Advances in Intelligent Systems and Computing, vol. 817, 2019, pp. 151–164.
[6] Aggarwal, C.C., Recommender systems. Vol. 1. 2016: Springer
[7] R. Singla, S. Gupta, A. Gupta, and D. K. Vishwakarma, “FLEX: A content based movie recommender,” 2020 Int. Conf. Emerg. Technol. INCET 2020, pp. 8–11, 2020, doi: 10.1109/INCET49848.2020.9154163.
[8] R. Ahuja, A. Solanki, and A. Nayyar, “Movie Recommender System Using K-Means Clustering AND K-Nearest Neighbor(2019).pdf,” Proc. 9th Int. Conf. Cloud Comput. Data Sci. Eng. Conflu. 2019, pp. 263–268, 2019, doi: 10.1109/CONFLUENCE.2019.8776969.
[9] G. Geetha, M. Safa, C. Fancy, and D. Saranya, “A Hybrid Approach using Collaborative filtering and Content based Filtering for Recommender System,” J. Phys. Conf. Ser., vol. 1000, no. 1, 2018, doi: 10.1088/1742-6596/1000/1/012101.
[10] S. M. Choi, S. K. Ko, and Y. S. Han, “A movie recommendation algorithm based on genre correlations,” Expert Syst. Appl., vol. 39, no. 9, pp. 8079–8085, 2012, doi: 10.1016/j.eswa.2012.01.132.
[11] en.wikipedia.org/wiki/Netflix_prize
[12] https://aparat.design/recommendation-systems-in-filimo-cqzge4gfsevi
[13] S. M. Choi, S. K. Ko, and Y. S. Han, “A movie recommendation algorithm based on genre correlations,” Expert Syst. Appl., vol. 39, no. 9, pp. 8079–8085, 2012, doi: 10.1016/j.eswa.2012.01.132.
[14] Z. T. Jian Wei a , Jianhua He a , ∗, Kai Chen b , Yi Zhou c, “Collaborative filtering and deep learning based recommendation system for cold start items.” 2016.
[15]حیدری, ب.، پروین نیا,ا.، 1396، ارائه مدلی برای سیستم های توصیه گر فیلم مبتنی بر رویکرد مشارکت محور، مجله فناوری اطلاعات در طراحی مهندسی، دوره 10، شماره 1، شهریور 1396، صفحه 1 تا 9
[16] Notley, S. and M. Magdon-Ismail, Examining the use of neural networks for feature extraction: A comparative analysis using deep learning, support vector machines, and k-nearest neighbor classifiers. arXiv preprint arXiv:1805.02294, 2018
[17] S. Reddy, S. Nalluri, S. Kunisetti, S. Ashok, and B. Venkatesh, “Content-based movie recommendation system using genre correlation,” in Smart Innovation, Systems and Technologies, 2019, vol. 105, pp. 391–397, doi: 10.1007/978-981-13-1927-3_42.
[18] Behera, D.K., M. Das, and S. Swetanisha, Predicting Users’ Preferences for Movie Recommender System Using Restricted Boltzmann Machine, in Computational Intelligence in Data Mining. 2019, Springer. p. 759-769
[19] C. H. Lin and H. Chi, A Novel Movie Recommendation System Based on Collaborative Filtering and Neural Networks, vol. 926. Springer International Publishing, 2020.
[20] Furtado, F. and A. Singh, Movie recommendation system using machine learning. International Journal of Research in Industrial Engineering, 2020. 9(1): p. 84-98
[21] X. Li, H. Zhao, Z. Wang, and Z. Yu, “Research on Movie Rating Prediction Algorithms,” 2020 5th IEEE Int. Conf. Big Data Anal. ICBDA 2020, pp. 121–125, 2020, doi: 10.1109/ICBDA49040.2020.9101282.
[22] D. Lee and K. Hosanagar, “Impact of recommender systems on sales volume and diversity,” 35th Int. Conf. Inf. Syst. "Building a Better World Through Inf. Syst. ICIS 2014, pp. 1–15, 2014.
[23] F. Ricci, L. Rokach, B. Shapira, P. B. Kantor, and F. Ricci, Recommender Systems Handbook. 2011.
[24] K. Falk, “Practical Recommender Systems.” p. 406, 2019.
[25]حسینی، م.؛ نصرالهی، م.؛ بقایی، ع.1397، یک سامانه توصیه گر ترکیبی با استفاده از اعتماد و خوشه بندی دو جهته به منظور افزایش کارائی پالایش گروهی
[26] صابری، ن.؛ منتظر، غ. 1389، شخصي سازي محيط يادگيري الكترونيكي به كمك توصيه گر فازي مبتني برتلفيق سبك يادگيري و سبك شناختي، فصلنامه علمی-پژوهشی فناوری اطلاعات و ارتباطات ایران، سال دوم، شماره های 3و4
[27] Widiyaningtyas, T., Hidayah, I., & Adji, T. B. (2021). User profile correlation-based similarity (UPCSim) algorithm in movie recommendation system. Journal of Big Data, 8(1). https://doi.org/10.1186/s40537-021-00425-x
نوذر ابراهیمی لامع و.... دو فصلنامه فناوری اطلاعات و ارتباطات ایران، سال چهاردهم، شماره های 51 و 52 ، بهار و تابستان 1401 ، صفحه 73 الی 82
|
دو فصلنامه علمي فناوري اطلاعات و ارتباطات ایران | سال چهاردهم، شمارههای 51 و 52 ، بهار و تابستان 1401 |
|
سیستم توصیه گر فیلم فیلتر اشتراکی مبتنی بر ضریب همبستگی بین کاربران و محاسبه میانگین وزنی امتیازات با دقت بالا
نوذر ابراهیمی لامع* دکتر فاطمه ثقفی** دکتر مجید قلی پور***
*دانشجوی دکترای مدیریت فناوری اطلاعات، گروه مدیریت سیستم های اطلاعاتی، دانشگاه آزاد اسلامی، واحد قزوین، قزوین، ایران
**دانشیار دانشکده مدیریت دانشگاه تهران، تهران، ایران
***استادیار دانشکده برق و رایانه، دانشگاه آزاد اسلامی، واحد قزوین، قزوین، ایران
تاریخ دریافت:14/01/1400 تاریخ پذیرش:09/06/1400
نوع مقاله: پژوهشی
چکیده
سیستم های توصیه گر، وظیفه راهنمایی و هدایت کاربر جهت انتخاب بهینه آیتم ها، مطابق با علائق و سلیقه های آنها را بر عهده دارند. علی رغم حدود سه دهه سابقه تحقیقات بر روی سیستم های توصیه گر، ولی موضوع مذکور هنوز یکی از چالش های تحقیقاتی به روز می باشد. این سیستم ها با شخصی سازی پیشنهادات، باعث صرفه جویی در وقت و افزایش رضایت کاربران می گردند. این سیستم ها در اغلب سایت های معتبر خارجی و داخلی مورد استفاده قرار گرفته اند. در سیستم های توصیه گر، مهم ترین و پرکاربردترین روش پالایش داده ها، روش پالایش اشتراکی می باشد. در این مقاله نسبت به پیاده سازی سه سیستم توصیه گر فیلتر اشتراکی مبتنی بر محاسبه ضریب همبستگی بین کاربران، انتخاب تعداد بهینه همسایه ها و محاسبه امتیازات وزنی اقدام شده و بهترین روش با کمترین خطا به عنوان مدل مورد نظر انتخاب شده است. ورودی سیستم داده های تحقیقاتی مووی لنز با حدود 100 هزار امتیاز می باشد. روش بکار رفته نسبت به آخرین مقاله ای که از روش همبستگی ترکیبی استفاده کرده است 29/3 درصد مقدار خطای RMSE را بهبود می بخشد.
واژگان کلیدی: سیستم های توصیه گر، ضریب همبستگی، فیلتر اشتراکی، فیلم.
1. مقدمه
آغاز عصر اینترنت و ارتقاء آن به وب 21و امکان تبادل اطلاعات دو طرفه، باعث تغییرات وسیعی در بسیاری از عرصه ها از جمله شروع و گسترش روز افزون تجارت الکترونیک2 گردید[1][2].
در این بین امکان ارائه پیشنهادات شخصی سازی شده برای هر کاربر بصورت اختصاصی باعث توسعه بیشتر این نوع تجارت خصوصا" در شاخه B2C گردید. زیرا شخصی سازی پیشنهادات، ضمن صرفه جویی در زمان جستجو و افزایش رضایت خریدار، باعث گردش سریع تر کسب وکار و افزایش فروش می گردد[2][3][4] [5].
برای ارائه چنین توصیه های اختصاصی، نیاز به سیستم های نرم افزاری می باشد که از اطلاعات آیتم ها و کاربران استفاده کرده و با الگوریتم ها و روش های مختلف داده کاوی، نسبت به پردازش اطلاعات و ارائه پیشنهادات متناسب با اولویت ها و سلائق مشتری اقدام نمایند. این نوع نرم افزارها را سیستم های توصیه گر یا پیشنهاد دهنده می نامند3 [6][7].
از بین روش ها و الگوریتم های گوناگون ارائه پیشنهاد توسط سیستم های توصیه گر، معروف ترین و پر کاربردترین آنها روش فیلتر اشتراکی یا فیلتر مشارکتی4 می باشد. در این روش از ماتریس امتیاز کاربران به آیتم ها استفاده می شود. البته این روش علی رغم مزایای متعدد و کاربردهای فراوان، دارای نقاط ضعف هایی مانند شروع سرد5 و ماتریس خالی6 نیز می باشد [6][8].
روش پایه فیلتر محتوا محور7 نیز یکی از روش های مرسوم در این زمینه می باشد. این روش مبتنی بر استفاده از ویژگی های محصولات یا آیتم ها و شباهت بین آنها می باشد. این روش نسبت به روش فیلتر اشتراکی دارای سرعت عمل بالاتری می باشد ولی از نظر دقت پیش بینی امتیازات، دارای دقت پائین تری می باشد و از طرفی میزان دقت پیشنهادات آن بستگی به تعداد ویژگی هایی دارد که برای بدست آوردن همبستگی بین آیتم ها بکار برده می شود.
گستردگی محصولات رسانه ای از نظر تنوع و مخاطب، و از طرفی سرعت و سادگی تبادل این محصولات بین فروشنده و خریدار، باعث گردیده تا سیستم های توصیه گر در صنعت رسانه دارای کاربردهای فراوانی باشد [10]. در بین محصولات رسانه ای نیز فیلم از جایگاه بالاتری نسبت به سایر محصولات برخوردار است. یکی از اتفاقات تاثیر گذار در گسترش روش ها و الگوریتم های سیستم های توصیه گر خصوصا" در زمینه فیلم، مسابقه یک میلیون دلاری شرکت نتفلیکس8 در اکتبر 2006، جهت ارتقاء سیستم توصیه گر فیلم خود بود. شرکت نتفلیکس اقدام به برگزاری مسابقه ای با هدف ارتقاء 10% دقت پیشنهادات با روش فیلتر اشتراکی نمود. این مسابقه باعث گردید روش های نوظهور بسیاری برای سیستم های توصیه گر بر پایه روش فیلتر اشتراکی توسعه داده شود. جایزه یک میلیون دلاری این مسابقه پس از سه سال در سپتامبر 2009 به یک تیم تحقیقاتی که به ارتقاء دقت به میزان %10.06 دست یافته بودند، تعلق گرفت9 [11].
سابقه تحقیقات دانشگاهی در موضوع سیستم های توصیه گر در دنیا، به حدود سه دهه قبل بر می گردد، ولی هنوز موضوع مذکور به جهت کاربردها و مزایای فراوان به ویژه در تجارت B2C، یکی از موضوعات تحقیقاتی به روز می باشد.
بررسی علمداری و همکاران (2020) [2]، بر روی مقالات منتشر شده توسط جستجوگر گوگل اسکولار با جستجوی کلمات کلیدی "Recommendation Systems" و "E-Commerce" نشان می دهد از بین 358 مقاله یافت شده در این موضوعات، 289 مورد آن (بیش از 80%) بین سال های 2008 تا 2019 انتشار یافته اند که نشانگر فعال بودن موضوع تحقیق می باشد.
البته برخلاف چنین سابقه تحقیقاتی در دنیا، بررسی نویسندگان نشان می دهد تعداد کارهای تحقیقاتی در زمینه سیستم های توصیه گر در داخل کشور محدود بوده و در زمینه مقالات منتشر شده در مجلات معتبر داخلی برای سیستم های توصیه گر فیلم ، نتایج جستجو در گوگل اسکولار10، ایران داک11 و مگیران12 و با کلمات کلیدی "سیستم های توصیه گر فیلم " و "سیستم های پیشنهاد دهنده فیلم"، منجر به یافتن تعداد بسیار اندکی مقاله (5 مقاله) به زبان فارسی گردید. البته سیستم های توصیه گر در شرکت های معتبر داخلی مانند دیجی کالا، نماوا و فیلیمو مورد استفاده قرار می گیرد ولی در خصوص روش های بکار رفته و میزان دقت و کارائی آنها مطالب اندکی می توان یافت. در این خصوص، به عنوان یکی از کارهای ارزنده و به روز می توان به سیستم توصیه گر شرکت فیلیمو اشاره کرد که حاصل کار تیمی قوی می باشد [12]، ولی در مقایسه با سایت های مشابه خارجی دارای ضعف های مشهودی می باشد.
هدف از ارائه این مقاله، نحوه پیاده سازی سیستم های توصیه گر فیلم، ارتقاء سیستم های مرسوم با روش های کم هزینه و برای سایت های کوچک و متوسط و قابل کاربرد در داخل کشور است. بنابراین، در این مقاله به ارائه مدلی از سیستم توصیه گر فیلم بر مبنای فیلتر اشتراکی و با استفاده از تکنیک های متنوع جهت ارتقاء دقت پیشنهادات پرداخته شده است. برای داده های ورودی از سایت معتبر گروپ لنز و از دیتاست مووی لنز استفاده شده است.
در ادامه مقاله، به مرور ادبیات ، پیشینه تحقیق، ، روش تحقیق و بررسی نتایج حاصل از مدل پیشنهادی پرداخته شده است.
2. مرور ادبیات و پیشینه تحقیق
1.2 سیستم های توصیه گر
شکل 1 سیستم های توصیه گر را بصورت شماتیک نمایش می دهد. این سیستم از بین انبوه انتخاب ها بهترین موارد را انتخاب و به کاربر پیشنهاد می نماید.
شکل 1. سیستم توصیه گر
سیستم های توصیه گر به جهت استفاده از داده های کلان، روش های مختلف داده کاوی و لزوم استفاده از فیلتر کردن داده ها، در مجموع به سه نوع سیستم توصیه گر اصلی تقسیم می گردند: فیلتر محتوا- محور، فیلتر اشتراکی و فیلتر ترکیبی[2][6][13].
سیستم های فیلتر اشتراکی نیز به دو نوع سیستم حافظه محور و مدل محور تقسیم می گردد. در سیستم حافظه محور از داده های موجود استفاده و با استفاده از شباهت بین کاربران وآیتم ها موارد پیشنهادی استخراج می گردد در حالیکه در روش مدل محور، از داده های موجود جهت یادگیری یک مدل پیشنهادی استفاده می گردد تا بتوان مقادیر نامعلوم را پیش بینی نمود.
از طرفی برای ارائه پیشنهادات به عنوان خروجی سیستم های توصیه گر به دو روش می توان اقدام نمود. روش استفاده از تشابه یا فاصله بین آیتم ها و یا کاربران و روش پیش بینی امتیازات کاربران به آیتم هایی که تاکنون استفاده نکرده است. در روش پیش بینی امتیازات، دقت نتایج بسیار مهم می باشد [25].
2.2 اهداف و چالش های سیستم های توصیه گر
نویسندگان در [6] معتقد است اصلی ترین هدف از بکارگیری سیستم های توصیه گر، افزایش فروش محصولات می باشد و
این هدف با ارائه پیشنهادات مناسب به کاربران و جلب توجه آنها میسر می گردد. از طرفی برای رسیدن به هدف مذکور لازم است در طراحی سیستم های توصیه گر و ارائه پیشنهادات، جنبه ها و اهداف فنی مرتبط بودن13، تازگی14، موارد غیر منتظره15و تنوع توصیه ها16 نیز رعایت گردند.
همچنین در طراحی سیستم های توصیه گر باید چالش های پیاده سازی هر یک از روش های سیستم های توصیه گر نیز مد نظر قرار گیرد. اهم چالش ها در سیستم های توصیه گر عبارتند از: استخراج محتوا، شروع سرد، عدم وجود اطلاعات، خالی بودن17 ماتریس امتیازات18 ، مقیاس پذیری19 ، حفظ حریم خصوصی و کلمات مترادف [5][6][13]
نکته بسیار مهم در ارائه سیستم های توصیه گر عدم توانایی هیچ یک از روش ها، به برآورده نمودن همه اهداف و برطرف نمودن همه چالش های مذکور می باشد و هر کدام از روش ها در برآورده کردن اهداف و برطرف نمودن چالش ها، دارای نقاط قوت و ضعف می باشند. لذا برای انتخاب روش مناسب لازم است مشخصات آیتم ها، کاربران و اطلاعات موجود از آنها در نظر گرفته شود و با بررسی روش های مختلف نسبت به انتخاب روش بهینه با بیشترین دقت پیشنهادات و کمترین هزینه از نظر میزان حجم عملیات و حجم حافظه مورد نیاز، اقدام گردد [2][6].
3.2 پیشینه تحقیق
سیستم های توصیه گر فیلم از پر کاربردترین موارد استفاده از سیستم های توصیه گر می باشد و در این خصوص تحقیقات فراوانی انجام شده است. در ادامه به برخی موارد اشاره می گردد.
نویسندگان در [14]، با استفاده از روش فیلتر اشتراکی و با کمک یادگیری عمیق20، نسبت به ارائه مدلی برای رفع مشکل شروع سرد آیتم ها اقدام کرده اند. بررسی ها بر روی دیتاست نتفلیکس نشان از موثر بودن بکارگیری روش های فیلتر اشتراکی و یادگیری عمیق با یکدیگر برای ارائه پیشنهاد برای شروع سرد می باشد.
نویسندگان در [15]، در تحقیق خود با ترکیب روش محتوا محور و فیلتر اشتراکی به صورت تقویتی، سیستم توصیه گری طراحی کرده اند که علاوه بر حل مشکل شروع سرد، مسئله اعتماد را نیز پوشش می دهد.
نویسندگان در [16] از شبکه های عصبی برای استخراج ویژگی ها از داده های تصویری و عددی به عنوان ورودی به سایر مدل های یادگیری ماشین، مانند ماشین های بردار پشتیبان و نزدیکترین همسایه استفاده کرده اند تا اثر ویژگی های استخراج شده بر روی مدل های مذکور بررسی گردد.
نویسندگان در [17] در بررسی خود به ارائه سیستم توصیه گر محتوا محور با استفاده از همبستگی ژانر21 پرداخته اند. آنها در این روش با توجه به سابقه رفتار کاربر نسبت به فیلم ها، ژانرهای مورد علاقه شخص را تشخیص داده و فیلم های در ژانر مورد نظر را به او پیشنهاد داده اند.
نویسندگان در [8] روش خوشه بندی k-means با الگوریتم K نزدیکترین همسایه22 را بر روی دیتاست فیلم ها اعمال کرده اند، تا کاربران را بر اساس امتیازات داده شده به فیلم های مختلف، خوشه بندی نموده و متوسط امتیاز K کاربر درون یک خوشه به هر فیلم را به عنوان امتیاز آن خوشه در نظر بگیرند. به هرا و همکاران23 (2019) [18] با کمک روش شبکه عصبی ماشین بولتزمن محدود24 و استفاده از فیلتر اشتراکی، نسبت به تخمین مقادیر امتیازات ناموجود اقدام نموده و نتایج را با روش همبستگی پیرسون و متوسط وزندار مقایسه کرده اند.
نویسندگان در [19] از دو روش فیلتر اشتراکی و شبکه های عصبی و از کتابخانه های زبان برنامه نویسی پایتون25 استفاده کرده و عملکرد آنها را از نظر سرعت و دقت با هم مقایسه کرده اند. در این تحقیق دو سیستم در نظر گرفته شده است. در اولین سیستم، از فیلتر اشتراکی مدل محور و روش KNN و K-Means برای پیش بینی امتیازات کاربران استفاده شده است. در سیستم دوم، از بسته های پایتون sk_learn و tensorflow استفاده شده است.
نویسندگان در [20] از روش ترکیبی محتوا محور و فیلتر اشتراکی استفاده کرده اند تا از محدودیت های ناشی از روش محتوا محور رهایی یابند. در روش پیشنهادی، آنها از یک پیش کانال قبل از اعمال الگوریتم K-Mean استفاده کرده اند. برای تفکیک فاصله هر نقطه از مرکز، از ژانر و امتیاز استفاده شده است. در این روش فقط برای کاربرانی که حداقل به شش فیلم امتیاز داده اند، سیستم توصیه گر پیشنهاد ارائه می دهد. پیشنهادات از طریق روش فیلتر اشتراکی محاسبه و ارائه می شود.
نویسندگان در [21] در تحقیق خود از روشی تحت عنوان MCBF-SVD را برای پیش بینی امتیازات کاربران فعال، به فیلم ها بر مبنای داده های صریح26 و ضمنی27 ناشی از دیتاست فیلم ها ارائه می دهند. روش فوق از عوامل وزن دار برای بررسی اثر انواع دسته بندی فیلم بر روی پیش بینی امتیازات کاربر و همچنین ارتقاء روش فیلترینگ بر مبنای دسته بندی فیلم ها استفاده می کند. در نهایت، روش MCBF با الگوریتم تجزیه ماتریس به مقادیر منفرد28 ترکیب می شود تا از عملکرد خوب آن در فیلتر اشتراکی بتوان استفاده کرد. در مقایسه با انواع الگوریتم های مختلف موجود، روش پیشنهادی MCBF-SVD به میزان قابل توجهی دقت پیش بینی امتیازدهی را ارتقاء می بخشد و مقیاس پذیری و اثربخشی سیستم های توصیه گر شخصی را افزایش می دهد.
بررسی پیشینه تحقیق نشان می دهد توسعه تجارت الکترونیک مستلزم استفاده از سیستم های توصیه گر می باشد [14][22] و روش های بکارگیری سیستم توصیه گر نیز به حوزه کاری وابسته می باشد و هر گروه محصول یا خدمات نیازمند سیستم توصیه گر مخصوص به خود می باشند، زیرا ویژگی های محصولات با یکدیگر متفاوت می باشند [2].
از طرفی سیستم های توصیه گر با حجم عظیمی از داده ها (کلان داده) که در حال افزایش نیز می باشد سر و کار دارند و باید قادر به انجام محاسبات با هزینه معقول باشند [7][23].
تاکید می گردد هیچ یک از سیستم های توصیه گر قادر به حل تمام چالش ها نمی باشد و بسته به موضوع و ویژگی های کاربران و آیتم ها، لازم است روش های مختلف ارزیابی شده و بهترین روش انتخاب گردد [2]. در این بین، سیستم توصیه گر فیلتر اشتراکی با توجه به تنوع الگوریتم ها و دقت مناسب، دارای بیشترین کاربرد می باشد و در این مقاله نیز مورد استفاده قرار خواهد گرفت. البته در اغلب مواقع لازم است این روش با سایر روش ها ترکیب گردد تا بر مشکلاتی مانند شروع سرد و خالی بودن ماتریس امتیازات غالب گردد [9][14][24].
3. روش تحقیق
هدف از این تحقیق ارائه مدلی از سیستم توصیه گر فیلم بر اساس فیلتر اشتراکی و با استفاده از روش محاسبه ضریب همبستگی پیرسون بین کاربران می باشد تا هم بر چالش خالی بودن ماتریس امتیازات غلبه نماید و هم دارای خطای قابل قبولی در مقایسه با سایر روش ها باشد. برای اینکار از سه روش برای پر کردن جاهای خالی، پیدا کردن بهترین تعداد نزدیکترین همسایه ها و محاسبه پیش بینی امتیازات بر اساس میانگین وزنی استفاده شده و در نهایت روش بهینه انتخاب شده است.
فرایند کار به شرح ذیل می باشد:
1- حذف فیلم های با تعداد امتیاز 10 و یا کمتر
2- تقسیم داده های موجود به دو مجموعه داده آموزش و تست به نسبت 80 به 20 بصورت تصادفی
3- پر کردن جاهای خالی با مقادیر زیر:
الف: میانگین امتیاز هر کاربر ب: میانگین امتیا هر فیلم
ج: میانگین امتیازکل
4- محاسبه ضریب همبستگی بر اساس روش پیرسون
5- محاسبه پیش بینی امتیازات با روش میانگین وزنی
6- ارزیابی سه روش و انتخاب بهترین روش
7- تعیین تعداد همسایه های بهینه
8- ارائه پیشنهادات
شکل 2 نمودار شماتیک مراحل انجام کار را نشان می دهد:
شکل 2. فرایند روش تحق
4. یافته های تحقیق
1.4 جمع آوری داده ها
برای داده های ورودی از مجموعه داده ml-latest-small مووی لنز29 با 610 کاربر ، 9742 فیلم و حدود 100 هزار امتیاز استفاده شده است. این داده ها متعلق به فاصله زمانی مارچ 1996 تا سپتامبر 2018 می باشند. تعدادی از فیلم ها به جهت عدم اشتراک در امتیازدهی و یا با تعداد 10 امتیاز یا کمتر از مجموعه داده ها حذف گردید. مجموعه داده های اولیه در شکل 3 نشان داده شده است:
شکل 3. داده های اولیه
2.4 پاکسازی داده ها
با توجه به اینکه داده ها فاقد کاربران با تعداد امتیاز کمتر از 20 می باشند، لذا فقط کاربر با شناسه 53 که تمام امتیازات آن یکسان می باشد و باعث عدم محاسبه ضریب همبستگی می گردد و همچنین فیلم های دارای تعداد امتیاز مساوی و کمتر از 10 حذف شده اند. این عمل باعث می گردد تا کاربران و فیلم های دارای تاثیر کمتر حذف شده و از طرفی حجم حافظه و محاسبات نیز کاهش یابد.
3.4 محاسبات و نتایج تحقیق
در این مرحله، امتیازات بصورت تصادفی و به نسبت 80 به 20 بین داده های آموزش و تست تقسیم می گردد. شکل 4 این داده ها را نمایش می دهد:
شکل 4. داده های آموزش و تست
سپس میانگین امتیازات هر کاربر، هر فیلم و میانگین کل امتیازات بصورت جداگانه محاسبه شده و در سه مرحله در جاهای خالی ماتریس امتیازات حاصل از داده های آموزش قرار می گیرد تا محاسبه میانگین وزنی امتیازات و خطاها صورت پذیرد. نمونه حاصل از قرار دادن میانگین کاربر در شکل 5 نمایش داده شده است:
شکل 5. ماتریس امتیازات پس از جاگذاری میانگین امتیازات کاربر
برای محاسبه میانگین وزنی امتیازات، لازم است تا ضریب همبستگی پیرسون بین کاربران محاسبه گردد. لذا با استفده از رابطه 1 ماتریس همبستگی شکل 6 بدست می آید.
(1)
شکل 6. بخشی از ماتریس همبستگی کاربران
در این مرحله، با کمک ماتریس همبستگی و ماتریس امتیازات و با استفاده از رابطه 2، میانگین وزنی امتیازات را بر تغییر تعداد همسایه های هر کاربر از یک تا ده ، محاسبه می کنیم.
(2)
در مرحله بعد، با استفاده از روش های ریشه میانگین مربعات خطا (RMSE) و میانگین قدر مطلق خطا (MAE)، مقادیر پیش بینی شده و مقادیر داده های تست را ارزیابی می کند. برای محاسبه این مقادیر از روابط 3 و 4 استفاده شده است:
(3)
(4)
در این مرحله با توجه به مقادیر بدست آمده برای خطای RMSE بهترین روش انتخاب می گردد. همانطور که از شکل های 7 تا 9 مشخص است، روش قرار دادن میانگین امتیاز هر کاربر دارای کمترین خطا در بین سه روش می باشد.
شکل 7. نمودارهای خطا در حالت قرار گرفتن متوسط
امتیاز کاربر بجای مقادیر خالی
شکل 8. نمودارهای خطا در حالت قرار گرفتن متوسط
امتیاز فیلم بجای مقادیر خالی
شکل 9. نمودارهای خطا در حالت قرار گرفتن متوسط
امتیاز کل بجای مقادیر خالی
حال با توجه به روش انتخاب شده (میانگین امتیاز کاربر)، تعداد همسایه های بهینه با توجه به منحنی RMSE تعیین می گردد. همانطور که از شکل 7 مشخص است بهترین تعداد همسایه 5 همسایه می باشد که کمترین مقدار خطای پیش بینی آن برابر با 0.91367 می باشد. شکل 10 مقادیر خطا به ازای تعداد مختلف همسایه ها را نمایش می دهد.
شکل 10. تغییر میزان خطا بر اثر تعداد مختلف همسایگی
شکل 11 بخشی از جدول امتیازات پیش بینی شده با تعداد 5 همسایه را نمایش می دهد:
شکل 11. ماتریس امتیازات پیش بینی شده
در مرحله آخر، به عنوان خروجی سیستم توصیه گر پیشنهادی، برای کابر با شناسه 250، اقدام به ارائه 10 فیلم پیشنهادی با بالاترین امتیاز پیش بینی شده می نماییم که خروجی آن بصورت شکل 12 می باشد:
شکل 12. ده فیلم پیشنهادی به کاربر با شناسه 250
5. بحث و نتیجه گیری
1.5 بحث و بررسی
بهترین نتایج حاصل از سه نوع جاگذاری انجام شده در جدول (1) نمایش داده شده است:
جدول 1. بهترین مقادیر خطا در سه روش جاگذاری
روش | RMSE | MAE | N |
میانگین کاربر | 9137/0 | 7124/0 | 5 |
میانگین فیلم | 9410/0 | 7292/0 | 4 |
میانگین کل | 9649/0 | 7673/0 | 31 |
بهترین نتیجه هنگامی رخ می دهد که بجای مقادیر نامعلوم، میانگین امتیازات هر کاربر در هر سطر قرار گیرد.
بنابراین میزان خطای RMSE در روش پیشنهادی، برابر با 9137/0 می باشد که در مقایسه با بهترین نتیجه بدست آمده از مقاله ویدیانینگ تیاس (2021) [27] که برای RMSE مقدار 9448/0 را بدست آورده است، 29/3% خطای کمتری را دارا می باشد. لازم به ذکر است مقاله مذکور از دیتاست k100 ml- مووی لنز با 7/93 % خالی بودن ماتریس و با تعداد 943 کاربر و 1682 فیلم استفاده کرده است در حالیکه نسخه مورد استفاده در تحقیق حاضر دارای 3/98% ماتریس خالی می باشد.
استفاده از ضریب همبستگی در تولید سیستم های توصیه گر یکی از روش های متداول و موثر می باشد و علی رغم انواع روش های مختلف بکار گرفته شده در این خصوص تاکنون، ولی همچنان جزء روش های محبوب می باشد [27]. این روش با توجه به امکان استفاده از ضریب همبستگی بین کاربران و آیتم ها و همچنین امکان ادغام الگوریتم های مختلف از جمله KNN و K_Means و از طرفی امکان قرار دادن مقادیر مختلف در جاهای خالی، امکان تولید انواع مختلفی از سیستم های توصیه گر فیلتر اشتراکی را فراهم می کند.
2.5 جمع بندی و پیشنهادات
تحقیق حاضر نشان می دهد پیاده سازی سیستم توصیه گر فیلتر اشتراکی بر مبنای ضریب همبستگی در صورت ادغام با روش هایی مانند KNN و K_Means و بکار بردن ابتکارات لازم قادر به ارائه پیشنهادات شخصی سازی شده مناسب و با دقت کافی می باشد.
پیشنهاد می گردد در ادامه کار مشکل شروع سرد در این روش مورد بررسی قرار گیرد. همچنین ترکیب الگوریتم های مختلف شبکه عصبی مانند شبکه های چند لایه پرسپترون (MLP) ، ماشین بولتزمن محدود (RBM) و الگوریتم تجزیه ماتریس به مقادیر منفرد (SVD) با روش مذکور مورد بررسی قرار گیرد.
[1] نویسنده مسئول: دکتر فاطمه ثقفی fsaghafi@ut.ac.ir
Web 2
[2] Electronic Commerce/e-commerce
[3] Recommender/Recommendation Systems
[4] Collaborative Filtering
[5] Cold Start
[6] Sparsity
[7] Content Based
[8] Netflix
[9] Netflixpriz.com
[10] Google Scholar
[11] Irandoc
[12] Magiran
[13] Relevance
[14] Novelty
[15] Serendipity
[16] Diversity
[17] Sparsity
[18] Rating Matrix
[19] Scalability
[20] Deep Learning
[21] Genre Correlation
[22] K Nearest Neighbors
[23] Behera, D.K., et al.
[24] Restricted Boltzmann Machine
[25] Python
[26] Explicit
[27] Implicit
[28] Singular Value Decomposition
[29] http://grouplens.org/datasets/
مراجع
[1] H. Øverby and Jan A. Audestad, 2018, Digital Economics. .
[2] P. M. Alamdari, N. J. Navimipour, M. Hosseinzadeh, A. A. Safaei, and A. Darwesh, “A Systematic Study on the Recommender Systems in the E-Commerce,” IEEE Access, vol. 8, pp. 115694–115716, 2020, doi: 10.1109/ACCESS.2020.3002803.
[3] Y. Zhang, H. Abbas, and Y. Sun, “Smart e-commerce integration with recommender systems,” Electronic Markets, vol. 29, no. 2. pp. 219–220, 2019, doi: 10.1007/s12525-019-00346-x.
[4] G. Lekakos and P. Caravelas, “A hybrid approach for movie recommendation,” Multimed. Tools Appl., vol. 36, no. 1–2, pp. 55–70, 2008, doi: 10.1007/s11042-006-0082-7.
[5] S. K. Raghuwanshi and R. K. Pateriya, “Recommendation systems: Techniques, challenges, application, and evaluation,” in Advances in Intelligent Systems and Computing, vol. 817, 2019, pp. 151–164.
[6] Aggarwal, C.C., Recommender systems. Vol. 1. 2016: Springer
[7] R. Singla, S. Gupta, A. Gupta, and D. K. Vishwakarma, “FLEX: A content based movie recommender,” 2020 Int. Conf. Emerg. Technol. INCET 2020, pp. 8–11, 2020, doi: 10.1109/INCET49848.2020.9154163.
[8] R. Ahuja, A. Solanki, and A. Nayyar, “Movie Recommender System Using K-Means Clustering AND K-Nearest Neighbor(2019).pdf,” Proc. 9th Int. Conf. Cloud Comput. Data Sci. Eng. Conflu. 2019, pp. 263–268, 2019, doi: 10.1109/CONFLUENCE.2019.8776969.
[9] G. Geetha, M. Safa, C. Fancy, and D. Saranya, “A Hybrid Approach using Collaborative filtering and Content based Filtering for Recommender System,” J. Phys. Conf. Ser., vol. 1000, no. 1, 2018, doi: 10.1088/1742-6596/1000/1/012101.
[10] S. M. Choi, S. K. Ko, and Y. S. Han, “A movie recommendation algorithm based on genre correlations,” Expert Syst. Appl., vol. 39, no. 9, pp. 8079–8085, 2012, doi: 10.1016/j.eswa.2012.01.132.
[11] en.wikipedia.org/wiki/Netflix_prize
[12] https://aparat.design/recommendation-systems-in-filimo-cqzge4gfsevi
[13] S. M. Choi, S. K. Ko, and Y. S. Han, “A movie recommendation algorithm based on genre correlations,” Expert Syst. Appl., vol. 39, no. 9, pp. 8079–8085, 2012, doi: 10.1016/j.eswa.2012.01.132.
[14] Z. T. Jian Wei a , Jianhua He a , ∗, Kai Chen b , Yi Zhou c, “Collaborative filtering and deep learning based recommendation system for cold start items.” 2016.
[15]حیدری, ب.، پروین نیا,ا.، 1396، ارائه مدلی برای سیستم های توصیه گر فیلم مبتنی بر رویکرد مشارکت محور، مجله فناوری اطلاعات در طراحی مهندسی، دوره 10، شماره 1، شهریور 1396، صفحه 1 تا 9
[16] Notley, S. and M. Magdon-Ismail, Examining the use of neural networks for feature extraction: A comparative analysis using deep learning, support vector machines, and k-nearest neighbor classifiers. arXiv preprint arXiv:1805.02294, 2018
[17] S. Reddy, S. Nalluri, S. Kunisetti, S. Ashok, and B. Venkatesh, “Content-based movie recommendation system using genre correlation,” in Smart Innovation, Systems and Technologies, 2019, vol. 105, pp. 391–397, doi: 10.1007/978-981-13-1927-3_42.
[18] Behera, D.K., M. Das, and S. Swetanisha, Predicting Users’ Preferences for Movie Recommender System Using Restricted Boltzmann Machine, in Computational Intelligence in Data Mining. 2019, Springer. p. 759-769
[19] C. H. Lin and H. Chi, A Novel Movie Recommendation System Based on Collaborative Filtering and Neural Networks, vol. 926. Springer International Publishing, 2020.
[20] Furtado, F. and A. Singh, Movie recommendation system using machine learning. International Journal of Research in Industrial Engineering, 2020. 9(1): p. 84-98
[21] X. Li, H. Zhao, Z. Wang, and Z. Yu, “Research on Movie Rating Prediction Algorithms,” 2020 5th IEEE Int. Conf. Big Data Anal. ICBDA 2020, pp. 121–125, 2020, doi: 10.1109/ICBDA49040.2020.9101282.
[22] D. Lee and K. Hosanagar, “Impact of recommender systems on sales volume and diversity,” 35th Int. Conf. Inf. Syst. "Building a Better World Through Inf. Syst. ICIS 2014, pp. 1–15, 2014.
[23] F. Ricci, L. Rokach, B. Shapira, P. B. Kantor, and F. Ricci, Recommender Systems Handbook. 2011.
[24] K. Falk, “Practical Recommender Systems.” p. 406, 2019.
[25]حسینی، م.؛ نصرالهی، م.؛ بقایی، ع.1397، یک سامانه توصیه گر ترکیبی با استفاده از اعتماد و خوشه بندی دو جهته به منظور افزایش کارائی پالایش گروهی
[26] صابری، ن.؛ منتظر، غ. 1389، شخصي سازي محيط يادگيري الكترونيكي به كمك توصيه گر فازي مبتني برتلفيق سبك يادگيري و سبك شناختي، فصلنامه علمی-پژوهشی فناوری اطلاعات و ارتباطات ایران، سال دوم، شماره های 3و4
[27] Widiyaningtyas, T., Hidayah, I., & Adji, T. B. (2021). User profile correlation-based similarity (UPCSim) algorithm in movie recommendation system. Journal of Big Data, 8(1). https://doi.org/10.1186/s40537-021-00425-x
A Collaborative Filtering Movie Recommendation System Based on Users Correlation and Weighted K-Means with High Accuracy
Abstract
A Recommendation system is a BI tool that it uses data mining methods for guiding and helping the user to select the best items based on her/his preferences and in the shortest time. Despite more than two decades of academic research on recommendation systems, this issue is still one of the most up-to-date research challenges. Recommendation systems save the users time, increase their satisfaction and their loyalty to sales sites and lead to the development of e-commerce, by personalizing the recommendations of goods or services to site users. Nowadays, recommendation systems have many applications in various sectors of e-commerce, especially in media products such as books, movies, and music. The famous e-commerce sites such as eBay, Amazon, and Netflix and domestic sites such as Digikala, Divar, and Filimo widely use recommendation systems. These systems use a variety of big data filtering methods to provide appropriate recommendations. The most important and widely used filtering method is collaborative filtering (CF). In this paper, we implement three CF recommender systems based on the correlation coefficient between users, selecting the optimal number of neighbors and calculating weighted scores for unwatched movies. The best method with the least error is selected as the desired model. We use Movielens ml-latest-small 100k research dataset with 9742 movies and 610 users as input. The results showed 3.29% less RMSE error compared with the latest research that has used the correlation method.