基于大数据挖掘技术的智慧旅游推荐系统的设计研究
2022-01-11李伟
李伟
(六盘水师范学院数学与计算机科学学院,贵州 553000)
0 引言
随着我国旅游产业规模不断扩大,旅游信息呈现爆炸性增长,导致游客很难获取有价值的信息,旅游服务开始从传统的信息化向智能化转变。智慧旅游推荐系统从海量旅游信息资源中发现游客感兴趣的信息,并将个性化需求信息推荐给对应的游客用户,因此推荐系统的研发对智慧旅游的发展具有重要意义。目前,国内外主要从两个方面对智慧旅游进行研究:①通过具体的实例来展现智慧旅游的发展情况。②研究如何构建智慧旅游体系[1]。Jeong H 分析用户对景点的访问信息,根据用户的地理信息对旅游用户进行推荐[2]。Huang Y 利用贝叶斯网络分析用户的数据,构建智慧旅游推荐系统[3]。近年来智慧旅游推荐系统在我国快速发展起来,它是信息技术与旅游资源结合的产物,也是旅游发展理念的重大变革。但智慧旅游推荐系统仍存在很多问题,例如推荐系统的性能较差、推荐信息不准确等。
本文研究利用大数据挖掘技术,改进基于项目的协同过滤算法,分析游客的历史数据和游客与系统的交互行为来获取游客的兴趣,使用Mahout 实现分布式智慧旅游推荐系统,为旅客提供高效的个性化服务信息推荐。
1 系统架构
为了给游客提供精准智能的个性化服务,景区需要搭建智慧旅游推荐系统[4]。基于大数据挖掘技术的智慧旅游推荐系统的总体架构如图1 所示,分为数据层、分析层和应用层。数据层是推荐系统的数据来源,整合所有智慧旅游业务数据,包括旅游资源、用户信息和服务器日志等数据;分析层使用大数据开源框架Hadoop,其两大核心是HDFS 和MapReduce,在Hadoop 的基础上采用Mahout 分布式程序实现基于项目的协同过滤推荐;应用层主要向终端用户推送的服务有景点推荐、路线推荐和资讯推荐等。游客可以通过手机终端向系统请求服务信息,系统根据景区的实时状况和游客特征向游客推送个性化推荐服务,同时系统可以收集游客对推荐结果的反馈信息,从而改善推荐结果的准确率。
图1 智慧旅游推荐系统的总体架构
2 关键技术
个性化推荐系统是建立在数据挖掘的基础上的一种高级智能服务,它组合各种软件技术和工具为用户推荐信息[5]。智慧旅游推荐系统向游客推荐其感兴趣的旅游服务信息,为了保障推送的服务信息是游客真正需要的,系统首先需要收集游客的偏好,然后从信息库中选择与游客偏好匹配的项目,再推荐给游客。智慧旅游推荐系统的关键技术主要包括构建游客兴趣模型和推荐算法。
2.1 游客兴趣建模
游客在智慧旅游推荐系统中分为显性反馈和隐性反馈两种行为。显性反馈行为是游客已经旅游的景点信息、路线信息和酒店信息等历史数据,其表现方式是对信息的评分和偏好。隐性反馈行为是游客对景点网上相关信息的浏览数据,以及游客与系统的交互行为。
游客兴趣模型包括:游客的姓名、性别和年龄等基本信息,游客对景点、酒店等的评分信息,游客当前所在景点和路线等位置信息。
2.2 推荐算法
建立游客兴趣模型以后,推荐系统对游客进行个性化推荐还需要使用推荐算法对数据进行分析处理。基于项目的协同过滤算法是根据用户已有的信息,去推算出用户可能含有或即将含有的信息[6]。系统采用的基于项目的协同过滤算法,将所有游客对某个景点的偏好作为一个向量来计算景点之间的相似度,得到景区的相似景区后,根据游客历史偏好预测当前游客还没有表示偏好的景区,计算得到一个排序的景区列表作为结果推荐。如图2所示,对于景区1,根据所有游客的历史偏好,喜欢景区1的游客都喜欢景区3,得出景区1 和景区3 比较相似,而用户C 喜欢景区1,那么可以推断出用户C 可能也喜欢景区3。
图2 基于项目的协同过滤算法
相似度的计算的方法主要有欧几里德距离、皮尔逊相关系数和余弦相似度[7],本文利用余弦相似度来计算项目的相似度。但是余弦相似度方法忽略了不同用户打分的严格程度,有的用户偏向于给高分,而有的用户偏向于给低分,本文改进了余弦相似度,通过减去用户打分的平均值来去除用户打分习惯的影响,如公式为:
其中,Ri为用户i的打分平均值,Rj为用户j的打分平均值。
2.3 Mahout
Apache Mahout 中提供了协同过滤算法的实现[8],它是一个基于Java 实现的可扩展和高效的推荐引擎,从数据处理能力上可以分为单机内存算法实现和基于Hadoop的分步布算法实现。本文采用基于Hadoop的分步布算法,以来提高智慧旅游推荐系统的性能。在运行时Mahout 分布式程序会把MapReduce 类型的程序包,自动发布到Hadoop集群环境中执行。
3 实验分析
为了检验本文所提出方法的有效性,在Movie-Lens 数据集上进行验证,并随机抽取80%的数据作为训练集,20%的数据作为测试集。本文采用均方根误差RMSE(root mean squared error)作为评价标准,通过计算预测的用户评分与实际的用户评分之间的偏差来度量预测的准确性。RMSE公式为:
其中,{P1,P2,…,PN}为N个项目的预测评分集合,{r1,r2,…,rN}为N个项目的实际评分集合。当RMSE值越小时,表示推荐质量越高。实验采用余弦相似度和改进的余弦相似度来计算项目之间的相似度,值的分布如图3 所示,由图可以看出余弦相似度分布较为均匀,而改进的余弦相似度分布更加个性化。使用项目的评分值减去用户评分的平均值,能够真实反映出项目的差异特征,因此改进的余弦相似度计算方法可以得到较高推荐质量。
图3 实验计算项目的相似度
4 结语
随着大数据技术的发展和旅游信息数据的增长,搭建基于大数据挖掘技术的智慧旅游推荐系统,利用大数据的分布式计算能力,能够快速处理旅游信息数据,实时的进行智慧旅游服务信息推荐。因此,智慧旅游推荐系统具有良好的应用前景,来为游客提供智能和高效的个性化信息推荐服务。