system: [SYSTEM]

user: 3. 旅游场景知识图谱的构建 3.1. 旅游场景知识图谱的概念模型 单纯运用基于本体的语义网知识表示法 [ 15 ] [ 16 ] 不能够完全满足旅游智能应用的知识需求，无法充分表达不确定性知识，所以本文将贝叶斯条件概 [ 17 ] 与传统语义网相结合，提出了旅游场景下基于贝叶斯概率的语义网模型。该模型能够将人类的先验知识和后验概率进行结合，可以克服语义网等模型仅能表达确定性知识的弱点。该模型主要思想是将贝叶斯条件概率与传统语义网相结合，在语义网的节点之间添加置信概率，能有效解决游客POI判断中不确定性知识表示的选择难、多义性和确定权重难等问题，增强计算机对知识的可理解性。 因此，本文提出旅游场景知识图谱TSKG (Tourism Scene Knowledge Graph)概念模型，通过一个二元组对其进行描述，即 TSKG = 〈 N ， R 〉 (3.1)，其中N (Node)表示图谱中围绕某一POI所发生的旅游活动事件节点，R (Relation)表示图谱中节点之间的边的语义关系。 1) 旅游场景图谱中的实体节点N定义见如下公式： N = 〈 Nid ， Where ， What ， How ， Score ， Text ， Rid 〉 (3.2) 旅游活动事件节点N通过一个七元组来描述，其中Nid表示节点的唯一标识符，Where视为图谱的基本实体单元，即旅游目的地，What (旅游活动)，How (旅游体验)均为该节点的属性特征，分别表示发生该旅游活动事件的旅游活动及旅游感受。Score (情感评分)是根据What (旅游活动)和How (旅游感受)综合计算得到的对于该旅游目的地的综合情感评分。Text是围绕这一POI描述旅游活动事件发生全过程的相应游记片段，Rid是相连节点的边的编号。 2) 旅游场景图谱中的旅游活动事件节点关系R定义见如下公式： R = 〈 Rid ， RSematic ， RProbility ， RScore 〉 (3.3) 旅游活动事件节点间关系，通过一个三元组来描述，其中Rid表示边的唯一标识符，RSematic表示边的语义关系(顺承、因果、属性)，RProbility和RScore是边的两个属性，其中RProbility表示两个节点之间的转移概率，RScore表示两个节点的情感差值。 综上，基于贝叶斯概率语义网模型进行知识表示的旅游场景知识图谱可以抽象成简单的三种基本单元： 图1. 单个旅游场景下的知识单元 图1为单个旅游场景下的知识单元，表示单个旅游场景下活动事件 N 1 ， N 2 ， N 3 之间的顺承关系走向为 N 1 → N 2 → N 3 ，每个旅游活动事件具有上述定义的属性特征f n ，每条边具有上述定义的三个属性，分别用s (语义关系)，p (转移概率)，e (情感评分)表示。在实际旅游活动路线，可能会产生闭环现象。如从N 3 返回到N 2 或N 1 ，本文不考虑该闭环情况。一方面是因为通过实际数据研究发现，该情况十分稀少，不具有群体代表性。另一方面是因为一天行程结束后返回最初节点的情况，大多为返回酒店入住，不具有深入挖掘的价值。 图2. 多个旅游场景下的知识单元 图2为多个旅游场景下的一种知识单元类型，即由两种旅游路线组合而成， N 1 → N 2 → N 3 / N 4 。 图3. 多个旅游场景下的知识单元 图3为多个旅游场景下的一种知识单元类型，即由两种旅游路线组合而成， N 1 / N 2 → N 3 → N 4 。 图4. 融合后的旅游场景知识图谱 图4为多个旅游场景融合之后的旅游场景知识图谱，由于多条旅游路线组合的缘故，从图中可见N 1 与N 2 之间可能存在双向箭头，但据上述分析，本文不考虑闭环情况，因此双向箭头一定不属于同一旅游场景。 3.2. 旅游场景知识图谱的构建 本文所构建的旅游场景知识图谱，其实体、实体属性值及边属性值均来源于群体贡献的在线游记。因此，本章将针对游记文本设计知识挖掘框架，实现对旅游目的地(实体节点)，旅游路线(实体间的顺承关系)，旅游目的地相关主题活动及情感(实体属性)，及旅游目的地之间转移概率(边属性)的抽取与计算，最终以旅游场景知识图谱的知识表示形式组织旅游活动事件及其关系。总体实现逻辑如图5所示： 图5. 旅游场景知识图谱的构建逻辑图 1) 旅游目的地实体的抽取及判别 本文提取OTA平台中TOP级景点信息构成基本的旅游目的地词典POI_dict，基于POI_dict词典精确匹配游记l处理后的每个词语w，观察发现每个自然段可能提及多个POI，除了作者在本段中实际描述的景点以外，还存在其他干扰地点。为解决该问题，本文主要从POI附近的触发词及上下文联系两个方面排除干扰，判定自然段实际描述的实体对象。 a) 基于触发词判别段落的实际描述对象 触发词作为发现POI的重要特征，可以用于进行POI判别。如例句A，通过词典匹配将识别出“中环”和“海洋公园”两个地点，依据依存句法分析，可以得到关键触发词“到达”，从而判定该段接下来将会描述“到达”该词后面指示的地点“海洋公园”，而非“中环”。同样，例句B中依据依存句法分析，可以得到触发词“去”，其指示的旅游目的地为“尖沙咀星光大道”。 例句A：“双层巴士装载客人的速度很快。八达通一刷，10.6 HKD。大概半个小时就从中环到达海洋公园了。” 例句B：“去香港一定要去一趟尖沙咀星光大道。透过维多利亚港隔海欣赏对岸香港岛的璀璨灯光。” b) 结合上下文过滤干扰实体 作者在书写游记的过程中，行文逻辑一般以发生旅游活动事件的先后顺序展开，描述完一个POI后转而切换到下一个POI进行描述，很少穿插论述。因此，每个自然段对POI的描述是上下文相关联的，若在连续自然段中均对POI 1 进行描述，中间匹配出与上下多个连续自然段不符的POI 2 ，则对这类POI 2 进行过滤。并且，若一个段落中同时匹配出三个以上的旅游目的地实体，且实体之间的距离相邻近，则可以基本认定作者在罗列地点名词(如例句C)，可能是在概述行程，也可以在回忆过往，因此对这类并非针对某一POI进行描述的段落予以剔除。 例句C：从小就看港剧、港片长大，却是第一次去南丫岛、大澳、大屿山，电视剧中看过无数次的景色真实出现在眼前的感觉真实难以言喻。 综上，可以从游记文本中识别出旅游目的地实体，并判别自然段实际描述的POI，从而依照实体出现段落次序形成旅游顺承路线。 2) 旅游目的地实体属性值的抽取 a) 旅游主题活动的抽取 本文将传统LDA模型的主题分为局部主题(Local Topic)和全局主题(Global Topic)两类，并将旅游目的地视为局部主题的概率分布。若游记集L所构成的词袋容量为W，旅游目的地词集容量为K，则游记集可以表示为一个L × W的[词语–文档]稀疏矩阵(Word-TravelLog matrix)，如图6最左侧所示，其中第m篇文章在W向量上的词语概率分布即为第m列；第m列第x行的元素表示条件概率(第x个词语|第m篇文章)。于是，[词语–文档]矩阵可以分解为I与II两部分。 图6. 地点–主题概率模型建模示意图 从上图可以直观地看到一篇游记中每个词语的产生源于条件概率分布下做出的一系列随机选择，通过将传统LDA模型中[词语–主题]矩阵拆分为[词语–局部主题]和[词语–全局主题]两类，两类矩阵 分别表示局部主题和全局主题在词语上的概率分布 { p ( 词 语 w | 主 题 z ) } w = 1 W ，因而可以对每个词语所描述的 主题类型进行区分，从而筛选出专门刻画旅游目的地特色的代表性知识，其中[局部主题–地点]矩阵则 反映了地点与局部主题之间的概率关系 { p ( 局 部 主 题 z | 地 点 l ) } z = 1 T l o c 。对于[地点–文档]矩阵的填充，本文 依照上一节中的POI识别及判别规则对每篇游记实际描述的POI进行提取，并映射到相应的文章片段。 b) 旅游对象–情感词对的抽取 对于每篇游记文本l，经过主题挖掘后，将包含主题项 T l o c 的句子作为主题句，然后利用词性模式识别主题句中的情感词，构成主题(旅游评价对象)–情感词组。用T表示主题词(topic word)，S表示情感词(sentimental word)，主题情感词组用T-S表示。表1为反复实验所总结的词性模式，其中各字母代表含义为：n：名词、vn：动名词、v：动词、a：形容词、d：副词、CT：候选主题词、CS：候选情感/情绪词。 Table 1 Extract part-of-speech patterns of topic-emotional phrase 序号 词性模式 输出 子句词性示例 评价对象–情感组示例 1 n + d + a (CT = n，CA = a) “过山车/n非常/d刺激/a” (过山车/n，刺激/a) 2 n + d + v (CT = n，CA = v) “价格/n很/d划算/v” (价格/n，划算/v) 3 n + d + n (CT = n，CA = n) “卫生/n干净/n” (卫生/n，干净/n) 4 n + d + vn (CT = n，CA = vn) “价格/n实惠/vn” (价格/n，实惠/vn) 5 vn + a (CT = vn，CA = a) “服务/vn好/a” (服务/vn，好/a) 表1. 抽取主题–情感词组的词性模式 3) 旅游目的地之间转移概率和情感差值的计算 a) 基于贝叶斯网络的转移概率的计算 设旅游活动事件 N = { N 1 ， N 2 ， ⋯ ， N n } 为随机变量，每个变量都只有两个取值，去——1/不去——0 (旅游目的地)。设样本数为m，可以从样本集中得到旅游活动事件之间的关系，即样本集中有多少人去了A地后又去了B地，通过词频共现统计 f ( N 1 → N 2 ) 可以构建出CPT表，用于参数计算。表达式 p ( X 1 = x 1 ， X 2 = x 2 ， ⋯ ， X n = x n ) 表示一个联合概率，即变量 X 1 ， X 2 ， ⋯ ， X n 的值分别是 x 1 ， x 2 ， ⋯ ， x n 时的概率。其一般形式为： P ( X 1 ， X 2 ， ⋯ ， X n ) = ∏ i = 1 n p ( X 1 | X i ， X 2 ， ⋯ ， X i − 1 ) (3.4) b) 基于情感分析模型的情感差值计算 本文构建了一个六元组(公式3.5)用于存储对情感极性产生明显影响的词性或标志，并制定了一系列规则用于POI情感值的计算。 S c o r e k = λ ∑ n E 〈 tword ， sword 〉 × α ( nword ) × β ( dword ) × γ ( position ) × δ ( rword ) / m (3.5) 其中， S c o r e k 表示第k个POI的情感评价总分，m指描述该POI的游记篇数，n指一篇游记中的候选主题句数目，tword指旅游评价对象，sword指情感/情绪词，nword指否定词，dword指程度副词，position指否定词和程度副词的相对位置， α ， β ， γ ， δ 指上述四个元素情感强度的影响系数， λ 指正负向情感的矫正系数。 规则1：对于程度副词的权值，采用HowNet(知网)程度副词文档进行处理。文档中根据程度副词的强烈程度，将其划分成五个倍数级别，对其分别给予0.5~3的倍数。 规则2：对于否定词，当句子中出现否定词，将对其修饰的情感词取相反含义。而对于多重否定句式的归纳，奇数重否定表示否定义，偶数重否定表示肯定义。 规则3：若句中不仅存在否定词，还存在程度副词时，需要考虑两者的相对位置。当否定词在程度副词之前，则整体情感强度降低0.5，相反，当否定词位于程度副词之后，则整体情感强度增加0.5。 规则4：若主题句中出现关联词/转折词“但是”、“却”、“仍然”等，则句子整体情感倾向取决于关联词/转折词之后的子句。 规则5：情感矫正系数为3，当游记中正面情感超出负面情感的3倍时，才将总体情感倾向判定为正向。 基于上述规则计算每个POI的情感评分，POI之间的情感差值计算公式如下： Δ E = S c o r e k − S c o r e k − 1 (3.6) 其中 S c o r e k 是 S c o r e k − 1 相邻的父节点， S c o r e k 计算公式见(3.5)。