一种基于本体的旅游信息推荐方法

文档序号:10697621阅读:379来源:国知局
一种基于本体的旅游信息推荐方法
【专利摘要】一种基于本体的旅游信息推荐方法,本发明涉及基于本体的旅游信息推荐方法。本发明的目的是为了解决现有旅游推荐结果不准确以及推荐呈现静态化的问题。具体过程为:一、构建旅游景点本体;二、采用FP?Growth算法挖掘用户之间的关联规则;三、采用关联规则的阈值将用户分为关联用户和无规则用户;四、将关联用户采用融入时间因子和评价因子的协同过滤算法,生成景点推荐;五、将无规则用户采用基于旅游景点本体的协同过滤算法,生成景点推荐;六、将四和五的旅游景点推荐结果进行融合;七、将融合的结果进行上下文信息过滤;八、将过滤后的结果进行基于旅游景点本体的信息拓展。本发明用于旅游信息推荐领域。
【专利说明】
-种基于本体的旅游信息推荐方法
技术领域
[0001 ]本发明设及基于本体的旅游信息推荐方法。
【背景技术】
[0002] 现如今人们的生活水平不断提高,休闲娱乐的方式也变得多种多样,原来单调的 休闲方式已远不可满足现代人的需求。因此旅游顺应着时代发展的大潮融入了每个人的生 活之中,成为一种重要的休闲娱乐方式。互联网是人们获取旅游信息的重要渠道,但是数量 繁多的旅游信息,让旅游者迷失在信息的海洋中。因此如何解决信息过载,让准确的旅游信 息直接映入旅游者眼帘是最大的问题。因此旅游信息推荐应运而生。
[0003] 推荐系统出现于20世纪90年代。现有的推荐技术主要包括基于内容的推荐,协同 过滤推荐,基于知识的推荐,混合推荐等。运些推荐算法在各大电子商务网站中都有很好的 应用。协同过滤推荐是传统推荐算法之一,也被认为是最成功的推荐策略。协同过滤的基本 思想是,如果用户在过去有相同的偏好(比如相同的浏览记录或买过相同的商品),那么在 未来也会有相似的偏好,可能做出相同的选择或决定。在旅游推荐中运种相似用户有相似 偏好的情况更为常见。因此采用基于用户的协同过滤算法进行推荐。
[0004] 目前旅游推荐普遍存在两大问题。第一大问题为推荐结果不准确,运种不准确体 现在两个方面。首先是推荐结果并不是用户想要的,不符合用户需求、浪费时间。其次是推 荐结果仅停留在景观推荐,无法做到衣食住行全方位的信息推荐。第二大问题为推荐呈现 静态化,运种静态化也体现在两个方面。首先推荐结果不考虑当前上下文,造成推荐的不准 确。其次为针对所有用户都进行热口景点的推荐,丧失了个性化。本文针对现有旅游推荐存 在的不足,提出了基于旅游景点本体的旅游信息推荐。

【发明内容】

