基于景点热度和用户爱好程度的关联推荐算法研究
2020-07-20陈浩铨胡瑞玉
陈浩铨,胡瑞玉,王 石
(泰州学院,江苏 泰州 225300)
通常,用户根据自己的爱好和喜爱程度来选择旅游地点、制定旅游路线和时间规划。去陌生城市旅游,通常会花费大量时间来规划路线、制定旅游方案。相比熟悉的城市,面对陌生城市用户不知道和自己爱好相匹配的地点、如何规划最佳的旅游路线、如何才能在最短的时间内游玩更多景点。国内,越来越多的人在知乎等社交网站上上传自己的旅游照片、分享自己的旅游经历,通过分析用户旅游照片,可以提取出用户的爱好(比如冒险刺激、安静平和、古典园林)和用户的爱好程度。文章研究的目的在于:(1)根据大数据分析出用户的爱好和爱好程度。(2)基于爱好程度和景热度的个性化旅游推荐算法,根据用户的旅游时间和爱好程度不同来规划出最佳、最节省时间的方案,定向地为用户设计个性路线,规划出旅游路线的推荐方案。(3)基于知乎等大数据,结合文章提出的算法,和传统的旅游路线推荐算法相比较,该个性化旅游路线推荐算法的适用性和精确性更高。
1 个性化推荐算法
要先知道用户的兴趣爱好和爱好程度,才能更合理地去给用户设计更舒适的旅游路线。传统的旅游推荐算法只会根据用户的时事行为分析推荐旅游路线,而个性化推荐算法具有更高的准确性和适用性;传统的推荐算法会根据用户的兴趣爱好推荐出喜欢的旅游方案,局限于用户的旅游时间和时间成本。在社交网站上显示时间成本大多被浪费,而个性化推荐算法在基于用户的兴趣爱好和爱好程度的同时,为用户推荐出最节省时间、效率最高的个性化旅游路线。
旅游推荐算法中的个性化推荐并没有得到足够的重视。大多数旅游推荐算法是基于用户发的社交网站的标题和照片来定义用户的兴趣爱好和爱好程度,缺少用户旅游所面临的情景问题,可能用户旅游只能花费3天时间,但用户想游玩更多的场景,节省更多时间,个性化推荐算法便是基于用户情景以及爱好程度来为用户推荐个性化的旅游方案。
2 基于本体的建模
本体(Ontology)是指在该领域概念下的结构化规范,定义了领域内相关概念之间的关系。本体通过对属性、内涵以及本体与本体之间所具有的交叉联系,组织成一个基本的本体体系。
文章主要以各大旅游景点为本体域,以领域本体库的构建为基础,来对旅游景点本体进行更深层次的研究。简单来说,主要研究该本体的多种属性及其内涵,分析不同本体的相同特征,从而推荐出最佳的旅游地点及最佳路线。
2.1 项目建模方式
领域本体(Domain Ontology)是本体的专业化,描述的是在特定领域中个体和个体之间存在的关系,提供了某个专业学科领域中概念的词表以及概念间的关系,或在该领域里占主导地位的理论。
文章全面考虑旅游本体域间各种属性的关系及层次梯度,将所研究的领域本体形式化地表示为Doma={P,Up,R,Ur,L},其中,P代表本体属性,Up代表用户偏好与本体属性之间的相似度,R代表旅游路径选择,Ur代表用户所偏好的旅游的路径,L代表旅游景点。
2.2 用户建模
可以简单地将用户模型建立为一个类似于结构体的变量:Useraccounts={UserID,University,Name,Sex,UserPreference,Travel experience}。
Useraccounts中的UserPreference指的是用户爱好;UserPreference={(L0,D0(S),……,Ln,Dn(S)},其中,Li(i=0)代表用户未曾到过的景点,即表示为渴望去的景点;Li(1≤i≤n)代表用户已经去过的景点并且对其进行的评价。爱好程度的取值范围为[-1,1],其中,负数表示对景点不感兴趣,正数表示对景点呈正偏好。
用户在不同阶段的偏好会有所改变,也就是说,上述模型是随时间而发生变化的,所以,该模型会不断更新。
2.3 情景建模
情境的引入使得情境用户、资源概念节点类型和节点关系更加复杂多样,导致Up的结构更加复杂。目前研究主要关注概念节点和节点关联的识别和描述,但Up的结构日益复杂会对计算成本、效率和稳定性都会带来消极影响,因此,要考虑在推荐准确性、推荐效率鲁棒性等方面取得必要的平衡[1]。通过袁静等[2]、曹天天等[3]学者对情景的不同分类方式分析,将情景模型分为3个情景维度,表示为UserSD={StageSD;EmotionSD;SocialSD}。
(1)阶段情景(Stage Situational Dimension,StageSD),阶段变化与推荐系统的交互可以根据用户在各阶段的偏好进行自适应,以推荐旅游景点为例:StageSD={Grade 1,Grade 2,Grade 3,Grade 4}。
(2)情绪情景(Emotinonal Situational Dimension,EmotionSD),用户情绪变化时与推荐系统进行交互的相关信息,以推荐旅游景点为例:Emoti-onSD={sadness,happiness,peace}。
(3)社会情景(Social Situational Dimension,SocialSD),社会给出的不同反响与推荐系统发生交互的相关信息;以推荐旅游景点为例:SocialS-D={assess,advertisement,price}。
3 基于用户偏好度的关联推荐算法
偏好度的关联推荐算法指的是基于用户偏好度与情景维度之间的关系,可以满足用户个性化旅游需求。文章综合属性联系与层次联系计算相似度[4]。
3.1 属性相似度算法
若两个景点x和y属于同一个属性相似域内的实体,则称x和y存在属性相似度关联(Attribute Similarity Association,ASA)。在以旅游景点为实例的本体域中,不同景点具有相同的属性,即为属性相似度关联。
一个实例可能具有多个属性,导致实例间的相似度大小存在差异,假设x实例包含属性{α,b,c},y实例包含属性{α,c,d,e},则x与y的属性相似度为1。假设Similarity(x)和Similarity(y)表示实例x和y的相似度,通过分析可得出x和y之间的相似度关联表示为:
其中,LCA表示的是实例x, y的最近共同属性,depth(x)和depth(y)表示实例x和y的深度。
3.2 个性化推荐算法
若两个景点x和y属于同一个属性相似域内的实体,则称x和y存在属性相似度关联。在以旅游景点为实例的本体域中,不同景点具有相同的属性,即为属性相似度关联。
4 结语
在传统的旅游路线推荐算法的基础上,文章提出了融合用户爱好程度和景点热度的个性化旅游推荐算法,基于用户需求及物理基础情境下向用户推荐最适合最精确的旅游路线推荐方案。不仅考虑用户的爱好程度,也考虑用户旅游的最佳路线,极大地提高了用户旅游的体验感和旅游效率。结果表明,融合考虑景点热度以及用户爱好,可以更好地满足用户需求。