上下文感知旅游推荐系统研究综述
2019-07-16匡海丽常亮宾辰忠古天龙
匡海丽,常亮,宾辰忠,古天龙
(桂林电子科技大学 广西可信软件重点实验室,广西 桂林 541004)
旅游业的发展使得网络正成为人们规划旅游的最重要信息来源[1]。推荐系统的出现为人们提前计划行程提供了很有价值的参考信息,跟搜索引擎相比,推荐系统最明显的优势在于它可以直接通过用户的历史记录数据分析用户的喜好,从而能够给用户推荐其需要的信息。旅游推荐系统的设计与应用极为复杂,不仅包括用户的主观决策因素,还包括用户当前的上下文因素(如位置、天气、身体状况)。上下文感知推荐系统通过将上下文信息引入推荐系统,旨在通过减少信息超载并向用户提供感兴趣的旅游信息,以进一步提高推荐精确度和用户满意度[2]。对于上下文感知推荐系统的研究已成为一个新兴的热点[3]。
1 基于上下文的旅游推荐理论
“上下文”通常的定义是指所有可以表征物体特征的信息。在位置、物体属性、时间等维度都存在丰富的用户及被推荐对象的上下文信息[4]。比如,用户的上下文信息通常是由不同的属性组成:物理位置、情绪状态、个人历史、天气因素等。在个性化推荐系统中,将上下文信息融入进来将有效地提高推荐精确度和用户满意度。
在基于上下文的旅游推荐系统中,通过旅游行业信息库、第三方web服务信息库和旅游产品知识库中挖掘的信息构建旅游信息库,利用天气信息、移动设备感知信息等用户上下文信息与同伴意见等社会上下文信息作为补充,根据用户爱好、限制条件和用户评分等信息分别获取用户的显式及隐式偏好并对用户建模。针对用户输入的需求,根据实际情况选用合适的推荐方法,最终产生个性化的推荐结果。最后,结合图表、虚拟现实等技术将推荐结果可视化到客户端。因此,本文设计了如图1所示的基于上下文的旅游推荐系统的整体框架。
图 1 基于上下文的旅游推荐系统整体框架Fig. 1 The framework of the context-aware tourism recommendation system
一般来说,基于上下文的推荐系统流程可以分为4个阶段[5]:1)数据收集与预处理,通过相关技术获取用户作用于项目的相关历史行为数据并按所需规整数据;2)用户偏好分析,利用用户历史行为数据或者其他源数据发现隐含的用户偏好;3)推荐列表生成,根据用户偏好信息预测用户喜爱的项目,结合获取的上下文信息为用户提供推荐列表;4)反馈,根据相关评价方法和评价标准对推荐列表中的结果进行评估,并做出适当的改进。
传统的推荐方法直接通过用户的历史记录数据分析用户的喜好,从而能够给用户推荐其需要的信息。但传统的推荐方法在应用中存在不足,例如:基于协同过滤推荐[6]经常受到冷启动和数据稀疏等问题的困扰;基于内容的推荐[7]虽然可以相对有效地应对项目冷启动问题,却经常受到过拟合问题的困扰,同时也不能处理那些非文本项目的特征抽取和推荐问题;基于知识的推荐[8],不需要计算大量的用户数据,但难以获取到足够的知识来构建用户-项目知识库;基于人口统计的推荐[9]在一定程度上侵犯了用户的隐私,而且用户画像信息的收集可能存在很大噪音[10]。此外,旅游推荐领域特有的情况使得传统的推荐方法不能够实现理想的推荐结果,所面临的问题有:
1)对于旅游产品本身,既可以是单一的住宿、景点、交通等产品的选择,亦可以是这些元素的组合,因此需要考虑用户和旅游产品之间的时空关系。
2)除了考虑用户的偏好之外,用户还经常受到特定的限制。例如旅行之前,用户会综合权衡时间和金钱的花销。这与传统的推荐很不同,比如电影推荐就很少考虑花销(因为电影时长和价格变化幅度都较小)。
3)需要考虑用户的社会属性。网络社区中,相互联系的群体,受社会因素的相互影响,往往表现出相似的兴趣爱好[11]。
4)同伴的人口统计信息、社会地位、偏好的差异性可能会对用户的最终选择产生一定的影响,因此结合所有成员偏好的组推荐系统[12]也是需要关注的问题。
5)旅游网站一般呈现静态的景点,景点之间没有更多的关联,游客需要自行浏览、搜索和组织旅游路线,这显然是耗时的;一些平台为游客提供的路线选择通常是由旅行社制定,并不能满足用户的个性化需求[13]。
6)需要考虑景区分流问题。游客进入景区后,面对数量众多的景点和有限的时间及体力,如何根据用户的偏好及当前的交通信息安排游览路线,实现景区、景点的排序及游览路线推荐,也是旅游推荐领域关注的一个焦点。
因此,通过引入上下文信息优化推荐效果是目前旅游推荐领域的研究热点。
2 基于上下文的旅游推荐方法
在基于上下文的旅游推荐系统的框架中,根据使用到的上下文信息范畴不同,基于上下文的旅游推荐方法可以分为基于位置的旅游推荐、基于时间的旅游推荐、基于社会化网络的旅游推荐和基于多维上下文的旅游推荐。本节将从以上4个角度来介绍上下文感知推荐系统的相关研究工作。
2.1 基于位置的旅游推荐
基于位置的旅游推荐系统可以根据用户的历史消费位置获取用户在位置方面的偏好以提供个性化的旅游推荐,其中,用户的位置可以通过移动设备和GPS定位等获取。基于位置的旅游推荐一般模型如图2所示。
图 2 基于位置的旅游推荐一般模型Fig. 2 The general location-based recommendation model for travel
Noguera等[14]结合用户位置和偏好为移动设备提供一个汇集了推荐引擎和移动三维地理信息的混合推荐系统。采用基于协同过滤和基于知识的混合方法在信息稀缺的情况下解决了冷启动问题,根据用户位置与偏好为用户提供餐馆推荐服务。该系统克服了某些推荐系统不能应用在移动设备上的缺点[15]。但在实际应用中,对距离与景点的兴趣度上需要用户自主权衡,自动化程度较低。
Li等[16]使用协同过滤算法结合位置信息,通过GPS定位系统为旅游移动商务服务平台提供一个位置感知推荐系统。根据用户的即时位置以及距离远近对用户的偏好影响的大小,得到旅游者对旅游信息的兴趣值,通过对兴趣值的计算为旅游者推荐。虽然在一定程度上提高了用户的满意度,但系统仍然存在协同过滤算法所面临的数据稀疏性和冷启动问题。
Liu等[17]根据地理信息系统提供的信息,结合数据挖掘和Web GIS技术,根据用户和景点的特征数据设计了一个个性化的智能路线推荐系统,使得用户在一定的时间内能够花费最少的费用到达尽可能多的景点。不过该系统的不足之处在于没有使用移动设备和GPS动态地收集用户数据,无法实现实时推荐。
2.2 基于时间的旅游推荐
基于时间的旅游推荐通常需要考虑推荐景点明显的季节性因素,而考虑到景点都位于不同的地区,这些时空信息也可以被视为景点的季节性旅游情境[18]。比如,在冬季外出旅行,温泉、滑雪比较受欢迎,而夏季出游时,更多人倾向于选择水上乐园等避暑项目。在旅游推荐的背景下,时间信息对用户的影响主要体现在两个方面:用户兴趣变化与季节效应。
李雅美等[19]提取时间等与旅游景点密切相关的特征标签来描述用户兴趣特征,将相似的用户群体聚类,通过协同过滤的方法为用户推荐感兴趣的景点。基于时间标签的推荐算法在实验中提高了推荐结果的准确率,验证了时间因素对于提高推荐系统性能的有效性。
卢露[20]针对时间因素对推荐效果的影响,提出了一种概率模型,综合考虑并结合了用户的兴趣度、用户所处的时间和地点自身的流行度这3个因素对推荐结果的影响。该模型克服了数据稀疏性问题,在Foursquare数据集上开展的实验证实了该模型能获得更好的推荐效果。但该模型中3种因素对应的权重仍需人工忖度设置,自动化程度低。
Zhang等[21]针对以往研究中将连续时间切分为多个时间段,导致时间信息缺失且时间联系被切断的问题,提出了一种利用时间影响的时间感知位置推荐算法(TICRec)。利用连续时间内用户访问某景点的概率密度来避免时间信息的缺失,在实现位置推荐的同时,还能为用户推荐访问该位置的时间。经实验,该算法有效地利用了时间信息并能充分考虑时间因素为用户推荐更准确的结果。
总的来看,基于时间的旅游推荐有比较强的时间依赖性,不像传统的项目推荐通常稳定在一段很长时期内(如歌曲)。这样的特性要求了基于时间的旅游推荐在考虑时间因素对用户的影响时,不仅需要考虑用户长期历史行为,还需要考虑用户近期行为。而在考虑时间因素对推荐项目的影响时,则需要考虑推荐项目本身存在的时间效应。基于时间的旅游推荐让推荐系统能有效地提高某个特定时间情景下的推荐效果。
2.3 基于社会化网络的旅游推荐
社会化推荐通过社交网络、社交搜索、社交媒体、标签等获取社交行为数据,利用计算机技术,例如数据挖掘、自然语言处理等进行研究,挖掘出集体智慧。这种服务方式不同于传统的信息推荐服务,它将社会网络、社交媒体视为信息推荐的主要平台,使用户的隐性知识在社会化推荐过程中与其他用户进行交互,形成交流。在社会化网络中,用户间的信任关系对于用户的兴趣存在着巨大的影响,用户间隐含的信任信息在推荐系统可靠性上扮演重要角色。比如,社会关系更亲近的用户之间,对于彼此的推荐,由于较高的信任度,用户倾向于相信并选择推荐的项目。基于社会化网络中用户信任关系方面已存在不少旅游推荐的相关研究工作。
Ravi等[22]发现用户倾向于接受信任用户的推荐,利用社交网络数据提出了基于社会相关信任度算法的旅游推荐系统。两个用户之间的信任度通过真实的数值来表示,1代表完全信任,0代表不信任,系统通过公式
来计算用户之间的信任关系。其中SimUser (x,y)是用户x和y之间的相似度,Trust (x, y)是用户x和y之间的信任度。
Cenamor等[23]设计了一个旅游计划系统,该系统使用从旅行社交网络中收集到的信息来发现群组并创建个性化旅游计划。系统遵循自动化的规划方法,收集用户和兴趣点的信息,用聚类技术对这些点进行分组,同时将旅行规划中的问题分解为不同子问题,以生成具有所访问城市/地区最相关兴趣点的多个旅游计划,并使用一个现成的域名独立的自动化计划器,找到更好的旅游计划。该系统具有高度的自动化,有效地实现了个性化旅行计划的推荐。
Christensen等[24]首先对用户的偏好进行建模,包括价格、局限性、活动、年龄、教育、性别和收入等,然后使用协同过滤、人口统计和基于内容的混合方法给出单个用户偏好,并根据群体中的社会关系(如父母、朋友)计算群体中成员对于最终决策达成的影响力,用户u对景点Ti的评分Ru(Ti),用户u的个人影响力评分iiru(Ti):然后使用乘法融合策略生成最终的组推荐列表。
总体来看,基于社会化关系上下文的旅游推荐系统,充分利用社会化网络中相关信息来评估用户间的信任度,以此可衡量用户相似度并实现增强推荐[25]。在推荐系统中融入这些信息将进一步改进推荐系统的精度和用户满意度。
2.4 基于多维上下文的旅游推荐
多维上下文通常指的是利用用户与系统交互时产生的环境要素的集合,例如用户在选择户外游览景点时,景点流行度是静态稳定的信息,而天气条件会对用户决策产生重要的影响。旅游是一项受多种因素限制的活动,旅游推荐中可用信息种类繁多,关键在于如何充分利用可获取的信息。
Yao 等[26]利用张量代替传统方法中的二维矩阵来表示异构多维上下文信息,结合用户与位置之间的潜在联系来实现兴趣点推荐。实验结果表明,合理的融合多源信息有利于提高推荐系统的推荐准确率。
任星怡等[27]针对用户在异地旅行的时候,签到行为具有高稀疏性为推荐带来了很大挑战的问题,提出了一种联合概率生成模型(GTSCP),综合分析地理影响、时间效应、社会相关性、内容信息和流行度影响等方面的因素,模拟用户签到行为的决策过程,实现本地推荐与异地推荐两种场景下的推荐,且同时支持离线推荐与在线推荐两种模式。利用社会相关性信息,该模型有效地克服了冷启动问题。通过融合多维度信息,该模型很大程度地缓解了数据稀疏问题。该模型具有高度的灵活性与适用性。但由于融入的信息繁多杂乱,该模型存在一定的特征缺失问题。
Meehan等[28]针对上下文旅游系统严重依赖位置而忽略其他上下文信息的现象, 提出了一个智能上下文感知推荐系统。在该推荐系统中,环境上下文中包含的旅游景点天气信息,时间上下文中包含的季节效应、社会上下文中包含的景点流行度影响与位置数据及用户上下文融合在一起,从而可获得更全面丰富且相对更贴近生活现实的上下文信息,实验证明,与仅依靠位置信息的位置感知推荐系统相比,该推荐系统能有效地提高推荐性能。对于融入信息太多可能造成的信息过载问题,该系统加入了信息过滤操作来确保融入信息的可靠有效性。
赵海燕等[29]基于时间和空间感知,结合用户的社会关系,利用位置信息、时间信息、社交信息、活动信息的数据,构建用户、地点、时间、活动、朋友关系异构信息网络,通过随机游走方法产生推荐。该方法综合利用时空信息和用户社交信息为用户提供个性化活动推荐,实验表明,该方法能获得较好的推荐效果。此外,利用构建的异构信息网络,该方法还可以实现朋友推荐等增值服务。
总体来看,理论上,做旅游推荐的时候,推荐系统中考虑的上下文信息越丰富,推荐效果越好。但在实际研究中,如何在多种信息中协调平衡取舍对于研究者来说是个极大的考验。一方面,旅游景点本身存在着物理形态固定的位置信息与时间效应,随着时间的作用,景点被赋予流行度影响因素,而时下最热门的景点通常存在游客高度聚集现象,这又会给游客带来不佳的旅游体验。另一方面,用户本身也存在着丰富的信息,通过用户相关信息可以推断用户喜好,但在目前的研究工作中,用户情绪信息还不能被有效利用。因此,由于上下文具有的范围动态性、偶发性、不可观察等特征,基于多维上下文的旅游推荐成为了一项极具挑战性的工作。
3 上下文感知旅游推荐系统的主要应用类型
在实际应用环境下,用户对于推荐系统有着不同的需求。例如,当用户规划短期旅行时,他们希望推荐系统能提供满足自身喜好的旅游景点推荐或者旅游路线推荐;而当用户有一段较长时间的休闲时光时,根据给定的时间约束与消费条件,他们希望推荐系统能智能地结合天气因素等其他上下文信息给出旅游套餐推荐。因此,根据实际场景需求,上下文感知旅游推荐系统可以分为旅游景点推荐、旅游路线推荐与旅游套餐推荐。以下将从这3个方面来介绍相关研究工作。
3.1 旅游景点推荐
旅游景点推荐方法主要采用传统的推荐方法并结合上下文的信息,根据用户的历史数据分析用户的兴趣点所在,为用户做游览景点的推荐。
Gao等[30]研究了基于位置服务的社会网络,对兴趣点属性、用户兴趣与情绪信息进行建模,结合这3种类型的信息与签到行为的关系为用户做兴趣点推荐。Zimba等[2]考虑到当用户搬迁至异地从而导致用户在当前城市的历史游玩数据缺乏的情况,基于用户以往评论与评分数据对隐含其中的用户偏好建模,结合景点自身属性为用户进行推荐,有效地克服了传统推荐算法中异地推荐面临的数据稀疏性限制。Debnath等[31]不同于以往的兴趣点推荐研究工作,首次提出综合考虑个人偏好、位置偏好、时间效应与兴趣点流行度这4个因素的兴趣点推荐,且经实验证明该方法有效地提高了推荐性能。
3.2 旅游路线推荐
旅游路线的推荐能够很好地反映出用户的兴趣。如何根据用户的偏好和用户在景区分布的密度这两个因素合理规划游览线路,是上下文感知旅游推荐系统需要考虑的问题。旅游路线/旅游规划应该包含多种公共交通路规划, 根据旅游需求(如步行穿过人行区域的路线可能比短途地铁更可取)。不过设计解决这类问题的高效算法仍然是一个开放的研究课题。
Chen等[32]等使用基于Hadoop的云计算技术设计和实现了一个智能旅游路线推荐系统。该系统整合了旅游景点、旅游线路、住宿和一些其他信息,提供一站式服务,在旅游路线推荐中得到了理想的效果。该系统在整体架构上主要分成数据收集、数据加工、数据存储和路线推荐4个模块,并利用了云计算平台来解决基于分布式计算的大规模数据的安全存储和加工问题。实验表明,该系统能以更好的方式利用用户的相关信息并根据其反馈信息推荐旅游路线。
3.3 旅游套餐推荐
通常来看,做旅行计划时,用户有3个要解决的问题:目的地、旅行时长与旅游路线。因此,旅游套餐的推荐面临着两大挑战:1)用户感兴趣的景点有哪些;2)判断哪个计划是更好的旅行安排。如何在这两方面提高性能成为了旅游套餐推荐的研究重点。
Yu等[33]利用位置服务对用户偏好和景点流行度进行建模,通过协同过滤方法得到用户喜爱的目的地,在时空约束条件下,结合用户偏好生成旅行包。该系统从移动客户端获取用户旅行需求并生成含有大量景点及游览路线的旅行包。该系统不仅可为用户提供符合用户喜爱的景点,还能生成景点游览序列,在特定数据集上进行的实验表明,该方法有效地提高了推荐的准确性和多样性。
Dipali等[34]设计了一个自助旅行服务系统。在这个系统中,管理员负责维护系统,向导负责计划旅行路线并提供旅行路线中景点的360°视角下的照片与视频信息,而用户需要进行注册后才能使用系统,通过选择目的地,系统为用户提供向导与其推荐的旅行路线信息,并允许用户预览路线中相关景点的详细信息,以便用户在清楚每条路线的情况下选择合心意的向导与路线。实验表明,该系统能获得较好的推荐效果并具有一定的现实意义,商用性能较高。
旅游套餐通常对景点的时空关系要求很强,通常来看,只有具有相近时空关系的景点才会被放入同一个套餐中。此外,由于旅游套餐有一定的生存周期,其设计会受到游客兴趣等需求的左右,这意味着旅游套餐的更新速度非常之快。由此来看,不同于旅游景点与旅游路线的推荐,旅游套餐推荐需要更高的复杂度。
4 上下文感知旅游推荐面临的重点和难点
基于上下文的旅游推荐系统是一项融合了组织学、认知科学、决策科学、个性化服务、计算机科学等多门学科的交叉性学科。从以上内容可以看出,近年来国内外研究者已经在上下文感知旅游推荐领域取得了许多进展。但总的来说,目前推荐技术仍然面临以下重点和难点问题。
1)需要考虑机器学习算法和旅游推荐相结合。在旅游推荐系统中,随着各种上下文信息的不断加入,对数据集的规模和算法处理也提出了新的要求,同时在人工智能领域,机器学习受到越来越多的关注。因此在上下文旅游推荐中加入合适的机器学习算法以提高处理大数据的能力及推荐效果,将成为未来旅游推荐的一个研究热点。
2)需要考虑用户的情绪信息。目前研究工作中用到的上下文信息通常指的是客观因素,而主观的感性因素在消费决策中起着越来越重要的作用,用户的情绪在一定条件下反映出用户的内心活动状态。在上下文信息如社会化网络中,用户情感信息可能会起到关键的作用,因此对用户进行情绪分析将成为旅游推荐研究的一个难点问题[35]。
3)群组发现中需要考虑用户之间的社会化关系。随着社交媒体网站的兴起,用户之间的社会化关系将在基于上下文旅游推荐系统中起到越来越重要的作用。文献[24]虽然考虑了用户的社会关系、地理位置等信息,但仍具有一定的局限性。因此结合用户社会网络关系的上下文感知旅游推荐将成为未来旅游推荐中一个值得关注的问题。
4)旅行出游是一个受多种因素影响的场景。不管是筹划旅行还是旅行过程中,用户都会受到许多因素的影响,如何协调各类因素的影响权重以及合理地选取哪些信息融入到推荐系统将是未来旅游推荐中一个研究难点。
另外,近年来国家出台了多项法律法规全力推动旅游产业的发展,旅游业整体行业欣欣向荣。同时随着网络资源的不断丰富,智慧旅游推荐和服务能有效地提高推荐结果的质量并提高用户满意度。因此在未来旅游推荐中,如何构建推荐性能高且实用性强的旅游推荐系统将是一个研究重点。
5 结束语
为了解决信息过载问题,对于以推荐系统为代表的个性化技术的研究将越来越受研究者所重视。高效的推荐系统不仅有助于用户节省时间成本,也能在一定程度上帮助企业发现潜在的用户。随着经济的不断发展,旅游逐渐成为人们休闲度假必不可少的生活方式。传统的旅游推荐技术已不能应对当前旅游领域面临的各种复杂的问题,随着网络的发展及卫星定位技术的普及,上下文信息在旅游推荐中的作用变得越来越明显。因此,本文对上下文感知旅游推荐系统的研究现状进行了较深入的探索与考察。不同的上下文信息的加入体现了不同的侧重点,如何获取并整合上下文信息来实现有效的利用对旅游推荐结果的好坏起到直接的影响。因此,对于本文提到的研究重点与难点的解决,将有利于更好地提高推荐系统的推荐性能,能使旅游推荐取得较好的效果。