基于推荐算法的智能电影推荐系统文献综述

 2022-11-26 06:11
{title}{title}

推荐系统(Recommender System)是解决信息超载问题的有效方案它根据用户特征推荐满足用户需求的对象,实现个性化服务。推荐系统的优点在于,它能主动收集用户的特征资料,通过对用户个性、习惯、偏好的分析,为用户定制并提供其感兴趣的信息;同时能及时跟踪用户的需求变化,根据变化自动调整信息服务的方式和内容。与搜索引擎提供 的“一对多”式的信息服务不同,推荐系统输出的结果更符合用户的个性化需求,实现“一对一”式的信息服务,同时用户的参与程度也更低,从而大为降低用户搜寻信息的成本。推荐系统作为一种新近的 智能信息服务方式,在电子商务、社会网络、数字化图书馆、视频/音乐点播等领域得到广泛应用。特别是在电子商务领域,其作用尤为突出: 1)将电子商务网站浏览者转变为购买者( Converting Browsers into Buyers);2) 提高电子商务网站的交叉销售能力 ( Increasing Cross-Sell) ;3) 建立客户忠诚度( Building Loyalty)。

目前推荐系统所采用的推荐技术主要包括关联规则( Association Rules)、基于内容的推荐( Content-Based Recommendation)、协同过滤( Collaborative Filtering ) 和混合推荐( Hybrid Approach)。协同过滤根据其他用户的偏好向目标用户推荐,它首先找出一组与目标用户偏好一致的邻居用户,然后分析该邻居用户,把邻居用户喜欢的项目推荐给目标用户,其优势在于:1)不需考虑被推荐项目的内容;2)可为用户提供新异推荐 ( Serendipitous Recommendations);3) 对用户访问网站时的干扰较小; 4) 技术易于实现。

因此它成为一种较流行的推荐技术。

协同过滤算法主要分为两类:(1)基于内存(Memory-based)的协同过滤,其理论基础是KNN模型,根据相似邻居来产生 推荐;(2)基于模型(model-based)的协同过滤,其理论基础是机器学习,通过优化设定指标来建立最优模型来产生推荐。已有研究表明,基于内存的协同过滤能获得更好的推荐准确度,但暴露出诸多问题:数据稀疏性、用户兴趣 变化、可拓展性差等;基于模型的协同过滤具有更好的 可拓展性,但由于模型需要离线构建,不能较好地反映 用户的实时兴趣,因此,在推荐质量上不如基于内存的协同过滤。

基于内存的协同过滤主要包括基于用户的协同过滤和基于项目的协同过滤,其基本思想大致相同,区别在于相似度的计算,基于用户的协同过滤根据用户相似度来产生推荐,基于项目的协同过滤根据项目相似度产生推荐。由于电影推荐系统中,电影的数目的增长不如用户量的增长速度,因此,电影相似度相比用户相似度要稳定,不需实时更新;同时,用户对电影的需求个性化程度相对较强,且不似新闻,对推荐的时效性要求高,因此,基于项目的协同过滤算法更适合于电影推荐系统中。基于项目的协同过滤的实现步骤主要分为四个步骤。

1.收集用户对电影的评分数据,构建用户———电影评分矩阵。

2.计算电影间的相似度。 相似度计算是协同过滤算法的核心,一般以修正 的余弦相似度计算电影的相似度,记 r(u,j)表示用户 u对电影i的评分值,r(u)表示用户u对所有电影的评分平均值,U= U(i) cap;U(j) 表示同时对电影i和电影j评过分的 用户集合,则基于修正的余弦相似度的电影i和电影j的相似度sim(i,j)可表示为式( 1)所示。

3.与目标电影相似度最大的 K部电影作为其最邻近电影集合。

4.邻近电影对目标用户未评分电影的评分及相 似度计算目标用户对未评分电影的预测评分,通常采 取中心加权平均值的方法计算目标用户u对未评分电影的预测评分p(u,i),见式(2)所示,记r(i),r(j)分别表示对电影i,电影j评过分的用户的评分平均值。