[0005] 本发明的目的是为了解决现有旅游推荐结果不准确W及推荐呈现静态化的问题, 而提出一种基于本体的旅游信息推荐方法。
[0006] 具体过程为:
[0007] 步骤一、构建旅游景点本体;
[000引步骤二、采用FP-Growth算法挖掘用户之间的关联规则;
[0009] 步骤Ξ、采用关联规则的阔值将用户分为2类,一类为关联用户,另一类为无规则 用户;阔值为人为设定;
[0010] 步骤四、将关联用户采用融入时间因子和评价因子的协同过滤算法,生成景点推 荐;
[0011] 步骤五、将无规则用户采用基于旅游景点本体的协同过滤算法,生成景点推荐;
[0012] 步骤六、将步骤四和步骤五的旅游景点推荐结果进行融合;
[0013] 步骤屯、将融合的结果进行上下文信息过滤;
[0014] 步骤八、将过滤后的结果进行基于旅游景点本体的信息拓展。
[0015] 本发明的有益效果为:
[0016] 本发明针对现有问题进行改进,主要有:
[0017] (1)利用关联规则,采用FP-Growth算法挖掘访问不同景点的用户之间的关联规 贝1J。在协同过滤之前将用户进行划分和筛选,将关联用户划分成一组,避免了协同过滤矩阵 稀疏影响推荐,同时避免了协同过滤中反复比较无效用户浪费时间。
[0018] (2)构建适合旅游领域的旅游景点本体,将本体概念深植于旅游领域,将旅游领域 的概念、关系进行清晰的描述,方便后文使用。
[0019] (3化混合推荐部分,不同用户根据各自情况分别将协同过滤进行改进得到TCUCF 算法和TCUCF。针对关联用户采用融入时间因子及评价因子的协同过滤算法。针对无规则用 户首先根据旅游景点本体进行类型的划分,不同类型从新组合评分得到融入时间因子的类 型评分矩阵。将两种算法结果混合,得到混合推荐结果。
[0020] (4)将推荐结果进行上下文信息的过滤,W及基于旅游景点本体信息的扩充。使得 景点推荐更符合实际情景更准确全面,符合用户需求,做到衣食住行全方位的信息推荐,考 虑当前上下文,考虑个性化,提高了准确率,让推荐呈现动态化。
[0021] (5)最终根据不同评测指标进行了对比试验,证明本文提出的推荐算法具有优越 性,在各个标准下都表现良好。
[0022] 综合W上5点提高了现有旅游推荐结果的准确率并且推荐呈现动态化,结合表6、 图7和图8,当推荐景点个数为1时,MUCF准确率为0.4785,本发明CMUCF准确率为0.4877,本 发明CMUCF准确率比MUCF准确率提高了2% ;当推荐景点个数为5时,MUCF准确率为0.3296, 本发明CMUCF准确率为0.3477,本发明CMUCF准确率比MUCF准确率提高了5% ;当推荐景点个 数为8时,MUCF准确率为0.2840,本发明CMUCF准确率为0.3243,本发明CMUCF准确率比MUCF 准确率提高了 14 %;
[0023] 当推荐景点个数为1时,MUCF召回率为0.1013,本发明CMUCF召回率为0.1992,本发 明CMUCF召回率比MUCF准确率提高了96%;当推荐景点个数为5时,MUCF召回率为0.3141,本 发明CMUCF召回率为0.4212,本发明CMUCF召回率比MUCF准确率提高了34%;当推荐景点个 数为別寸,MUCF召回率为0.4326,本发明CMUCF召回率为0.4737本发明CMUCF召回率比MUCF准 确率提高了 10 %。
[0024] 从图中可W看出加入上下文过滤之后的推荐CMUCF得出的结果与之前的推荐算法 产生的推荐结果进行比较,准确率和召回率都有提高,因此加入上下文信息过滤对推荐准 确率的提局有帮助。
【附图说明】
[0025] 图1为本发明流程图;
[0026] 图2为MUCF、FUCF和UserCF的准确率曲线图,其中,MUCF为分别采用TEUCF和TCUCF 的混合算法,T抓CF为融入时间因子和评价因子的协同过滤算法,TCUCF为基于景点本体的 用户协同过滤,RJCF为基于关联规则的协同过滤算法,UserCF为传统基于用户的协同过滤, 横坐标k为推荐景点个数,纵坐标为准确率;
[0027] 图3为MUCF、即CF和UserCF的召回率曲线图,横坐标k为推荐景点个数,纵坐标为召 回率.
[002引图4为MUCF、FUCF和UserCF的MAE曲线图,横坐标k为推荐景点个数,纵坐标为平均 绝对误差;
[0029] 图5为MUCF、即CF和UserCF的RMSE曲线图,横坐标k为推荐景点个数,纵坐标为均方 根误差;
[0030] 图6为MUCF、FUCF和UserCF的覆盖率曲线图,横坐标k为推荐景点个数,纵坐标为覆 盖率;
[0031] 图7为CMUCF、MUCF、FUCF和UserCF的准确率曲线图,CMUCF为引入时间、地点等上下 文信息得到的推荐算法,横坐标k为推荐景点个数,纵坐标为准确率;
[0032] 图8为CMUCF、MUCF、FUCF和UserCF的召回率曲线图,横坐标k为推荐景点个数,纵坐 标为召回率;
[0033] 图9为部分旅游景点本体图。
【具体实施方式】 [0034] 一:结合图1说明本实施方式,本实施方式的一种基于 本体的旅游信息推荐方法具体是按照W下步骤进行的:
[0035] 步骤一、构建旅游景点本体;
[0036] 步骤二、采用FP-Growth算法挖掘用户之间的关联规则;
[0037] 所述FP-Growth算法为频繁模式增长算法;
[0038] 步骤Ξ、采用关联规则的阔值将用户分为2类,一类为关联用户,另一类为无规则 用户;阔值为人为设定;
[0039] 步骤四、将关联用户采用融入时间因子和评价因子的协同过滤算法,生成景点推 荐;
[0040] 步骤五、将无规则用户采用基于旅游景点本体的协同过滤算法,生成景点推荐; [0041 ]步骤六、将步骤四和步骤五的旅游景点推荐结果进行融合;
[0042] 步骤屯、将融合的结果进行上下文信息过滤;
[0043] 步骤八、将过滤后的结果进行基于旅游景点本体的信息拓展。
【具体实施方式】 [0044] 二:本实施方式与一不同的是:所述步骤一中构建旅 游景点本体;具体过程为:
[0045] 步骤一一、将从N篇文献(例如:冯欣,王成良.本体在旅游信息系统中的应用研究 [J]计算机与现代化.2010(3) :128-133.
[0046] 钟福金.基于OWL的旅游领域本体构建实践[J]大众科技.2010(3) :17-20.
[0047] 陈彦萍,魏踰踰.基于OWL的旅游领域本体的构建[J]西安邮电学院学报.2011,12 (1):78-83.
[004引胡纳纳,李琳琳,武尚.个性化的旅游推荐系统.[J]信息技术.2013(2) :135-140.) 中得到的景点本体,导入到要构建的旅游景点本体当中去,将N篇文献进行合并;在合并过 程中制定要构建的旅游景点本体的结构,将结构作为准则修改合并后的旅游景点本体,如 图9; N的取值为1-1000;
[0049] 步骤一二、将服务、文化和活动领域的内容添加到修改合并后的旅游景点本体中;
[0050] 步骤一Ξ、利用步骤一一中的结构准则,将步骤一二得到的添加后的旅游景点本 体进行修剪,将本体之间各个概念的独立性提高上去,直到旅游景点本体保持一个无信息 交叉的状态;
[0051] 步骤一四、根据《旅游业基础术语KGB/T 16766-2010)将步骤一Ξ得到的旅游景 点本体进行语言规范。
[0052] 将修剪过后的本体在专业领域上进行语言的精粹提纯,并进行适当调整和修改, 借助标准命名规范等文献,将本体的准确度进一步提升,保证本体的准确性。
[0053] 本体的概念起源于哲学中概念,本体论更是哲学中的一口学科,其含义为"对世界 上客观存在物的系统描述"。而近年来本体运一概念在计算机科学领域也悄然兴起,本体理 论最早出现在人工智能领域,而后被广泛的应用到计算机科学的各个领域如语义Web、智能 信息检索、数字图书馆等,目前并没有一个明确的定义,其中在计算机科学中本体最广泛引 用的概念是由Gruber提出的"本体是概念模型的明确规范说明"。通俗的讲本体是用来描述 某个特定领域甚至更广范围内的概念及概念之间的关系,使得运些概念和关系在共享的范 围内具有大家共同认可的、明确的、唯一的定义,运样人际之间及机器之间就可W正常无阻 的交流。
[0054] 旅游行业是一个集衣食住行为一身的综合产业,因此旅游信息更加多样更加复 杂,单纯的信息罗列很难做到面面俱到。本体不仅具有明确的语义,在关系层次划分上也较 为明确,保留了概念信息的同时更加兼顾信息之间的层次关系。因此在复杂的旅游信息中 引入本体来对旅游领域信息进行划分和归纳较为合理。同时为简单的术语赋予了明确的知 识背景,有利于知识的共享与重用。
[0055] 根据现有旅游景点本体进行整合,同时根据互联网上旅游信息进行本体的扩充, 依照规范进行名称的规范化。构建部分旅游景点本体图如图1所示。整体包括十个子类分别 为住宿、服务、交通、饮食、文化、活动、购物、环境、自然景观、人文景观。该部分构建的旅游 景点本体为推荐过程的基础,在后来的推荐中起到重要的作用。
[0056] 在旅游领域中,相似用户具有相似喜好的情况更加多见。旅游的成本高W及其自 身的特性,决定了其用户行为比较真实,没有过多干扰项。因此旅游推荐很适合使用系统过 滤的算法进行推荐。同时在旅游领域使用协同过滤存在矩阵稀疏的问题,因此采用关联规 则进行解决。引入关联规则就会有最小支持度过滤运一步骤,本文针对过滤掉的用户也进 行了相应的处理,保证了用户完整性。同时旅游领域受上下文影响较大,因此引入上下文过 滤。最后根据景点本体,将景点信息进行扩充,扩充成丰富的旅游信息推荐。整体旅游推荐 流程如图1所示。
[0057] 其它步骤及参数与【具体实施方式】一相同。
【具体实施方式】 [0058] Ξ:本实施方式与一或二不同的是:所述旅游景点本 体的结构为树形结构,上下层级之间的节点有明确的父子关系,每个节点都为单独个体,与 同层的其他节点之间没有交叉。
[0059] 节点是旅游景点所设及到的旅游信息类型,比如景点里包含:交通、住宿、饮食等。
[0060] 其它步骤及参数与【具体实施方式】一或二相同。
【具体实施方式】 [0061] 四:本实施方式与一至Ξ之一不同的是:所述步骤二 中采用FP-Growth算法挖掘用户之间的关联规则;具体过程为:
[0062] 步骤二一、首先从百度旅游上通过设计爬虫抓取数据,通过化va程序抓取到用户 的名字、游览景点、景点类型、景点评分、旅游时间、旅游天气、评分评价信息存入数据库中;
[0063] 步骤二二、设定最小支持度,数据库中支持度大于最小支持度的项目定义为频繁 项目,将频繁项目全部存储在一棵频繁模式树(FP-tree)中,保留项目之间相互投射的关 系;
[0064] 步骤二Ξ、将频繁模式树(FP-tree)划分为Μ个条件模式树,再对条件树进行挖掘, 挖掘出用户之间的关联规则,Μ为正整数。
[0065] 关联规则最初起源于利用数据挖掘的方法,发现用户所购买商品之间的相关性, 而运些商品之间未必有属性类型上的相似性,因此关联规则更能保证实用性。常用的算法 为Apriori算法,该算法将数据库作为问题空间,反复扫描获得频繁项集。该算法好理解,但 是扫描数据库浪费时间,产生候选项集费空间。FP-Growth算法在Apriori算法的基础上进 行改进,采用树形结构存储,避免了多次扫面数据库,也不必产生候选项集。
[0066] 传统的关联规则常用于发现物品之间的关联关系,比如常举的例子"啤酒尿布" [10]。本文反其道而行之通过旅游的地点找到用户之间的相互关联。在运一步中找到关联 规则,获取到关联用户,关联用户具有相同的旅游地点,在后期的协同过滤中可W有效的解 决矩阵稀疏的问题,同时减少了无关项目的干扰,提高了计算相似度的效率和准确率。
[0067] 其它步骤及参数与【具体实施方式】一至Ξ之一相同。
【具体实施方式】 [0068] 五:本实施方式与一至四之一不同的是:所述步骤Ξ 中采用关联规则的阔值将用户分为2类,一类为关联用户,另一类为无规则用户;具体过程 为:
[0069] 设定最小置信度,将挖掘出的用户之间的关联规则中置信度大于等于最小置信度 的用户定义为关联用户,小于最小置信度的用户定义为无规则用户。
[0070] 其它步骤及参数与【具体实施方式】一至四之一相同。
【具体实施方式】 [0071] 六:本实施方式与一至五之一不同的是:所述步骤四 中将关联用户采用融入时间因子和评价因子的协同过滤算法,生成景点推荐;具体过程为:
[0072] 步骤四一、根据步骤Ξ的关联用户构建关联用户-景点评分矩阵;
[0073] 步骤四二、在评分矩阵中加入时间因子;
[0074] 步骤四Ξ、再在评分矩阵中加入评价因子;
[0075] 步骤四四、根据加入时间因子和评价因子的评分矩阵计算用户相似性,从而根据 用户相似性生成景点推荐。
【具体实施方式】 [0076] 屯:本实施方式与一至六之一不同的是:所述时间因 子为:
[0077]
[0078] 式中,T(t)为时间因子,t为时间变量,当t为小于1的数字时表示用户还没有产生 遗忘,因此记忆量为100 %,当时间增加用户对该景点的记忆也产生了遗忘,其中参数b、C、 to 为参数,b = 0.42,c = 0.0225,t〇 = 0.00255;
[00巧]所述评价因子为
[0080] 式中,E(u)为评价因子,C为总的点评数目,Cl为具有点赞行为的点评数目;
[0081] 所述用户相似性的计算公式采用化arson相关系数,Pearson相关系数的公式为
[0082]
[0083 ] 式中,s i mu V表示用户u与用户V之间的相似度值,。i代表用户u对i的评分值,r vi代 表用户V对i的评分值;luv代表用户u、v之间有公共评分的评分集合;lu代表用户U的所有商 品评分集合山代表用户V的所有商品评分集合,引戈表用户U的平均评分、訂戈表用户V的平 均评分;Pearson相关系数从1(强正相关巧lj-1(强负相关);i为luv中的第i个。
[0084] 融入时间因子和评价因子的协同过滤
[0085] 进行了用户的关联规则挖掘之后,将用户分为两大类。第一类为支持度超过最小 支持度的关联用户,第二类是支持度小于最小支持度的无关联用户。本文将两部分用户分 别处理,将关联用户采用融入时间因子和评价因子的协同过滤算法进行推荐。接下来对该 算法进行详细介绍。
[0086] 在推荐领域用户的兴趣会随着时间的改变而改变的现象是十分常见的。用户的兴 趣随着时间的推移而发生变化,近期发生的用户行为相比远期发生的用
[0087] 户行为更能反映用户当前的兴趣,由此可见用户的兴趣是随时间延长而逐步递 减。本文引入艾宾浩斯遗忘曲线,将人类的遗忘效果融入到旅游推荐的评分当中。首先人类 对事务具有遗忘效果,运与之前所描述的兴趣递减理论相吻合,其次艾宾浩斯遗忘曲线 [11 ]是根据实际情况对人脑的遗忘进行模拟的曲线,因此能较好反映正常情况下人类对事 务的遗忘过程。
[0088] 艾宾浩斯遗忘曲线如图3所示,其中横轴表示时间天为单位)纵轴表示记忆量 的百分率(总记忆量为100 %)。
[0089] 该曲线是模拟人类对事务的记忆曲线,从图中可W看出记忆量随着时间的增加呈 现下降趋势,先呈现的下降过程是比较剧烈的,随后的曲线逐渐的趋于平缓,但是整体曲线 的趋势为不断靠近横轴。由于记忆曲线并不是规则的函数表达式勾画出来的曲线,因此有 学者[12]对记忆曲线进行拟合提出了记忆保持量函数如公式(1)所示,记忆保持量即所记 忆的内容在脑海中保持的数量。
[0090] (1)
[0091] 公式中t为时间变量天为单位),e为自然数底数,b、c和to为待定常数。经过实 验推算,b = 0.42,C = 0.0225,t0 = 0.00255的情况下最符合人的记忆曲线走势。本文将巧区 保持量函数进行归一化,由此推出本文采用的时间因子的公式如(2)所示。
[0092] (2)
[0093] 在旅游推荐评分的同时经常伴随着用户根据景点给出的评价,运些评价不仅是得 出评分的理由,还对该景点的整体评分产生很大的影响。本文引入用户的"点赞"行为,若该 评价信息有其余用户的"点赞"行为,则定义该评分具有较高的准确度,因此评分需要具有 较高的权重。本文将用户的点赞行为拟合成评价因子,并将评价因子引入到协同过滤之中, 作为影响评分的另外一个因子。评价因子公式如公式(3)所示。
[0096]在公式(3)中总的点评数目为C,其中Cl为有评价数目的评论中评价个数。其中E为 评价因子。将时间因子和评价因子融入评分矩阵当中去。该算法为基于协同过滤算法的改 进,因此计算相似度时采用协同过滤中常用的化arson相关系数[13]来计算相似度,计算用 户相似度的公式如公式(4)所示。其中公式(4)中的评分融入时间因子和评价因子之后的表 达式如公式(5)所示。
[0100] 融入时间因子和评价因子的协同过滤算法的推荐流程如下。
[0101] 算法:T抓CF(融入时间因子和评价因子的协同过滤算法)
[0102] 输入:目标用户、带有评分的用户项目矩阵M、时间因子、评价因子
[0103] 输出:Top-N推荐列表
[0104] 过程;
[0105] 01:采用FP-Growth算法对矩阵Μ进行关联规则的挖掘,获取关联用户集合化,构成 关联用户-景点评分矩阵。
[0106] 02:按照公式(4-2)将时间因子引入到关联用户-景点评分矩阵中。
[0107] 03:在步骤二的基础上,按照公式(4-7)将评价因子引入到步骤二构建的新的关联 用户-景点评分矩阵当中去。
[0108] 04:用引入时间因子及评价因子的评分矩阵计算用户相似性,找出与目标用户相 似度高的Top-N用户,根据运些用户的选择生成推荐。
[0109] 其它步骤及参数与【具体实施方式】一至六之一相同。
【具体实施方式】 [0110] 八:本实施方式与一至屯之一不同的是:所述步骤五 中将无规则用户采用基于旅游景点本体的协同过滤算法,生成景点推荐;具体过程为:
[0111] 步骤五一、根据步骤Ξ的无规则用户构建无规则用户-景点评分矩阵;
[0112] 步骤五二、根据步骤一构建的旅游景点本体,将无规则用户-景点评分矩阵中的景 点划分到旅游景点本体的各个子类型集合中,构成无规则用户-景点类型评分矩阵;
[0113] 步骤五Ξ、再在评分矩阵中加入时间因子;
[0114] 步骤五四、根据加入旅游景点本体和时间因子的评分矩阵计算用户相似性,从而 根据相似用户生成景点推荐;
[0115] 所述时间因子为:
[0116] 式中,T(t)为时间因子,t为时间变量,该处时间变量为当前类型最近一次被游览 的时间。b、c、t〇 为参数,b = 0.42,c = 0.0225,t0 = 0.00^5;
[0117] 所述用户相似性的计算公式采用化arson相关系数,Pearson相关系数的公式为 [011 引
[0119] 式中,simuv表示用户U与用户V之间的相似度值,ruijv汾别代表用户U与V对i的评 分值。luv代表用户u、v之间有公共评分的评分集合;lu代表用户U的所有商品评分集合Jv代 表用户V的所有商品评分集合,万代表用户U的平均评分、^代表用户V的平均评分。Pearson 相关系数从1(强正相关)到-1(强负相关)。
[0120] 关联规则挖掘相关联用户的时候根据支持度过滤掉了一些游览景点较少的游客, 现有文献中很多算法为了追求好的实验效果会去除掉记录较少的用户。因此针对运部分用 户,本文提出了基于景点本体的协同过滤推荐。
[0121] 关联规则过滤掉的用户普遍浏览景点较少,如果直接进行协同过滤推荐,会因为 矩阵稀疏而不准确,因此,采用基于景点本体的方法,将用户游览的景点进行基于本体的类 型划分,得到用户-景点类型评分矩阵。每个类型的评分即为该类型所有景点的平均评分。
[0122] 时间是影响用户兴趣的一个重要因素,近期产生的用户兴趣较于远期产生的用户 兴趣更能反映用户当前的兴趣。因此在在评分中融入时间。在用户-景点类型评分矩阵中融 入时间与TEUCF算法中融入时间的方法有所不同,用户游览行为中可能存在远期多次游览 同一类型景点,但是近一段时间并没有再游览过,但是最近一次游览行为恰好为远期兴趣 类型的景点,那就说明用户的兴趣有被重拾的现象,为了运种现象出现不被大量的历史数 据掩盖。本文采用的时间为最近一次游览该类型景点的时间,因此每个类型中不必为每个 类中子景点的评分引入时间,仅仅需要引入该类型的最近时间即可。由于景点遗忘过程同 样符合人的正常遗忘过程,因此时间因子不变。融入时间因子的评分如公式(6)所示。
[0125]基于景点本体的协同过滤算法的推荐流程如下。
[01%]算法:TCUCF(基于景点本体的协同过滤算法)
[0127] 输入:过滤后剩余的无规则用户叫、时间因子、景点本体
[0128] 输出:Top-N推荐列表
[0129] 过程;
[0130] 01:获取到无规则用户叫中的用户-景点评分矩阵,引入景点本体,为该矩阵中景 点进行基于景点本体的重新划分。
[0131] 02:经过计算评分的平均值得到新的无规则用户叫的用户-景点类型评分矩阵
[0132] 03:获取到划分出的类型最近一次被游览的时间,在步骤二的基础上,按照公式 (4-2)将时间因子引入到步骤二构建的新的无规则用户U1的用户-景点类型评分矩阵当中 去。
[0133] 04:用引入时间因子的评分矩阵计算用户相似性,找出与目标用户相似度高的 Top-N用户,根据运些用户的选择生成推荐。
[0134] 其它步骤及参数与【具体实施方式】一至屯之一相同。
【具体实施方式】 [0135] 九:本实施方式与一至八之一不同的是:所述步骤屯 中将融合的结果进行上下文信息过滤;具体过程为:
[0136] 步骤屯一、从步骤一构建的旅游景点本体中获取上下文信息;
[0137] 所述上下文信息为时间、季节、位置、天气;
[0138] 步骤屯二、采用上下文过滤的方式对混合推荐结果进行过滤,得到过滤后的旅游 景点推荐。
[0139] 上下文后过滤是指:首先忽略上下文因素,利用传统二维推荐技术处理不含上下 文信息的推荐数据来预测潜在用户偏好;然后根据当前上下文信息过滤掉不相关的推荐结 果或者调整Top-N排序列表。
[0140] 旅游领域是受上下文影响较大的一个领域,上下文可W直接决定一个旅游活动是 否能够进行,同时也决定推荐结果的好坏。本文的旅游上下文信息是从上文构建的旅游景 点本体中得到的。旅游景点本体的构建过程符合旅游领域的特点,根据旅游景点本体上下 文设定为时间、季节、位置、天气。之所W由运四个元素构成上下文信息,是充分考虑到旅游 的特点。
[0141] 本文采用的上下文获取方式为显示隐式相结合首先显示得到用户需要去旅游的 位置,及时间,隐式的获得当地的天气情况,W及所处的季节。
[0142] Adomavicius[70]等人于2005年提出了上下文过滤的两种方式,分别为上下文预 过滤、上下文后过滤方式。上下文预过滤是指在生成结果之前利用上下文信息过滤掉无关 的用户偏好数据,从而构建与上下文相关的推荐数据集。然后再用传统推荐技术(协同过 滤、基于内容的推荐、基于知识的过滤,混合推荐)处理运些筛选后的数据集,用来进行偏好 的预测,生成既能满足用户需求又能满足上下文条件的推荐结果。上下文预过滤过程为根 据每种上下文类型划分不同的实例,并将分割后的数据采用传统的二维推荐的方法,实验 结果表明该方法在特定上下文条件下能获得较好的精确度。
[0143] 上下文后过滤的方法为首先将数据集按照传统二维推荐的方法处理,用不具有上 下文信息的数据来预测用户潜在兴趣,然后根据上下文过滤掉不符合上下文要求的兴趣。
[0144] 本文将采用上下文后过滤的方法,在上下文预过滤的方法中上下文粒度的划分对 推荐产生十分重大的影响。粒度划分过于粗糖,使推荐的结果并不全都与当前上下文有关, 影响推荐效果。粒度划分过于细致,导致筛选之后数据集过于稀疏。运种粒度的控制不易把 握,尤其在旅游行业中数据矩阵本就稀疏的情况采用预过滤的方法会产生更糟糕的效果。 因此确保推荐数据集的数据全面,本文预计采用上下文后过滤的方法。
[0145] 其它步骤及参数与【具体实施方式】一至八之一相同。
【具体实施方式】 [0146] 十:本实施方式与一至九之一不同的是:所述步骤八 中将过滤后的旅游景点推荐结果进行基于旅游景点本体的信息拓展;具体过程为:
[0147] 采用步骤一的旅游景点本体对步骤六所得的过滤后的旅游景点推荐进行信息拓 展,将单纯的景点信息拓展为设及衣食住行的复合旅游信息推荐。
[0148] 本文提出的基于上文的推荐算法,在海量数据中抽取出用户可能感兴趣的景点推 荐,在此基础上旅游本题中的天气、季节、位置、时间上下文元素进行过滤之后,筛选出的景 点基本可W满足用户需求。此时引入旅游景点本体,将简单的景点推荐拓展为设及旅行之 中必不可少的多重信息推荐。本文构建的旅游景点本体共含有十个方面的详细信息,包括 交通、饮食、文化、活动、景点、服务、购物、环境和住宿。该过程保证旅游信息的多样性,将推 荐从单纯的景点推荐中升华到多方面的旅游信息,真正的让本体在旅游领域发挥最用。
[0149] 最后将单纯的景点信息根据旅游景点本体进行扩充得到满足衣食住行方方面面 的旅游信息。在进行上下文部分实验中,本文设定上下为地点为"哈尔滨",季节为"冬季", 时间定为白天。根据运些上下文信息及推荐的景点信息结合本体得到最终推荐。例如得到 了推荐景点为"冰雪大世界"位置推荐附近的商场如"万达广场",推荐附近的特色酒店如 "华梅西餐厅",推荐附近的宾馆如"屯天连锁宾馆"等,根据季节为冬天,推荐冬季活动"哈 尔滨国际冰雪节"。
[0150] 其它步骤及参数与【具体实施方式】一至九之一相同。
[0151] 采用W下实施例验证本发明的有益效果:
[0152] 实施例一:
[0153] 本实施例一种基于本体的旅游信息推荐方法具体是按照W下步骤制备的:
[0154] 实验数据的获取
[0155] 为了使得推荐结果具有真实意义,需要从真实的旅游信息中获取数据。众多推荐 算法都采用MovieLens数据集,虽然MovieLens数据集包含信息全面而且不断进行版本的更 新。但是Movielens包含电影信息,属于之前所说的简单推荐的范畴,无论特征、种类、规模, 都与旅游信息相去甚远。由于旅游信息无公认的数据集,为了实验的真实有效,本文从"百 度旅游"上通过设计爬虫抓取数据。通过程序抓取到用户的名字、游览景点、景点类型、景点 评分、旅游时间、旅游天气、评分评价等信息,处理获取到的信息并存入数据库中。
[0156] 本发明收集了 1975个游客的旅游记录,其中包括20万个景点的信息。数据集中每 个景点都进行了评分,评分由低到高有5个等级,分别为1,2,3,4,5。数据集中每个用户都包 含用户的游览过的景点、景点类型、景点评分、旅行地点、旅行时间、评分被"点赞"次数信 息。
[0157] 本文多次随机分割数据集,选取其中80%评分数据作为训练集,其他的作为测试 集,最终结果是对数据多次计算取平均值。
[0158] 实验平台及环境
[0159] 硬件配置:Inte 1 (R)Core (TM) i3CPU 550、主频3.20(ihz、2GB内存、联想PC机
[0160] 操作系统:Win? 32位
[0161] 开发平台:化巧eans;MATLAB
[0162] 开发语言:Java;M语言
[0163] 数据集:爬取的旅游网站数据集
[0164] 结果及分析
[0165] 本文整体是在传统基于用户的协同过滤化serCF)上进行改进。
[0166] 第一步引入了关联规则中的FP-Growth算法,在庞大的数据集中首先引入关联规 贝1J,设定最小支持度为10,找到关联用户。
[0167] 第二步在关联用户的基础上使用化erCF算法进行推荐,将运种基于关联规则的协 同过滤算法记为即CF。
[0168] 第Ξ步将关联用户和无规则用户分别采用TCUCF和TCUCF算法进行推荐,将推荐结 果进行混合,将混合算法记为MUCF算法;
[0169] 第四步将上下文信息作为推荐的过滤条件,引入时间、地点等上下文信息得到的 推荐算法记为CMUCF算法。
[0170] 首先W准确率和召回率作为评价指标来验证推荐的好坏。准确率(Precision)表 示推荐给用户的景点与用户实际浏览的景点的交集与用户实际游览的景点的比值。召回率 (Recall)表示推荐给用户的景点与用户实际浏览的景点的交集与用户推荐给用户游览景 点的比值。准确率越大表示推荐更准确,召回率越大表示推荐的采纳率越高。通过改变推荐 景点个数K来进行对比试验。得到不同K值下的准确率召回率结果如下表1所示。
[0171] 表1准确率对比表
[0175] 由表中的数据绘制曲线可得到准确率曲线如图2所示和召回率曲线如图3所示。
[0176] 从图3中可W明显看出即CF算法和MUCF算法在准确率上较传统协同过滤有明显提 高。在召回率方面,开始Ξ种算法曲线基本一致,但在推荐数目上升为6W后MUCF明显由于 前两者,并且走势上扬。因此本文提出的MUCF算法在准确率和召回率方面都优于原始算法。
[0177] 其次WMAE(平均绝对误差)和RMSE(RootMean Square Error均方根误差)作为评 价指标来检验推荐的好坏。MAE和RMSE根据训练集预测出来的用户景点评分与实际测试集 上的用户景点评分之间的误差大小。系数越小表示误差越小越精确。通过改变推
[0178] 荐景点数目K来得到实验,不同算法的MAE和RISE系数的大小如表3所示。
[0179] 表3 MAE和RM沈数据对比表
[0180]
[0181] 由表中的数据绘制曲线可得到MAE曲线如图4所示和RISE曲线如图5所示。
[0182] 从图4中可W明显看出在MAE系数中即CF在推荐数目8之前并没有比传统推荐有优 势,反而会有较差的表现。但是MUCF算法在MAE系数中除了推荐数目k = 2的情况下比传统 化erCF算法高之外,都低于其他两种算法,较于前两者预测的评分误差较小。
[0183] 从图5中可W看出,在RISE系数中即CF算法在K = 3的情况下表现稍差,MUCF算法一 直处于低分且较为平稳,因此即CF和MUCF都在预测评分的误差上优于UserCF算法,因此改 进后的算法在评分的准确性上有所提高。
[0184] 除了常用的准确率召回率和RMSEW及MAE系数之外,在旅游推荐中还很重视覆盖 率系数。覆盖率(Coverage)更能反映推荐是否可W避开热口推荐一些更有特色的冷口景 点。在旅游推荐中大热景点常出现在各大旅游推荐中,使得推荐个性化较差,因此本文将覆 盖率作为评测指标在旅游系统中更有意义。通过改变推荐景点数目K来得到实验,不同算法 的覆盖率系数的大小如表4所示。
[01化]表4覆盖率系数表
[018引由表中的数据绘制曲线可得到覆盖率曲线如图6所示。
[0189] 从图6中可W明显看出,FUCF在覆盖率方面与UserCF并无太大差距,但是MUCF在覆 盖率上具有明显的提高,因此改进后的推荐算法更具商业价值。
[0190] 在采用MUCF算法完成景点推荐之后,进入第Ξ步上下文过滤,本文采用的上下文 是从旅游本体中获取的,由地点,季节,天气,时间四个因素组成,之所W选择运四者作为上 下文后过滤的过滤条件,是因为运四者对旅游信息起到至关重要的影响,任何一个因素的 改变都对旅游推荐的影响巨大。本文设定的实验条件为,地点为"哈尔滨",季节为"冬季", 时间定为12月份的白天,天气情况从"天气网"上获取哈尔滨12月的天气表,12月份部分天 气情况如表5所示。
[0191] 表5十二月份哈尔滨部分天气情况表
[0192]
[0193] 从天气表中看到12月份的白天天气没有极端恶劣的大雪或者6-7级大风的天气, 仅在30日31日有雾靈天气,因此将时间分段1-29日推荐哈尔滨冬季白天适合的室内外旅游 项目。在30-31日推荐哈尔滨白天适合的室内旅游项目,因为雾靈天气不适合进行户外活 动。将推荐景点按照指定上下文过滤之后再与过滤之前的测试集景点数据之间计算准确率 及召回率。获得的经过上下文过滤之后的用户准确率、召回率的参数如表6所示。
[0194] 表6准确率召回率对比数据表
[0195]
[0196] 由表中数据绘制准确率和召回率曲线如图7,图8所示。
[0197] 结合表6、图7和图8,当推荐景点个数为1时,MUCF准确率为0.4785,本发明CMUCF准 确率为0.4877,本发明CMUCF准确率比MUCF准确率提高了 2 % ;当推荐景点个数为5时,MUCF 准确率为0.3296,本发明CMUCF准确率为0.3477,本发明CMUCF准确率比MUCF准确率提高了 5% ;当推荐景点个数为8时,MUCF准确率为0.2840,本发明CMUCF准确率为0.3243,本发明 CMUCF准确率比MUCF准确率提高了 14 % ;
[019引当推荐景点个数为1时,MUCF召回率为0.1013,本发明CMUCF召回率为0.1992,本发 明CMUCF召回率比MUCF准确率提高了96%;当推荐景点个数为5时,MUCF召回率为0.3141,本 发明CMUCF召回率为0.4212,本发明CMUCF召回率比MUCF准确率提高了34%;当推荐景点个 数为別寸,MUCF召回率为0.4326,本发明CMUCF召回率为0.4737本发明CMUCF召回率比MUCF准 确率提高了 10 %。
[0199] 从图中可W看出加入上下文过滤之后的推荐CMUCF得出的结果与之前的推荐算法 产生的推荐结果进行比较,准确率和召回率都有提高,因此加入上下文信息过滤对推荐准 确率的提局有帮助。
[0200] 最后将单纯的景点信息根据旅游景点本体进行扩充得到满足衣食住行方方面面 的旅游信息。在进行上下文部分实验中,本文设定上下为地点为"哈尔滨",季节为"冬季", 时间定为白天。根据运些上下文信息及推荐的景点信息结合本体得到最终推荐。例如得到 了推荐景点为"冰雪大世界"位置推荐附近的商场如"万达广场",推荐附近的特色酒店如 "华梅西餐厅",推荐附近的宾馆如"屯天连锁宾馆"等,根据季节为冬天,推荐冬季活动"哈 尔滨国际冰雪节"。
[0201] 本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域 技术人员当可根据本发明作出各种相应的改变和变形,但运些相应的改变和变形都应属于 本发明所附的权利要求的保护范围。
【主权项】
1. 一种基于本体的旅游信息推荐方法,其特征在于:一种基于本体的旅游信息推荐方 法具体是按照以下步骤进行的: 步骤一、构建旅游景点本体; 步骤二、采用FP-Growth算法挖掘用户之间的关联规则; 所述FP-Growth算法为频繁模式增长算法; 步骤三、采用关联规则的阈值将用户分为2类,一类为关联用户,另一类为无规则用户; 步骤四、将关联用户采用融入时间因子和评价因子的协同过滤算法,生成景点推荐; 步骤五、将无规则用户采用基于旅游景点本体的协同过滤算法,生成景点推荐; 步骤六、将步骤四和步骤五的旅游景点推荐结果进行融合; 步骤七、将融合的结果进行上下文信息过滤; 步骤八、将过滤后的结果进行基于旅游景点本体的信息拓展。2. 根据权利要求1所述一种基于本体的旅游信息推荐方法,其特征在于:所述步骤一中 构建旅游景点本体;具体过程为: 步骤一一、将从N篇文献中得到的景点本体,导入到要构建的旅游景点本体当中去,将N 篇文献进行合并;在合并过程中制定要构建的旅游景点本体的结构,将结构作为准则修改 合并后的旅游景点本体;N的取值为1 -1000; 步骤一二、将服务、文化和活动领域的内容添加到修改合并后的旅游景点本体中; 步骤一三、利用步骤一一中的结构准则,将步骤一二得到的添加后的旅游景点本体进 行修剪,直到旅游景点本体保持一个无信息交叉的状态; 步骤一四、根据GB/T 16766-2010将步骤一三得到的旅游景点本体进行语言规范。3. 根据权利要求2所述一种基于本体的旅游信息推荐方法,其特征在于:所述步骤一一 中旅游景点本体的结构为树形结构,上下层级之间的节点有明确的父子关系,每个节点都 为单独个体,与同层的其他节点之间没有交叉; 节点是旅游景点所涉及到的旅游信息类型。4. 根据权利要求3所述一种基于本体的旅游信息推荐方法,其特征在于:所述步骤二中 采用FP-Growth算法挖掘用户之间的关联规则;具体过程为: 步骤二一、首先从百度旅游上通过设计爬虫抓取数据,通过Java程序抓取到用户的名 字、游览景点、景点类型、景点评分、旅游时间、旅游天气、评分评价信息存入数据库中; 步骤二二、设定最小支持度,数据库中支持度大于最小支持度的项目定义为频繁项目, 将频繁项目全部存储在一棵频繁模式树中,保留项目之间相互投射的关系; 步骤二三、将频繁模式树划分为Μ个条件模式树,再对条件树进行挖掘,挖掘出用户之 间的关联规则,Μ为正整数。5. 根据权利要求4所述一种基于本体的旅游信息推荐方法,其特征在于:所述步骤三中 采用关联规则的阈值将用户分为2类,一类为关联用户,另一类为无规则用户;具体过程为: 设定最小置信度,将挖掘出的用户之间的关联规则中置信度大于等于最小置信度的用 户定义为关联用户,小于最小置信度的用户定义为无规则用户。6. 根据权利要求5所述一种基于本体的旅游信息推荐方法,其特征在于:所述步骤四中 将关联用户采用融入时间因子和评价因子的协同过滤算法,生成景点推荐;具体过程为: 步骤四一、根据步骤三的关联用户构建关联用户-景点评分矩阵; 步骤四二、在评分矩阵中加入时间因子; 步骤四三、再在评分矩阵中加入评价因子; 步骤四四、根据加入时间因子和评价因子的评分矩阵计算用户相似性,从而根据用户 相似性生成景点推荐。7. 根据权利要求6所述一种基于本体的旅游信息推荐方法,其特征在于:所述步骤四二 中时间因子为:式中,T(t)为时间因子,t为时间变量;b、c、t〇为参数,b = 0.42,c = 0.0225,t〇 = 0.00255; 所述评价因子为:式中,E(u)为评价因子,C为总的点评数目,(^为具有点赞行为的点评数目; 所述用户相似性的计算公式采用Pearson相关系数,Pearson相关系数的公式为所述Pearson相关系数为皮尔逊相关系数; 式中,s imuv表示用户u与用户v之间的相似度值,rUi代表用户u对i的评分值,rvi代表用 户v对i的评分值;Iuv代表用户u、v之间有公共评分的评分集合;Uf表用户u的所有商品评 分集合;Iv代表用户v的所有商品评分集合,代表用户u的平均评分、&代表用户v的平均评 分;i为1。冲的第i个。8. 根据权利要求7所述一种基于本体的旅游信息推荐方法,其特征在于:所述步骤五中 将无规则用户采用基于旅游景点本体的协同过滤算法,生成景点推荐;具体过程为: 步骤五一、根据步骤三的无规则用户构建无规则用户-景点评分矩阵; 步骤五二、根据步骤一构建的旅游景点本体,将无规则用户-景点评分矩阵中的景点划 分到旅游景点本体的各个子类型集合中,构成无规则用户-景点类型评分矩阵; 步骤五三、再在评分矩阵中加入时间因子; 步骤五四、根据加入旅游景点本体和时间因子的评分矩阵计算用户相似性,从而根据 相似用户生成景点推荐; 所述时间因子为:式中,T(t)为时间因子,t为时间变量;b、c、t〇为参数,b = 0.42,c = 0.0225,t0 = 0.00255; 所述用户相似性的计算公式采用Pearson相关系数,Pearson相关系数的公式为所述Pearson相关系数为皮尔逊相关系数; 式中,simuv表示用户u与用户v之间的相似度值,rUi、rvi分别代表用户u与v对i的评分 值,Iuv代表用户u、v之间有公共评分的评分集合;Uf表用户u的所有商品评分集合;Iv代表 用户v的所有商品评分集合,?代表用户u的平均评分、f代表用户v的平均评分。9. 根据权利要求8所述一种基于本体的旅游信息推荐方法,其特征在于:所述步骤七中 将融合的结果进行上下文信息过滤;具体过程为: 步骤七一、从步骤一构建的旅游景点本体中获取上下文信息; 所述上下文信息为时间、季节、位置、天气; 步骤七二、采用上下文后过滤的方式对混合推荐结果进行过滤,得到过滤后的旅游景 点推荐。10. 根据权利要求9所述一种基于本体的旅游信息推荐方法,其特征在于:所述步骤八 中将过滤后的旅游景点推荐结果进行基于旅游景点本体的信息拓展;具体过程为: 采用步骤一的旅游景点本体对步骤六所得的过滤后的旅游景点推荐进行信息拓展,将 单纯的景点信息拓展为涉及衣食住行的复合旅游信息推荐。
【文档编号】G06F17/30GK106066873SQ201610369838
【公开日】2016年11月2日
【申请日】2016年5月30日 公开号201610369838.7, CN 106066873 A, CN 106066873A, CN 201610369838, CN-A-106066873, CN106066873 A, CN106066873A, CN201610369838, CN201610369838.7
【发明人】王红滨, 冯梦园, 刘红丽, 徐琳, 王世鹏, 杨楠, 刘广强, 张玉鹏, 刘天宇, 李华峰
【申请人】哈尔滨工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1