本课题国内外的研究现状分析
1.研究背景:
早在20世纪90年代,人们开始对推荐系统进行研究,早期的推荐系统推荐给用户的方式单一,随着互联网、大数据、云计算、人工智能的发展,各个行业正迈入大数据时代。推荐系统将用户与数据相连,应用领域广,推荐方式多样化,帮助人们应对信息过载及合理地把握用户的需求,为用户带来价值。旅游景点数据也能进行推荐。对旅游景点数据进行深度挖掘与分析,利用多种方式为游客推荐景点数据,方便游客能更精准地了解景点信息,选择感兴趣的景点去参观,实现智慧旅游。
2.国内研究现状:
旅游景点数据推荐系统利用推荐算法实现对用户评论、景点分类等方面进行研究,构建准确的用户画像,精准地预测数据,了解用户对景点的偏好,让用户针对性地选择旅游目的地。张名扬[1]等人利用协同过滤推荐算法,通过综合分析旅游景点的用户评分数据和用户间的相似性,考虑用户对其他景点的评分和偏好,结合相似的用户行为模式,为用户提供个性化的旅游景点推荐,并通过可视化分析功能让用户更好地了解和选择旅游目的地。徐锟[2]等人针对大数据造成的信息冗余问题,提出了一种深度卷积融合位置信息模型DCNN-MPN。首先,借助CNN的水平与垂直滤波器,从用户的过往行为中提取出具有价值的特性。紧接着,将用多头自我注意的数据融入原记录中。最后,通过计算评估目标对象的相似度,让模型能有效地从用户的历史兴趣序列中提取出每个旅游点的权重以及主要和次要的偏好度,并有助于与当前点击率预测模型进行对比,从而实现精准的预测。班航[6]等人基于用户情境数据进行情境聚类,构建出扩展的用户画像模型;根据群体用户画像反映的用户特征,结合情境标签设置个体用户情境特征属性,再融合关联规则和相似度计算为用户推荐个性化的景点,得到更优的推荐结果。王芸[7]等人构建了旅游景点评论数据集。提出了基于图注意力网络的方面级情感分类模型SDGA和基于方面抽取和情感分类的联合模型ATEPC,通过封装SDGAT模型和ATEPC模型的接口实现方面级情感分析预测。然后,利用ATEPC模型对构建的旅游景点评论进行分析,并将情感分析结果进行可视化展示。范路桥[8]等人用Python+Flask+Echarts工具做成国内热门景点数据可视化系统,具有较为强大的功能、良好的互动性,满足了旅游业和游客的实际需求。周倩[14]采用情感识别和负面评论挖掘两种方法对获取到的景点评论数据进行分析处理。杜春[16]利用文本卷积神经网络训练一个情感分类模型,并运用该模型对评论数据进行情感分析。最后,采用FlaskWeb技术开发一个旅游评论的情感分析和可视化系统。杨雯丽[19]利用语境感知实现旅游推荐的研究,通过可视化平台进行个性化的旅游推荐,为了方便游客对推荐结果又直观的了解。陈源鹏[22]等人利用图神经网络的方法,捕捉景点之间复杂的序列语义信息;考虑游客旅游过程中偏好会随时间变化的特点,利用注意力机制获取景点序列中蕴含的游客长短期偏好,实现个性化旅游景点推荐。张舜尧[27]利用序列学习的旅游景点推荐来解决传统推荐算法中因为没有数据而造成的启动困难问题-冷启动,数据稀疏,忽略旅游轨迹中高级语义的问题和推荐准确度低的问题。潘永奇[28]利用聚类方法中的K-means对数据集的用户进行聚类,然后将聚类结果输入到协同过滤算法之中得到推荐结果,最后将推荐结果与传统协同过滤算法进行对比。韦朋杰[29]针对现有旅游推荐研究中存在数据稀疏、旅游因子不足、推荐准确率不高等问题,本文利用微博数据的个性化表达、现势性强等特性以及机器学习的智能化预测作用,提出了基于微博数据与机器学习的景点推荐方法,实现了精准化、个性化的旅游景点推荐。刘斌[30]基于分层抽样统计模型挖掘用户兴趣,对传统协同过滤算法加以改进,设计并实现了性能更优的旅游景点推荐系统。岳森旺[31]通过分析游客的历史操作行为和当前与系统的交互行为,获取游客的兴趣度,然后利用关联规则算法挖掘出景点间的隐含关系,进行景点的推荐。姜季春[36]等人采用改进的贝叶斯分类算法来进行旅游景点的推荐,能够大大降低分类数据的维数,有效提高了景点推荐的准确率。
3.国外研究现状:
国外也有专家利用推荐算法对旅游推荐系统进行研究。Jing Qin[37]在大数据算法的基础上,对SVM模型进行了详细的描述,并结合GWO算法对SVM的算法流程进行了优化,构建了GWO - SVM分类模型。采用GWO - SVM对旅游景区规划开发形象感知进行数据挖掘分析,并以某市旅游景区为例,挖掘影响形象感知的3个因素:形象感知属性、情感形象和探索性变量。Bi Jian Wu[38]等人利用相关性的预测变量选择( CPS )算法的长短期记忆( LSTM )网络集成捕捉这些预测变量与实际旅游需求之间的关系。Zhao Rong[39]等人用学习时间模式来预测这些景点的短期游客人数。Zhewei L[40]等人利用聚类分析提出了一种基于游客在全市范围内的旅游轨迹所检测到的游客偏好来分类文化旅游景点的方法。
1、本人对课题任务书提出的任务要求及实现目标的可行性分析(只限工科类)
(1)软硬件层面:
本次课题“基于旅游景点的数据分析与推荐系统”的项目主要依赖的软件如下:
1)VMware Workstation 16
2)CentOS 7
3)MySQL:8.0
4)Hadoop:3.1.3
5)IntelliJ IDEA 2022.3.3
6)Pycharm 2020.2.1
7)Tomcat 8.5.31
以上软件大部分均为开源免费软件,极少部分需要付费,但仍有社区版本存在一定的试用期,不会影响本次项目的完成情况,同样达到研究效果。
本次课题使用hadoop全分布虚拟机集群,极大节省实际硬件开销,但是模拟全分布形式极大程度地还原项目实际生产的情况,有极大意义,情况十分可观。
(2)数据源层面:
获取旅游景点数据源很容易,直接从旅游平台上就可获取数据源,例如携程旅行、穷游网、猫途鹰等,这些数据源都可以通过爬虫的形式获取,本次采用携程旅行爬取的是北京、上海、广州三个旅游城市的景点数据,穷游网爬取重庆、杭州旅游城市的景点数据,猫途鹰爬取全中国旅游景点数据。
综上分析可得出结论,本课题的目标和任务是可行的,但真正地完成工作量大,难度是有的,覆盖的知识点很广,需要有充分的准备和计划。
2、本课题的关键问题及解决问题的思路
本次课题和项目在平台搭建,软件部署上几乎没有任何较大问题;目前找到的关键问题以及解决思路如下:
(1)数据获取问题:我们是为了获取旅游城市的全部景点数据,但部分数据存在缺失值,是无法获取标签的属性,使用常规的爬取方法不能把缺失数据爬取下来,那么缺失数据使用什么方法爬取下来。
解决思路:先使用pro=bs.select方法从多条数据中获取其中一条数据,再使用pro.select(“.属性名”)方法获取每个标签的属性,再使用属性.text方法得到字段,使用if 属性: else 语句判断字段是否为空,也就是说每个字段是否获取标签属性,是的话就可以获取每个标签的属性,不是的话就填充缺失值。
(2)数据处理与分析问题:如何对上传到HDFS集群中的旅游景点异常数据进行高效地处理与分析,提取有价值的数据,并且把数据写入到MySQL中。
解决思路:先采用MapReduce,进行数据的清洗(去除噪声、异常值)、转换(格式化、聚合),利用Java的JDBC连接功能,将处理后的数据写入MySQL数据库,便于后续的数据管理和查询。
(3)数据可视化问题:使用什么可视化工具和如何将数据可视化,有助于用户快速理解复杂的数据模式和趋势,提升用户体验。
解决思路:利用可视化库,如ECharts等进行数据的可视化呈现,也可以使用不需要编程的BI工具进行可视化,使得分析的结果能以简单、直观的方式呈现出来。
3、完成本课题所需的工作条件(如工具书、计算机、实验、调研等)及解决办法
本课题虽然采用全分布集群模式,但是虚拟机,由此只需要一台实体机,运行内存至少是16GB;软件大部分为开源软件,专业版本有一定的试用期,试用期时间足以支撑本次项目完成搭建并达到实现效果。例如:VMware Workstation 16、IntelliJ IDEA。
本课题虽然数据源很好获取,但是爬取的数据要足够多才行,越多越好,至少是1万条,即使是异常的数据也要爬取下来,目的是进行数据的清洗。爬取的所有数据都要存到MySQL数据库中,部分数据可以不用。