但随着系统中用户数目和项目数目的不断增长,传统的协同过滤算法也暴露出诸多问题:数据稀疏性、用户兴趣变化、冷启动和可拓展性等。我主要针对析协同过滤算法在数据稀疏性和用户兴趣变化对推荐质量的影响进行了相关的文献查阅,学习到了多种基于协同过滤的改进算法。

方法一、引入共同评分权重函数的相似度计算

定义如下变量:对电影i的用户评分向量为U(i),对电影j的用户评分向量为U(j)同时对电影i和j的用户评分向量为U(i)cap;U(j),则电影i和j的共同评分权重函数f(i,j)可定义为如式(3)所示。

(3)

共同评分权重函数 f(i,j) 是对Jaccard系数的一种改进,充分考虑了个人评分数目和共同评分数目的差异。将f(i,j)和修正的余弦相似度融合,能缓解传统的相似度计算方法对共同评分项的数目不敏感的问题,因此,在修正的余弦相似度的基础上,见式(1)所 示,引入共同评分权重函数f(i,j) 的电影i和电影j 的相似度sim(i,j)可表示为式(4)所示。

(4)

方法二、引入时间权重函数的预测评分计算

为保证推荐结果符合用户的近期兴趣,即用户的近期评分行为更能体现用户兴趣,因此,应对用户的评分行为进行时间加权处理,使得近期评分具有更大的时间权重。计算预测评分时,引入Logistic时间权重函数,运用Logistic函数对用户的评分进行时间加权。基于时间的权重函数f(t(u,i))表示电影i对用户u的时间权重,则f(t(u,i))的计算方法可定义为式(5) 所示。

(5)

其中, Tbegin表示用户u首次评分某电影的时间;Tu,i表示用户 u对电影 i 的评分时间。f(t(u,i)) 的值介于(0,1)之间,是一个递增的函数,即用户的评分时间Tu,i越接近当前时间,f(t(u,i))的值越大,即用户近期的评分具有更大的时间权重。而时间权重函数 f(t(u,i))的预测评分p(u,i)的计算公式如式(6) 所示。

(6)

毕 业 设 计(论 文)开 题 报 告

2.本课题要研究或解决的问题和拟采用的研究手段(途径):

一、所研究或解决的问题

搭建一个基于协同过滤算法的电影个性化推荐系统,能帮助用户挑选喜欢的电影,节省用户寻找资源的时间,提高用户的体验,同时还能提高用户和系统的粘着度。同时,用户能快速找到感兴趣的资源,也能减轻一个站点的网络负载。

二、拟采用的手段

课题研发主要由需求分析、系统设计、系统实现、系统测试、系统部署与实施五个阶段组成。

系统设计与实现的关键技术如下:借助J2EE,采用MySQL关系型数据库,Movie Lens数据集,先暂定于部署在tomcat服务器上,后期若条件允许会转移到第三方云服务器上。

1.架构设计

系统基于B/S模式,架构采用J2EE体系,整个系统部署在tomcat服务器上。其架构如图1所示。

用户UI采用HTML JSP解决方案。后台主要采用Spring。该架构采用面向对象的分析与设计方法,利用SSH的成熟架构,保障系统高内聚、低耦合的系统逻辑,分层清晰,稳定性好。

2.系统功能

电影个性化推荐系统的功能模块分为接口层、业务逻辑层、核心数据层等3个层次。接口层提供对外的服务接口;业务逻辑层实现相应的各种算法和信息管理功能,可分为用户信息管理与电影信息管理两部分;核心数据层存放整个系统的核心业务数据,如计算推荐列表需要的用户信息和电影信息、用户相似度列表、电影相似度列表等。 功能模块设计如图2所示。

