- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
??
?
??
基于个性化推荐算法的电影旅游APP
?
??
?
?
?
?
?
?
?
???
?
?
?
?
?
摘要:近年来旅游业发展迅速,生活多元化、个性化的趋势使得将特色旅游与影视作品相结合的影视旅游主题备受年轻人青睐。因此我们提出开发一款基于个性化推荐算法的影视旅游APP。APP采用协同过滤推荐算法,实现针对不同用户的个性化影视旅游资源推荐,还可以根据多种路径规划算法为用户实现旅游路线的个性化推荐,达到智能规划的功能。
关键词:影视旅游,个性化推荐,智能规划,协同过滤推荐算法
1引言
随着生活水平的不断提高,物质的充足已经无法完全满足人们对生活多元化、个性化的追求。在提高精神生活水平的过程中,看电影、旅游成为了很多人休闲放松的方式。电影是日常生活中流行文化的重要组成部分,而这些电影制作的背景往往成为吸引人的中心[1],对于自己在电影中看到的美丽的场景,自然会产生想去其中游历的想法,有需求就有市场,影视旅游应运而生。
本文提出基于个性化推荐算法的电影旅游APP的构想,研究基于用户喜好的协同过滤推荐算法,实现电影景点的个性化推荐,以及基于路径规划算法的智能规划路线功能。
2APP整体架构
本APP为一款集电影、旅游景点资源为一体,辅之以路线推荐、旅游导航、社交分享、旅游攻略的多功能APP,采用基于用户喜好的协同过滤推荐算法,实现电影景点的个性化推荐,以及基于最短路径算法的智能规划路线功能。旨在将电影场景与旅游景点相关联,并且不拘泥于某一景点或电影,而是通过主题进行推荐。在推荐中,用户可以找到想看的电影,也能发现想去的景点。实现为不同喜好的用户推荐电影和景点,安排个性化旅游路线的核心功能。同时提供景点实地导航、酒店查询、旅游攻略、游记分享等模块,丰富APP内容。主要内容可以分为:实现多目的地路线规划;目的地模糊的智能推荐景点;目的地明确的智能规划游览路线、景点实时实地导航、其他应用功能设计与实现。
APP采用前后端分离的开发模式,前端使用Vue框架;接口服务器采用SpringBoot框架;采用Redis+Mysql作为存储数据的解决方案。数据获取方面,使用基于Scrapy爬虫框架。目前爬取了电影1千多部,景点2万多条,周边酒店1万多个。推荐算法采用基于用户的协同过滤算法。景点规划算法使用基于迪杰斯特拉和广度优先搜索的A*算法。
3算法
3.1偏好景点推荐算法
在人们普遍追求生活多元化的同时,个性化旅游推荐越来越受到人们的欢迎和关注。应用基于用户的协同过滤推荐算法[2],为用户实现景点推荐。
3.1.1筛选关联用户
用户众多,每个用户的需求都不尽相同,研究的前提是筛选出有共同喜好的用户,以减少无意义的计算。采用倒排法[3]筛选关联用户。首先将用户-物品表转化为物品-用户表,即倒排表。然后根据倒排表画出相似度矩阵。
3.1.2计算用户相似度
筛选出关联用户后,根据用户过去的行为轨迹计算这些有关联的用户的兴趣相似度。根据常用相似度算法杰卡德相似系数[4]:
(1)
变形得出计算两个用户兴趣相似度的方法:
(2)
式中代表了用户感兴趣的电影和地点,代表了用户感兴趣的电影和地点。
值得注意的是,相似度矩阵中数值为0时,不需要去计算兴趣相似度。
3.1.3计算用户对物品的兴趣度
利用用户对物品的感兴趣程度公式求得用户对物品的兴趣度:
(3)
式中是与用户兴趣最接近的个用户的集合是对物品有过行为的用户集合,是用户和用户的兴趣相似度,代表用户对物品的兴趣因为使用的是单一行为的隐反馈数据,所以另其等于1。
3.1.4分析法进行推荐
得到用户对物品的兴趣度后,利用[5]分析法为用户推荐。
分析法为通过算法从研究对象中得到所需的个数据,并从排序列表中选取最大或最小的个数据,即对所有物品进行计算兴趣度后进行降序,取前个物品推荐给用户。
精确判断两个用户的兴趣是否相同,广受欢迎的热门物品并不能说明问题,而应该用冷门产品做决策。利用更能精确判断的公式:
(4)
式中惩罚了用户u和用户v共同兴趣列表中热门物品对他们相似度的影响,使得结果更为精确。
3.2游览顺序推荐算法
采用最短路径算法实现为用户智能规划路线,设计计算位移距离最短的算法,选择“球面距离公式”[6],设所求点A纬度角β1,经度角α1,点B纬度角β2,经度角α2:
(5)
将需要计算距离的两点记为A、B,球心为O。地球本身是个不规则的球体,本文将其看作一个规制球体半径取平均值:6371.393千米。编写SQL语句的时候将算法分解为以下3步:
——求∠AOB的余弦值;
——求∠AOB的反余弦值,值域为[0,π],本质是;
的反余弦值,等价于,集合弧长公式。
4APP效果展示
图1:路线规划
图2
文档评论(0)