第1章 绪论1.1 课题背景信息技术的迅速发展电影推荐系统已经成为现代娱乐领域中不可缺少的一个部分。在电影数量迅猛增长的情况下用户很难从成千上万的电影中找到符合自己兴趣的那一部。因此如何准确高效地为用户提供个性化的观影建议成了电影推荐系统所面临的难题。传统的推荐算法比如基于内容的推荐、基于热门榜单的推荐已经不能满足用户对个性化观影体验的要求。双重协同过滤算法属于一种较为先进的推荐技术把基于用户的协同过滤与基于物品的协同过滤两种策略结合在一起依靠挖掘出用户同电影之间潜在的关联关系来向用户做出更加精准、个性化的电影推荐可以提高用户看电影的满意度也可以促进电影产业的发展具有十分重要的理论和实践意义。所以研究基于双重协同过滤算法的电影推荐系统对于提高用户体验、推动电影产业发展有重大意义。1.2 目的和意义近几年来电影市场规模不断扩大影片数量呈爆发式增长。由于电影制作技术不断发展以及电影产业日趋繁荣全世界每年有数不清的电影被发行给大众选择在国内每年会有几百部各种类型、各种风格不同的电影上映观众很难在众多的电影中快速找到自己感兴趣的电影。并且用户对个性化服务的要求越来越高。信息时代用户不再满足千篇一律的大众推荐而是希望获得与自己兴趣爱好高度一致的个性化电影推荐用户希望能够根据自己的观影历史、评分记录、喜好类型等各方面情况精准地获取到可能感兴趣的电影推荐减少筛选时间提高观影体验。 协同过滤算法是一种推荐方法它通过对用户的偏好进行分析来给出个性化的电影建议单一的协同过滤法存在一些缺陷例如数据稀疏性以及冷启动问题[1]因此本研究提出了一种双重推荐算法将基于用户的协同过滤和基于物品的协同过滤相结合以提高推荐的质量。 双重推荐算法需要对用户的行为主体以及兴趣爱好有更加全面的了解以用户为基准的协同过滤注重的是用户之间相似度而以物品为基准的协同过滤重视的是物品相似度给用户带来的影响[2]。通过对双重推荐算法的研究可以更好的理解用户行为背后复杂的动机和兴趣形成机制。双重推荐算法能充分利用用户行为数据、电影特征信息从用户和物品两个角度综合分析。通过把基于用户的协同过滤算法挖掘出的用户兴趣深度化与基于物品的协同过滤算法把握住的电影相似性结合起来来提供更符合用户口味和兴趣的电影建议[3]在电影推荐系统中考虑到用户相似度和物品相似度的情况下在推荐用户可能会喜欢的主流电影的同时也可以找到一些跟用户历史喜好有关但比较小众或者新颖的电影。 正确的电影推荐可以使得电影制作者与发行方更清楚地掌握市场需求以及观众的喜好进而依据推荐数据来对电影题材、制作方案、发行计划等作出相应改变从而有利于电影业的发展并且也给其他领域的推荐系统提供了一些借鉴。1.3 国内外研究现状推荐系统的发展可以追溯到上世纪90年代初期早期的推荐系统大多采用简单规则的方法互联网和大数据技术的发展使推荐系统渐渐地演变成更为复杂且智能的系统包含协同过滤、基于内容的推荐、混合推荐等近几年来深度学习、图神经网络等各种新科技的出现推动着推荐系统不断前进[5]。 1国外研究现状 1994年美国明尼苏达大学的GroupLens研究组第一次提出协同过滤的概念并且开发出基于协同过滤算法的新闻推荐系统该系统通过对用户的历史行为数据进行搜集找到和目标用户的兴趣相近的一批近邻集合并把这组近邻集合作为为目标用户提供推荐的基础[6]后来GroupLens团队发表了MovieLens数据集它是推荐系统中使用最多的数据集之一[17]1996年雅虎公司开发了第一个用推荐系统来实现商业化的电商网站My Yahoo这是推荐系统商业化的开始1997年ATT实验室率先提出并设计出两个以协同过滤技术为基础的个性化推荐系统PHOAKS、Referral Web[7]2003年Google推出关键词竞价广告根据用户的搜索内容以及浏览记录去了解用户喜好从而给出相应的广告提升了广告投放的精准度以及点击率。此后推荐系统得到众多互联网公司的重视个性化推荐系统商业模式也蓬勃发展起来[8]。 目前外国学者对于推荐系统的研究呈多维度、创新性的发展趋势学者们在算法优化、融合创新和特定领域应用等各方面不断地深入研究并取得了一系列有影响的成果。Shi等人提出用多代理协同过滤来解决推理幻觉的问题。该方法中不同的智能代理从不同角度或者利用不同的数据子集来进行协同过滤操作一个代理注意用户最近的行为另一个侧重于长期的兴趣爱好它们互相合作、信息共享并共同决策[18]这样就能更加全面准确地捕捉到用户的兴趣变化降低推理幻觉提高推荐结果的准确性以及可靠性。AbbasiRad 等人关注协同过滤电影推荐系统中的冷启动问题试图用共聚类的方法去解决[19]此方法把用户与电影同时聚类依据用户的初始特征注册信息、电影属性类型做初步分组利用聚类簇内的信息进行推荐当用户的数据累积到一定程度后再转为常规的协同过滤算法极大提高了协同过滤算法在新用户或者新电影推荐初期的有效性改善了用户体验。 2国内研究现状 百分点信息科技公司成立于2009年自主研发出国内第一个个性化推荐系统。2011年李彦宏认为百度公司将集中于推荐引擎技术上为用户提供与自身兴趣爱好相契合的内容[10]。目前有关推荐系统的研究有很多学者和研究机构分别即使法改进、混合使用、应用场景扩展等方向展开深入的研究并取得了很多成果对国内推荐系统的发展起到促进作用。部分学者对协同过滤算法进行了改善以克服数据稀疏、冷启动的问题刘昊东改良了用以课程资源推荐的协同过滤算法将用户的学习行为转换成资源评分来丰富交互数据减少数据稀疏现象并且利用用户注册信息获取偏好特征用相似度计算成功解决新文本信息的冷启动问题提高在线学习资源推荐的准确度[11]文小月对于基于 Spark 平台的协同过滤推荐算法的研究也会对数据处理以及算法效率等方面进行改进来提升推荐系统的性能[12]。 同时很多研究都是将协同过滤和深度学习结合使用尹建凯用ALS协同过滤推荐算法配合深度学习模型进行电影推荐工作使用ALS算法筛选候选集利用深度学习模型挖掘电影深层次特征根据用户历史行为建模给用户推荐更符合兴趣和情感需求的电影明显地提高了推荐质量[13]边宁对协同过滤与深度学习推荐算法进行了研究探寻两者的结合方式来提高电影推荐效果以满足用户的个性化需求[14]国内对于协同过滤算法应用场景的拓展做了很多尝试在电影推荐之外还有其他的很多方面也被应用了协同过滤算法并且该算法具有广泛的应用性以及发展前景谢金燃把协同过滤算法应用在二手房推荐及预测上通过对购房者行为数据、已成交交易数据的分析找到相似的用户群体为目标用户推荐合适的房源并对房价走势做出预测为房产市场的参与者提供决策依据[15]梁亚飞基于知识图谱大数据学习推荐方法研究把知识图谱技术同协同过滤等算法相融合探究知识图谱技术在学习推荐领域内的运用借助知识图谱来搭建起知识间的关系网络利用协同过滤算法找出用户的兴趣所在从而向用户给出更为精准的学习资源建议进而提升用户的学习效率和学习体验[16]。 国内外有关基于协同过滤算法的电影推荐系统研究已经取得一定的成果国外的研究主要集中在算法融合创新以及特定领域应用的拓展上国内的研究在算法改进、混合应用以及场景扩展方面都有较大的进展技术不断发展和用户需求日趋多样该领域的研究还会进一步深入在算法性能提高、用户体验改善、应用范围扩大等各方面都将有更多新的发现。1.4论文研究内容和组织结构第一章绪论主要介绍一种以双重协同过滤算法为基础的电影推荐系统研究背景及意义。在信息技术和互联网迅猛发展之下电影行业数据量飞速增长用户交互数据也急剧增多包含电影评分、观影记录、评论以及影片元数据等等诸多信息内容对用户喜好有更深入的认识、改善推荐质量并且提高用户体验来说都是必不可少的数据源。传统的分析方法对于这类数据处理效率低、信息显示不直观不能充分发挥其潜在的价值。因此电影行业急需更加高效智能的数据分析手段于是基于双重协同过滤算法的电影推荐系统应运而生把用户的行为数据同电影的特征进行结合给用户提供个性化、准确性的观影建议来满足电影业对于数据分析迫切需求。第二章可行性分析本章节对双重协同过滤算法的电影推荐系统的经济性、技术性和操作性进行深入的分析就经济可行性而言我们对系统开发、维护和升级的成本进行了评估并且同预期收益加以对比来保证项目的经济可行。第三章为需求分析本章对双重协同过滤算法的电影推荐系统的功能需求和非功能需求做了详细的分析根据系统日常运行的实际需要对电影数据管理、电影分类管理、可视化分析、数据大屏等功能进行了梳理。第4章为系统设计本文的重要部分以对双重协同过滤算法的电影推荐系统提供了系统架构的详细设计以及主要功能模块的设计说明。第五章为系统实现是系统具体实现的章节介绍系统的各个模块并加以说明。第六章是对本章的系统进行测试对前几章所设计出的电影推荐系统中双重协同过滤算法进行系统的运行检查并及时发现和解决问题。第2章 可行性分析2.1 经济可行性从经济性来看该系统具有明显的成本效益。一方面系统的开发成本比较低。Python是开源的编程语言有Pandas、NumPy、Matplotlib等许多免费库和工具可以供系统构建使用降低了系统的开发成本。同时电影平台的数据获取成本也比较低只需要通过合理的方式调用API或者网络爬虫技术就可以获得所需数据。系统运行将会给电影业带来很大的经济效益。通过对电影数据进行深层次分析以及可视化展示电影从业者能够更好地把握市场动态与观众需求从而改善电影制作及推广策略提升票房收益并扩大品牌影响力另外该系统还可以给广告商、媒体机构提供有价值的数据支持拓展其商业应用空间。2.2 技术可行性就技术可行性而言该系统也有明显的优势。Python是一种强功能的编程语言语法简单、容易上手并且具有大量的数据处理和分析库可以很好地完成系统对于数据清洗、预处理、分析和可视化的要求电影平台的数据结构比较清楚容易解析提取。另外大数据和人工智能的发展使得更多的先进算法和模型被应用到数据分析中为系统的实现提供更广阔的空间因此从技术上讲该系统完全具备实现的可能性。2.3 操作可行性该系统具有很强的实用性、操作性系统界面简单明了便于用户理解使用并且提供多种柱状图、折线图和饼图来使数据更形象化同时系统有多种图表可以供用户选择使用以了解各种各样的信息与趋势另外系统支持数据导出和分享功能可以方便用户将分析结果应用到实际业务中这些设计提高了系统的易用性并且也增加了用户的满意度以及忠诚度。2.4 文档截图2.5 项目功能截图