(1)用户接口。推荐系统用户接口主要包括查看推 荐、注册登录、观看、评分和浏览。新用户注册过程中需要 填写基本信息,如年龄、性别、职业等,注册后填写个人兴 趣爱好标签信息,用户即可进行正常的评分浏览等操作。 随着系统与用户的交互,系统记录用户的信息并逐渐获取 用户的兴趣爱好。用户可以对喜爱的电影进行评分,系统 将用户的评分和浏览行为存入日志,并调用数据分析引擎 对用户的行为进行分析,更新用户存储信息。 (2)电影信息管理。电影信息管理模块包括:分类管 理、排行榜、基本信息管理和核心推荐。分类管理和排行 榜是为用户挑选自己喜欢的电影而设置,作为电影个性化推荐的补充。常见的排行榜有热门电影排行榜、高分排行榜、票房榜等。热门电影根据电影被浏览和观看的记录计算得到;高分排行榜将从平均评分较高的电影中挑选得到.(3)个性化推荐算法。此模块是电影推荐系统的核心,利用协同过滤算法计算出用户、电影的近邻数据,存入到数据库中。这些数据是个性化推荐的直接信息来源,例如用户的K位邻居、推荐给某个用户的N部电影。当用户的兴趣发生变化时,系统能捕捉到,并重新作出推荐。

、课题整体(或软硬件系统)解决方案及其研究思路

1、运用所学理论和技术手段对协同过滤原理分析、设计和开发,基于实际项目需求和市场上的主流视频网站等相关背景知识进行合理分析,理解并掌握软件工程管理原理,从工程实用化思路进行系统设计。

2、定期与指导老师沟通,不断完善模型和优化算法,提高系统的实用性

将对本课题所涉及的问题进行系统分析,按照任务书时间节点按时完成、定期与指导老师沟通(如果是团队课题,定期和团队成员沟通、加强与团队合作),遵守学术规范、并考虑该课题在实际中的应用需求。

、附录

参考文献:

[1] https://grouplens.org/datasets/movielens/

[2] https://www.jianshu.com/p/58b1087f12b3

[3]冷亚军, 陆青, 梁昌勇. 协同过滤推荐技术综述[J]. 模式识别与人工智能, 2014, 27(8):720-734.

[4]刘青文. 基于协同过滤的推荐算法研究[D]. 中国科学技术大学, 2013.

[5] Jonathan L. Herlocker, Joseph A. Konstan, Al Borchers,等. An Algorithmic Framework for Performing Collaborative Filtering[J]. Acm Sigir Forum, 2017, 51(2):227-234.

[6] Jun Wang, Arjen P. de Vries, Marcel J. T. Reinders. Unifying user-based and item-based collaborative filtering approaches by similarity fusion[C]// SIGIR 2006: Proceedings of the 29th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, Seattle, Washington, USA, August 6-11, 2006. ACM, 2006.

[7] Yashar Moshfeghi, Deepak Agarwal, Benjamin Piwowarski,等. Movie Recommender: Semantically Enriched Unified Relevance Model for Rating Prediction in Collaborative Filtering[J].

[8] Alpaslan F N. A Content-Boosted Collaborative Filtering Approach for Movie Recommendation Based on Local and Global Similarity and Missing Data Prediction[M]. 2011.

[9] Jeon T, Cho J, Lee S, et al. A movie rating prediction system of user propensity analysis based on collaborative filtering and fuzzy system[C]// 2009.

[10] 张海朋. 基于协同过滤的电影推荐系统的构建[D]. 西安电子科技大学.

[11]汪瑜彬. 基于混合协同过滤的电影推荐系统的设计与实现[D]. 北京工业大学, 2016.

[12]贾忠涛. 基于协同过滤算法的电影个性化推荐系统设计与实现[J]. 软件导刊, 2015(1):86-88.

[13]兰艳, 曹芳芳. 面向电影推荐的时间加权协同过滤算法的研究[J]. 计算机科学(4):302-308 329.

[14]刘佳玮, 洪蕾, 陈妍, et al. 基于电影系统的协同过滤算法的改进[J]. 电子技术与软件工程, No.123(1):191-192.

[15]https://baike.baidu.com/item/推荐算法/6560536?fr=aladdin

以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。