基于游记图文信息的个性化旅游路线推荐应用
2020-06-16廖旺宇
廖 旺 宇
(四川旅游学院信息与工程学院 四川 成都 610100)
0 引 言
随着互联网技术快速发展、移动端设备迅速普及,越来越多的旅行者将旅行经验、建议和体验等通过游记的形式发布到在线社交平台。游记中含有大量不同游客的独特体验和可靠的出行建议,为计划出行者的景点和线路甄选提供了极佳的参考依据。从爆炸式增长、庞杂多样的游记中,获取历史游客的偏好、习惯以及景点的流行度等信息进行更精确的个性化旅游路线推荐[1-2],成为了目前旅游路线推荐的研究热点[3]。
根据数据来源可以将路线推荐方法分为两类:基于游客分享的文字信息和评论的推荐[4-6]、基于游客分享的带有相关属性记录的照片的旅游路线推荐[7-13]。
文献[4]对游记文本进行挖掘、发现并聚合景点特色进行路线推荐;文献[5]通过提取游记中的地理名词并结合关联规则和决策树等方法进行路线推荐。但它们均只进行了文本分析,忽略了游记中包含的大量图片信息。文献[7]利用图片中的定位信息和拍摄时间推导出游客在景点的逗留时间用以计算游客偏好和景点流行度并开展路线推荐;文献[8]利用社交媒体发布的图片按照聚类得到的区域进行景点区域推荐;文献[12]利用贝叶斯模型基于游客发布的照片分析游客特征和旅游群体特性进行路线推荐。但它们仅分析了图片信息,忽略了文本,社交媒体发布的海量游记却往往图文并茂。
此外,基于隐私保护等考虑,国内社交媒体中发布的游记中的照片往往刻意隐去了部分属性数据,如:GPS定位和拍摄时间等。上述属性的缺失可能导致游客偏好和景点流行度计算工作无法完成。本文改用游记中游客在各景点拍摄的图片数量计算游客偏好和景点流行度,并辅以游记的文本描述弥补由此导致的部分属性数据缺失的问题。因此,综合利用图片和文字信息往往能获得更准确的推荐结果。
文献[9,13]结合游客发布的地理位置信息提出基于景点流行度的路线推荐,但它们仅考察了景点的流行度,忽略了游客偏好或兴趣点(Point of Interest,POI)类型。文献[11,15]主要运用游客偏好进行旅游路线推荐,没有考虑景点流行度及游客指定的起止点或途经点。
本文提出一种个性化旅游路线推荐(Personal Trip Recommendation based on Interest and Popularity,PTRIP)算法。该算法综合考虑了网络游记中文字描述和照片数据,利用景点共现信息和游客对某类POI所拍摄的照片数量等分别计算出景点流行度和游客对各类景点的偏好,并结合游客在POI间转换的时间成本,生成了旅游路线转移图,进行旅游路线推荐。与原有方法相比较,本文算法同时利用了游记中的文本和图片信息,综合考虑了游客偏好和景点流行度两项因素,有效提高了推荐的准确率。
1 相关定义
设POI转移图为G=
图1 POI转移图示例
定义1游客偏好集合。给定游客t,其对类别为ci的POI的偏好程度的集合可以表示为:Int(t)=
定义2POI间的交通成本。游客从pi到pj所需的交通成本定义为:
cost(pi,pj)=distance(pi,pj)/speed
(1)
式中:distance(pi,pj)表示pi和pj之间的距离,其值为高德地图所记载的POI之间的实际距离。由于公交游览和自驾游览方式受交通状况影响较大,一般情况下,游客步行耗时则在可预测范围内[16],本文统一选取POI间步行转换耗时作为出行时间代价度量方式,取speed=5 km/h。
定义3POI评分。本文的POI评分由景点流行度和游客兴趣偏好按权重综合计算得到。对类别为ci的POIpi的评分定义为:
score(pi)=α·Int(t,ci)+(1-α)·pop(pi)
(2)
式中:pop(pi)为POIpi的流行度;α为权重调节参数。
定义4游客收益。给定游客t、路线景点总数n和POI评分集合,游客收益定义为:
(3)
2 PTRIP路线推荐方法
2.1 方法框架
本文提出的旅游路线推荐算法分为数据预处理、POI模式处理及关联图构建和游客兴趣偏好学习及路线推荐。采用离线方式构建POI转移图并学习游客的兴趣偏好,通过分析游记中的景点共现信息和照片数据得到POI的流行程度和游客偏好。采用在线方式进行路线推荐,根据游客输入的个人信息、预计游览的景点个数和指定的游览点,利用本文提出的PTRIP算法,综合考虑POI流行度和游客偏好,将游客收益最高的路线推荐给游客。详细框架如图2所示。
图2 旅游路线推荐框架图
2.2 POI转移图的构建
本文采用离线方式构造POI转移图,将所有POI作为途中的结点,游客连续访问图中的有向边可以生成旅游路线。
2.2.1游记映射
游客分享的网络游记中含有出行路线、旅行感受等文字描述信息和其在各景点所拍摄的照片,并能够提取出游记编号和游客编号。通过对文本信息的分词操作,结合照片中的位置信息可以提取出游客游玩的POI列表St=(p1,p2,…,pn)。同时,通过高德地图可以获取到列表中两两相邻的POI之间的实际出行距离,并以步行方式计算POI间转换的时间成本。
2.2.2POI的流行度
本文的POI流行度由游客分享的历史游记中的照片数量和景点共现信息按权重综合计算得出,方法如下式所示:
(4)
式中:N(p)表示游览过POIp的游客所拍摄的照片总数;Nmax表示所有游客在同类别POI中照片数最多的POI拍摄的照片数;F(p)表示游记中POIp被提及的次数;Fmax表示游记中同类别POI中被提及频率最高的POI被提及的次数;β为权重调节参数。
2.3 游客兴趣偏好
本文利用网络中分享的游记,基于照片数量定义游客的兴趣偏好。游客在前往一个POI游览时,往往会对自己感兴趣的内容拍照留念。可以根据游记的记录计算出所有游客对于任意一个POIp所拍摄的照片的平均数,如下式所示:
(5)
但游客对于特定类别POI的兴趣偏好程度无法仅通过POI的平均照片数量进行准确衡量。因此本文利用游客拍摄的照片数量与POI的照片数量均值比来衡量游客的偏好。方法如下式所示:
(6)
式中:catp表示POIp的类别属性;
式(6)基于游客t在类别为c的POI所拍摄的照片数量计算出其对该类POI的偏好程度。其原理为一名游客在POI所拍摄的照片数量往往与其对该类POI的偏好程度呈正比。
2.4 PTRIP算法
2.4.1算法描述
本文综合考虑基于照片数量和景点共现信息的POI流行度和游客兴趣偏好,提出PTRIP路线推荐算法。算法根据POI集合P,游客指定的路线中须包含的游览点POIpi(i∈{1,2,…,n}),为游客推荐一条游览收益最高的路线R={p1,p2,…,pn}。
路线收益的计算方法如下:
(7)
式中:Xi,j标识p和pj之间是否有可行的路线,若有则其值为1,否则为0。
2.4.2路线规划
为了更好地说明本文提出的算法,以图1为例,给定信息如表1所示的POI的集合P={p1,p2,p3,p4,p5,p6,p7,p8,p9}。
表1 POI属性信息
给定一名游客t1,以及他游览过的POI集合St1={p1,p4}。游客t1游览过的POI和在每个POI的照片数如表2所示,根据历史游客数据由式(5)计算出的每个POI的平均照片数如表3所示,由式(4)计算出的每个POI的流行度阈值如表4所示。游客t1在POI之间转移所需付出的时间成本和各POI的评分值分别由图1中有向边的值和结点的值表示。
表2 游客t1游览过的POI
表3 POI平均照片数量
表4 POI流行度
设游客t1指定p6为路线中必须包含的游览点,并预算游览5个景点。假定α=0.7,由式(6)可以计算出游客的兴趣偏好向量Int(t1)=<0,0,3.24,1.78,0,0,0>,则根据PTRIP算法可得到9条满足游客要求的路线R1={p1,p2,p4,p6,p8},R2={p1,p3,p4,p6,p8},R3={p1,p3,p7,p9,p6},R4={p1,p3,p7,p6,p8},R5={p2,p4,p6,p8,p10},R6={p3,p4,p6,p8,p10},R7={p3,p7,p6,p8,p10},R8={p3,p7,p9,p6,p8},R9={p7,p9,p6,p8,p10}。由式(3)对9条路线进行游客收益计算,得路线R1的收益为0.70,路线R2的收益为0.78,路线R3的收益为1.88,路线R4的收益为0.95,路线R5的收益为0.13,路线R6的收益为0.19,路线R7的收益为0.25,路线R8的收益为0.99,路线R9的收益为0.31。最后,将游客收益最高的路线R3={p1,p3,p7,p9,p6},即路线{宽窄巷子,文殊院,锦里,武侯祠,大熊猫基地}推荐给游客t1。
3 实验评价
3.1 实验数据
本文采用马蜂窝网站的以“成都”为关键词获取的2 562篇游记作为实验数据集。经过数据预处理后该数据集主要包含两个方面的内容:一是成都市及周边区域的126 368条照片数据,包括照片所属游记编号、拍摄地点;二是游记中268个POI的共现统计信息,以及5 215条历史单日出行路线和路线中连通的POI间的实际距离信息。本次实验采用推荐系统验证中常用的留一交叉验证法对算法进行实验验证,它循环指定数据集中的记录分别作为测试集或训练集,并对每次循环的预测结论进行综合计算得出测评指标[10]。
3.2 实验结果及分析
3.2.1参数β有效性分析
β值用于确定计算POI流行度时照片数量与景点共现信息的权重分配。在仅使用POI流行度进行路线推荐的情况下,给定游览的景点个数和指定游览点不变时,β值对路线推荐准确率的影响如图3所示。
图3 β值对准确率的影响
β=0时表示仅根据游记中的景点共现数据计算POI流行度,β=1时表示仅根据照片数量情况计算POI流行度。由图3可知,路线推荐的准确率随β的变化而出现波动,且曲线两端准确率最低,说明综合考虑游记中的景点共现和照片数量值计算得到的POI流行度比单独考虑景点共现或照片数量得到的POI流行度的推荐效果都更好,且当β=0.1时达到最佳推荐效果。
3.2.2参数α有效性分析
α值用于确定计算路线评分时游客兴趣偏好和POI流行度的权重分配。在给定的游览点个数和指定的游览点不变的情况下,α值对推荐准确率的影响如图4所示。
图4 α值对准确率的影响
α=0时表示仅利用POI流行度进行路线推荐,α=1时表示仅利用游客偏好进行线路推荐。由图4可知,随着α值的增长,路线推荐准确率呈现先增长再下降的趋势,说明综合考虑POI流行度和游客偏好的推荐效果优于仅考虑POI流行度或游客偏好的推荐效果,且当α=0.7时达到最佳推荐效果。
3.2.3PTRIP算法有效性分析
本文分别将只利用游记文本数据、只利用游记图片数据和只考虑POI流行度、只考虑游客兴趣偏好的原有推荐算法与PTRIP算法分别进行对比,以验证PTRIP算法的有效性。在不同的游览景点个数预算下,将PTRIP算法与原有算法的准确率相比较,实验结果如图5所示。
(a) 与单独考虑文本或图片的原算法比较
(b) 与单独考虑流行度或游客偏好的原算法比较
由图5(a)可知,PRTIP算法的准确率显著高于仅利用游记文本中的景点共现信息的推荐算法的准确率,同时也高于仅利用游客照片信息计算POI流行度和游客偏好的原有算法[7]的准确率。
由图5(b)可知PRTIP算法的准确率明显优于只考虑游客偏好和只考虑POI流行度的传统算法。
综上,实验证明本文提出的PTRIP算法能够更加有效地综合运用游记中的文本和照片信息,并且更加精确地推荐符合游客需求的旅游路线。
4 结 语
为提升旅游路线推荐的准确率并综合利用游记中的图文信息,本文提出了个性化路线推荐算法PTRIP。该算法首先利用网络游记中分享的景点共现信息和照片数据求取POI流行度和游客的兴趣偏好,然后综合利用上述信息构建了个性化旅游路线推荐框架,向游客推荐最优游览路线。最后利用分享在马蜂窝网站的真实数据集进行实验验证,证明本文提出的PTRIP算法的推荐准确率显著高于只利用文本景点共现信息的传统推荐算法的准确率,也高于仅利用游客照片信息的原有算法[7]的准确率。PTRIP算法的准确率比只考虑POI流行度的传统算法有较大提升;比只考虑游客偏好的传统算法也有所提升。并且,综合运用游记的图文信息,一方面使得游记中记载的信息得到最大化利用,一方面也可由文字记录弥补由于隐私等原因造成的游客照片基本属性不全的问题。PTRIP算法计算的POI流行度评分质量也高于传统的单独考虑文本或图片的算法。经实验验证,PTRIP算法可以有效地综合利用发布在社交媒体中的游记的图文信息,进行更加准确的个性化旅游路线推荐。下一步工作可考虑结合定向问题进一步优化智能算法,降低算法运行开销、提升效率,并将上述推荐方法运用于旅游美食推荐应用中。