4、工作方案分析及进度计划(工作思路)
阶段一:数据采集
(1)在用携程旅行爬取的是北京、上海、广州三个旅游城市的景点数据,穷游网爬取重庆、杭州旅游城市的景点数据,猫途鹰爬取全中国旅游景点数据。
(2)用Selenium和Beautifulshop库进行爬取和解析网页数据,从携程旅行上获取的数据有景点名称、热度、点评人数、评分、价格、景点类型和景点评论,穷游网上获取的数据有景点名称、评分、点评条数、游客评论,猫途鹰上获取的数据有景点名称、点评条数、游客评论。
(3)使用pymysql将爬取到的数据保存到MySQL中。
阶段二:推荐算法
(1)先从MySQL数据库中读取从穷游网上爬取的景点评论条数据,使用中文分词工具jieba库对预处理的评论进行分词,使用TF-IDF算法计算每个词的权重,根据权重对词进行降序排序,选取权重最高的前25个词作为景点的关键特征。
(2)使用朴素贝叶斯算法读取从猫途鹰上爬取的景点类别数据,分解出各景点的关键特征并确定训练数据对应的特征分类,计算每个景点类别中对应特征的条件概率,计算景点所属各类别概率,选取概率值最高的类别作为该景点的分类。
阶段三:数据预处理和分析
利用Hadoop FS Shell命令行工具或Java API等工具从MySQL中上传从携程旅行上爬取的旅游景点数据集到HDFS中。使用MapReduce编写Java程序分析景点名称、热度、点评人数、评分、价格数据、点评内容,对异常值、重复值进行数据清洗和预处理,数据标准化、检测数据的一致性与有效性等,将处理后的数据写入到MySQL中。
阶段四、系统设计
(1)配置tomcat工具启动web项目。
(2)后端代码创建存放数据库连接工具类,存放对数据库操作的接口类,存放处理HTTP请求和响应数据,存放初始化和过滤的过滤类。
(3)前端代码创建存放xml文件,登录、注册、添加、全查、修改、索引功能的jsp文件
(4)最终实现对处理后的数据做成一个增删改查功能的推荐系统,运行出来先是一个登录和注册界面,点击登录后看到是一张表,表中的数据是处理后的数据,表的上方是添加按钮,表的右边是删除、修改按钮,点击任何一个按钮都能成功实现。
阶段五:数据可视化
(1)根据业务场景,使用Matplotlib、pyecharts、seaborn三种库中其中一种库对MySQL数据库中处理后的数据进行图表的可视化,对穷游网上爬取的景点评论数据分词,过滤掉非中文词汇,生成词云。
(2)根据数据的特点和可视化的目标,选择合适的可视化类型,如条形图、折线图、饼图、散点图等。设计可视化的布局、颜色、字体等,让图表能直观地呈现出来,显著体现出景点的差异性,确保视觉效果的吸引力和易读性。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