ieee33节点系统图_基于查询图(query graph)生成的语义分析-知识图谱问答系统(KB-QA)...

本文是对文章 Semantic Parsing via Staged Query Graph Generation: Question Answering with Knowledge Base (2015年ACL会议Outstanding Paper)阅读过程的思路整合与学习笔记。

0. 概述

本文提出了一个基于知识图谱的语义分析问答系统框架。作者定义了一个查询图(query graph),一个类似于知识图谱的子图结构,该查询图可以直接映射成一种逻辑形式的语义表达。借由此,语义分析被简化成了查询图的生成过程,并将其形式化为一个分阶段的搜索问题。与传统方法不同的是,作者提出的方法在前期利用知识图谱来确定搜索范围,从而简化了语义匹配问题。通过实施一个实体链接系统(Entity linking system)和一个匹配问题与谓词序列的CNN模型,使得作者提出的系统大大优于以前的方法,并在WEBQUESTIONS数据集上达到了52.5%的F1值。

1. 背景介绍

知识图谱(knowledge base,KB)已经成为支持开放领域问答系统的重要资源。绝大多数的知识图谱问答系统(KB-QA,Knowledge Based-Question Answering)中的SOTA(state-of-the-art)方法是基于语义分析(semantic parsing)来进行的,即将一个问题映射成它形式化的意义表示(比如逻辑形式)然后再转化成一个KB query。接下来,只需要在KB中简单的执行这个query就能够得到问题的答案。语义分析过程也对问题进行了更深入的理解,可以用来向用户证明答案的正确性,并向开发人员提供易于解释的信息以进行错误分析。

然而,大多数传统的语义分析方法与知识图谱本身是不挂钩的,因此这些方法在应用到实际场景(例如QA)时会面临一些挑战。例如,当逻辑形式使用的谓词与知识图谱中定义的谓词不相同时,通用的意义表征可能就会存在匹配问题。即使意义表征的语言与KB的模式密切相关,从KB的大词汇表中找到正确的谓词与问题中描述的关系相匹配仍然是一个难题。

作者在本文中提出了一个新的语义分析框架,该方法在形成输入问题的语义解析时更紧密的利用了KB。作者首先定义了一个查询图(query graph),该图能够直接映射到

逻辑形式(
问题的逻辑形式表达,下文会列出具体例子)。语义分析的过程因此被简化为query图生成的过程,并将其形式化为一个分阶段进行的“ 状态”和“ 动作”搜索问题。其中 每个“状态”是指query图表征中的候选解析项每个“动作”则定义了一种图生长的方法。因此,语义解析的表征能力由组成它的每个“状态”的合法“动作”集合所控制。具体来说,作者把“动作”分成了三大步: 第一,定位问题中的主题实体;第二,找到答案与主题实体之间的主要关系;第三,用附加约束的形式扩展query图结构(这些附加属性描述了答案需要具备的属性),或者用回答和问题中其他非主体实体之间的关系来扩展query图。

这种分阶段设计的一个关键优势是:通过将问题拆成KB中的实体与谓词的方法,使得在完整语义确定之前搜索过程将会专注于KB中最有可能产生正确query图的区域,这样的搜索过程会高效很多。举例来说,我们将“Who first voiced Meg on Family Guy?”问题中的"Family Guy"实体与KB中的"FamilyGuy-KB(电视节目)"实体连接起来,然后接下来的过程只需要检查"FamilyGuy-KB"能够使用的谓词即可,而不是检查KB中所有的谓词。如此一来,根据主实体的上下文来判断其他实体内容也变得很容易,比如说"Meg"指的是"MegGriffin-KB",即FamilyGuy电视节目中的角色。由此,作者的这种分阶段设计把该语义解析问题分解成了几个子问题,比如实体连接、关系匹配等。有了这种集成框架,就可以把子问题的最优解很容易的结合起来,从而生成正确的语义解析。比如说,使用一个先进的实体连接系统能够为每个问题输出具有高精确率、高召回率的候选实体。另外,利用一个卷积网络语义匹配框架,作者提出了一个基于连续空间表示(而非纯词法匹配)的更好的关系匹配模型。在两模型组合的情况下,最终作者的语义分析方法将WEBQUESTIONS数据集的SOTA提高至52.5%的

值,比当时最好的模型提高了7.2%。

2. 本文使用的知识图谱与查询图

2.1 知识图谱

本文中的知识图谱K可以看成是主语-谓语-宾语三元组

的集合,这里
实体
谓词。(这里的谓词可以理解为两个实体间的联系)。这种形式的知识图谱拥有直观的图形表示,即每个实体为一个节点,节点之间的连线即为从主体到对象实体的谓词关系。

987231dce40e995110be27bb94d2698e.png
图1. Freebase图谱示意图

为了与其他的模型进行比较,作者使用的是Freebase图谱。在Freebase的设计中,存在一类特殊的实体,叫做复合值类(compound value type,CVT)实体,这并不是现实世界的实体类型,它用于收集表示一个事件或某个特殊关系的多个领域。比如在图1中cvt1和cvt2表示FamilyGuy的不同剧集和系列等。图谱中两个实体的关系就用边来表示,关系被标注为谓词。

2.2 查询图(query graph)

给定知识图谱之后,执行一个逻辑形式的query相当于在图谱中找到一个能够映射到query的子图,然后在解析子图中的变量关系。为了捕捉这种想法,作者把这种用查询图(query graph)的形式来描述这种

逻辑形式的受限制子集。

查询图由四种类型的节点组成:固定实体(即主题实体,图中用圆角矩形表示),已存在变量(用圆表示),

变量(即未知变量,用阴影圆表示),聚合函数(用菱形表示)。固有实体表示知识图谱中的现有实体,对应的存在变量和
变量未固定的实体。这里要注意的是,作者希望检索所有可以映射到
变量的实体来作为最终的答案。这里聚合函数的设计是用于对特定实体进行函数操作,通常能够捕捉到一些数值特征。另外,查询图的节点之间由边连接,并用知识图谱中的谓词来标注边。

5e0d22a1a702ba0236171dd01171056e.png
图2. 查询图结构示意图

图2展示了问题"Who first voiced Meg on Family Guy?"的一个可能的query图的结构。这里实体MegGriffin和FamilyGuy用圆角矩形表示为两个节点,圆形节点y表示图中应该存在一个中间实体来建立固定实体与其他实体的连接关系。阴影圆节点x也称为答案节点,用于映射请求检索到的实体。菱形节点argmin限制了答案必须是此角色最早的扮演者。由此得到的请求(不包括聚合函数)的

逻辑形式为:

在知识图谱K上运行这个query图(不包括聚合函数),将会匹配到"LaceyChabert"和"MilaKunis",其中"LaceyChabert"是正确答案,因为查看固有CVT节点的"from"属性发现"LaceyChabert"开始给该角色配音的时间更早。

3. 分阶段查询图生成过程

作者所生成的查询图需要具有以下属性:首先,在此树状的图中应该有一个实体节点作为根节点,成为主题实体。第二,只有一个

变量x作为答案节点,且
从根节点到答案节点有一条有向路径,中间有零个或多个存在变量。这条路径称为图的 核心推理链(core inferential chain),因为它描述了答案与主题实体之间的主要关系。变量只能出现在这个链中,同样的,该链中除了根节点外只包含变量节点。第三, 可以把零个或多个实体或者聚合函数节点附加到每个变量节点上,包括答案节点。这些分支是答案需要满足的附加限制条件。举例来说,图中"FamilyGuy"是根节点,"FamilyGuy"→y→x是核心推理链。分支y→"MegGriffin"指定了角色,而分支y→argmin限制了答案应该是该角色最早的配音演员。

28ca0381023c576b5313a5dfad2b0f06.png
图3. 查询图的state与action说明图

假设现给定一个问题,作者把该问题的生成过程形式化为一个搜索问题,分为不同阶段的状态(States)和动作(Actions)。令S为状态集合

,其中每个状态可以是空图(
),带有主题实体的单节点图(
),核心推理链(
),或者带有附加限制条件的复杂query图(
)。令A为动作集合
,每种action会对给定的图增加边和节点。具体来说,动作
选定一个实体节点,动作
决定了核心推理链,动作
添加限制节点,动作
添加聚合函数节点。给定一个状态后,可以根据有限的状态图来定义相应的动作集合,如图3所示。需要注意的是,
动作的顺序选择是根据query图的构建过程而决定的。原则上来说,可以选择不同的顺序来构建query图(比如说先构建核心推理链,再解决主题实体的连接问题)。但是,由于在搜索过程中需要考虑多个假设,所以 不同的阶段动作顺序可以看作是裁剪搜索空间或者说有倾向的调整搜索顺序的不同方法。因此,一个确定的动作顺序能够使得每一步搜索过程更加高效。

作者用对数线性模型针定义了一个状态空间上的奖励函数(reward function),该奖励函数估计的是一个query图正确解析该问题的似然。搜索是使用带有优先级队列的最佳优先策略来完成的。接下来,以找到问题

=“Who first voiced Meg on Family Guy?”的query图为例,来具体的描述各个动作序列的过程。

3.1 链接主题实体

b7e3a059250e83ddd6848b0099253667.png
图4. 查询图为空时对应的可能的两个主题实体链接动作

首先,初始状态

,此时的有效动作是
创建一个单节点图,代表的是给定问题的主题实体。举例来说,
中可能的可能的主题实体是"FamilyGuy"或者"MegGriffin",如图4所示。作者这里使用的是一个为短噪声文本设计的实体连接系统(Novel tree-based structured learning algorithms applied to tweet entity linking)。对于知识图谱中的每一个实体
,该系统先准备一个表面形式的词汇表,其中包含了实体
在文本中所有可能被提及的方式。这个词汇表是根据与训练数据不同的数据源生成的,其中包括了例如实体的名称和别名、Web文档中的锚文本以及维基百科中的重定向表等。
对于一个给定的问题,将其中所有出现在该词汇表中的连续单词序列视为mentions,将他们与他们可能对应的实体组成一对。然后对于每一对mention和实体,再根据表层词汇表中的词频统计进行打分。为了避免实体链接系统中可能的潜在错误,并探索更多可能的查询图,所以保留了打分排名前10的实体作为主题实体。链接分数也将作为奖励函数的一个特征。

3.2 识别核心推理链

当给定状态s对应的是含有主题实体

的单节点图时,这时扩展查询图的有效动作就是是识别核心推理链的过程,也就是确定主题实体和答案之间的关系
。例如,图5中展示了在图
中3条可能的推理链。因为主题实体已经给定,所以只需在KB中探索由实体
出发的可能的谓词序列。为了限制谓词的搜索空间,对探索做如下限制:对于路径中的已存在变量可以接到一个CVT节点,那么这种路径的探索长度上限为2;如果不存在这样的中间变量,那么探索长度上限为1。另外,如果在训练数据中观察到了谓词序列更长的组合,那么对于这种组合也需要进行探索。

d5247d7892bf2aefbcd650f078b25c8a.png
图5. 关于实体主题实体FamilyGuy的三条可能的核心推理链

在实体链接问题中,目标是找到问题中mentions到知识图谱中对应的实体的映射关系。同样的,识别核心推理链的过程是将问题的自然话语映射到正确的谓词序列。举例来说,对于问题“Who first voiced Meg on [Family Guy]?”,我们需要判断在集合{cast-actor,writer-start,genre}中的每一个谓词序列是否正确的捕捉了Family Guy和Who之间的关系,即计算他们的似然。作者将此问题简化为使用神经网络测量语义相似度

3.2.1 深度CNN

对于待训练的question存在以下两个problems:首先,对于同一问题,可能存在着许多语义相同但形式不同的等价表达方式;第二,自然语言语句中的关系词语与知识图谱中的谓词可能不匹配。为了处理这两个问题,作者使用了Siamese提出的神经网络(Signature verification using a “Siamese” time delay neural network)来执行识别核心推理链的任务。举例来说,一种结构将问题映射成一种pattern(模式),即用通用符号<e>来代替实体mention,然后将其与候选推理链进行比较,比如说将“Who first voiced Meg on <e>”与谓词序列cast-actor比较。模型由两个神经网络组成,一个用来计算pattern,另一个计算推理链,两个模型的输出都是k维向量。然后用余弦相似度来代表它们之间的语义相似度。在语义解析和问答系统中使用这种连续空间的representation方法效果比词汇匹配的方法好很多。本文使用CNN网络来解决该匹配问题,如图6所示。

fd7d990df50312072beb60a0a46ccc06.png
图6. 本文中的语义相似度计算CNN结构

该CNN模型中首先施加了一个单词打散(word hashing technique)的技术,即将单词变为由字母三元组组成的向量。举例来说,比如单词“who”,字母三元组包括#-w-h,w-h-o,h-o-#,这里#代表开始结束符。将每个单词都映射为一个字母三元组的向量(这里事先有一个所有词汇表的字母三元组矩阵

),最终整个问题的单词序列成为一个单词打散层的输入
。接下来利用上下文窗口为3的卷积层将
投影到一个局部上下文特征向量
,并经过最大池化层找到局部最显著的特征,最终形成一个固定长度的代表单词序列全局的特征向量
。然后再经过一个全连接层输出最终的非线性语义特征
,作为最终pattern或推理链的向量表示参与相似度计算。

要训练该模型需要正样本对,比如pattern为“Who first voiced Meg on <e>”对应的推理链为cast-actor。这些正样本对可以从训练数据中完整的语义解析中提取出来。但是如果正确的语义解析是隐藏的,即训练数据只提供了问题-答案样本对(比如说WEBQUESTIONS数据集),仍然可以通过遍历所有知识图谱中连接了主题实体和答案的路径来假设可能的推理链。4.1节会展示这一数据生成过程的细节。

该模型与传统的使用词的embedding的方法相比有两个优势。第一点,单词打散层有助于控制输入空间的维度,并且可以轻松的扩展到较大的词汇表中。同时字母三元组能够捕捉到一些单词以下级别(字符级别)的语义信息(举例来说,有些单词有轻微的拼写错误,但是它与元单词有几乎相同的字母三元组向量),因此该模型就尤其适合于真实世界用户所提出的问题(例如搜索引擎中的问题时长会有轻微的拼写错误)。第二点,模型使用了更深层的卷积神经网络结构,因此学习到的representation能学到更多深层信息

3.3 添加约束条件和聚合函数

以上过程形成了一个只含有核心推理链的query图,这是一个最简单的合法图,已经可以在知识图谱中进行搜索获得答案。但是这时所有与主题实体满足推理关系链接的实体都会被检索。举例来说,图7中

代表的查询图将会检索所有出现在FamilyGuy中的演员。如果假设主题实体FamilyGuy是正确的,那么这些演员实体中一定包含了正确答案,但是也包含了大量不满足问题中所提出的限制条件的不正确的实体。

92db85b4ac822e840afdadfdea844020.png
图7. 核心推理链扩展限制条件和聚合函数的过程示意图

为了进一步限制备选答案实体的集合,作者对只含有核心推理链的图进行了两种动作的扩展:

是指将实体添加到变量节点的一系列可能的方法,其中添加的边表示可以将变量节点链接到实体的有效谓词之一。例如,图中查询图
的基础上将MegGriffin链接到y上,连接的谓词为character。这个过程与
表达式(
)中的最后一个连接项等价。

另外,有时有些限制是通过聚合函数的对整体答案集施加的,比如说在

中的单词"first"。这一种限制是由
动作以相似的方法来添加的,即将聚合函数节点链接到某个变量节点上。举例来说,图中的查询图
中的argmin节点限制取到变量y的"from"属性为最小。

具体操作时,首先将核心推理链作为查询图在知识图谱中查找变量x和y之间的连接关系,然后枚举这些实体的所有邻近节点,进而在派生出完整的约束集合。但是这种操作步骤常常导致生成了不必要的大约束集。在本文中,作者使用一些简单的规则来仅仅保留那些合法的可能约束条件。举例来说,合法的约束节点可以是出现在问题中的实体(这是由实体链接组件检测到的),同时聚合函数限制只有当问题中出现特定关键词(比如“first”,“latest”等)的时候才会添加。

3.4 学习奖励函数

给定一个状态s,奖励函数

主要用来判断s代表的查询图是否表达了问题
的正确语义信息。作者使用对数线性模型来学习这一奖励函数。

3.4.1 特征

作者设计的奖励函数的特征基本上与查询图的特定部分相匹配,并且通常与各阶段操作相匹配,特征包括:

主题实体特征(EntityLinkingScore)。即主题实体系统得到的分数作为一个特征。

核心推理链。作者用3.2节中的核心推理链相似度分数来衡量核心推理链的质量。其中包括:PatChain(Pattern链):Pattern链比较了pattern和谓词序列之间的相似度。QuesEP:先将主题实体的规范名称和谓词序列连接起来成为链,然后与原问题比较计算相似度,这个特征相当于尝试从概念上验证实体链接是否正确。对于三个与推理链相关的特征,本文中的CNN模型是使用训练数据中问题和推理链组成的样本对来学习参数的。ClueWeb:除了域内的相似性参数外,作者还用ClueWeb语料库中的Freebase注释训练了一个ClueWeb模型。

约束条件特征(ConstraintEntityWord,ConstraintEntityinQ)和聚合函数特征(AggregationKeyword)。当query图中出现约束节点时,作者用一些简单的特征来检查问题中是否有可以与约束实体或属性关联的单词。例如,问题中的一个mention是否能链接到实体,以及约束实体名称中单词在问题中出现的百分比。对于聚合函数,则是检查在预编译列表中是否存在某些关键字,比如说"first","current","latest"等代表argmin聚合节点特性的单词。

还包括两个全局特征,包括向知识图谱中发出查询时检索到的答案实体的数量(NumAns),以及query图中包含的节点数量(NumNodes)。图8中展示了一个query图用于训练奖励函数的特征。

8f39ee4b9c087d7fa555228737fee1c9.png
图8. 奖励函数的特征示意图

3.4.2 学习过程

原则上来说,一旦特征提取出来之后,该奖励函数可以通过任何现有的学习算法来学习。这里作者把该问题视为一个排序问题,而不是简单的二元分类问题(即只有正确的查询图被标记为正)。设想每个问题有几个候选查询图,不妨设

分别是根据相同问题
得到的状态
形成的查询图,且
分别是通过执行query图
得到的实体集合。假设
是训练数据所标记的答案,作者首先根据答案集合
来计算
的精确率、召回率和F1值,然后根据F1值对
进行排名。
排名的原因是即使一个query图不完全正确,但是它仍然比一些完全错误的query图更让人接受,以留下更多的合理候选项。在本文中,作者使用的是基于lambda排序的单层神经网络(From RankNet to LambdaRank to LambdaMart: An overview)来训练这个排序器。

4. 实验结果

4.1 数据与评价度量说明

作者使用的是WEBQUESTIONS数据集,由5810个问答对组成。因为这个数据集只包含问答对,所以作者用搜索过程来模拟语义分析过程,以训练CNN模型和奖励函数。对于训练数据中的每个问题,首先用实体链接系统生成候选主题实体。然后将候选实体链接到答案实体上形成一个核心推理链如果某个核心推理链返回了比正确答案数量更多的答案实体,那么就增加限制条件和聚合函数,直到查询图检索到的实体与标签答案一致或者F1值不在升高为止。另外,负样本是从搜索过程中产生的不正确的候选query中采样得到的。最后,作者从训练集的问题中提取出了17277个非零F1分值的查询图,以及约170万个完全错误的负样本查询图。

为了训练识别核心推理链的CNN模型,作者使用只包含推理链的4058个F1值达到0.5以上的query图来生成问题-谓词序列样本对。通过交叉验证来确定CNN中的学习率、卷积层和全连接层的神经元个数等超参数。作者从整个样本中保留了684个pattern-推理链样本对作为测试集,其余的作为初始训练集。通过对原始训练集上训练的模型在测试集上的新能来确定最优超参数。接下来固定超参数,并用整体数据集再重新训练得到最终的CNN模型。

在训练奖励函数时,作者为每个问题创建了多达4000个样本,这些样本中包含了所有该问题的正样本和随机选择取样的负样本。最终该模型被训练为一个排名器,query图根据各自的F1值进行排名。

4.2 结果展示

fafb188aea3e7ed4c3fdd6b0de5b4472.png
表1. 论文方法结果比较展示

表1中展示了该query图检索系统的与其他方法在WEBQUESTIONS数据集上的结果比较(标记为STAGG),效果提升显著。

59c41449f09d4b1cebd8ff7667ec37e9.png
表2. 实体链接系统与Freebase API的实验结果统计数据对比

进一步,由于作者提出的方法是分阶段设计的,所以作者又检查了每一个阶段对最终结果的贡献。首先,主题实体链接是第一阶段,所以问题中实体的质量对最终结果的准确率和召回率都有很大的影响。为了深入了解主题实体链接系统的表现,作者用Freebase 的搜索 API进行对照实验,对给定问题中的mention来推荐相应的实体。如表2中所示,本文中的实体链接系统相对于Freebase API来说,只需要其一半的备选实体数量就能覆盖绝大多数的训练问题样本。同时,相比于Freebase API,实体链接系统所建立的备选实体集中能够覆盖更多主题实体。再者,如果将整个系统中的主体链接系统组件更换为Freebase API,观察到F1值从52.5%下降到48.4%。

5c6aa6c33b3164ed66679d4cef99034e.png
表3. 核心推理链模型与其余两个匹配模型的效果对比

接下来作者测试了其他组件的表现,如表3所示。如果只包含PatChain CNN模型组件,模型效果已经比较不错了,远好于现有的其他模型。如果再加上其他的CNN模型(QuesEP,ClueWeb)则能够进一步提升模型表现,但是提升的效果并不明显。原因可能有二:第一,来自搜索引擎用户的问题通常很简短,且这些问题中很大一部分只是简单的询问某个实体的属性。作者检查了训练问题集生成的query图,其中有50%的样本只用核心推理链就能准确的找到答案,F1值为1。第二,即使正确的解析query图需要更多的约束,相对约束较少的图也会得到一个占比很高的分数,因为由它找到的结果已经覆盖了正确答案

4.3 错误原因分析

虽然作者提出的方法显著地提升了现存方法的模型效果,但是该方法的提升空间仍然很大(毕竟F1值仅仅是刚刚超过50%),因此作者对模型回答错误的样本进行了错误原因分析。作者随机抽取了100个系统没有生成完全正确的query图的问题,并对错误进行了分析。有大概三分之一的错误行为是由标签问题引起的,而非真正的错误,其中包括了标签错误(2%),不完整标签(17%,即指对于多个答案的问题只有一个标签),可接受的回答标签(15%,即所给的答案不是问题的回答但是有正确答案相关并接近)。有8%的错误是由于实体链接错误导致的,但是有时候有的mention本身就是模棱两可的(比如说AFL可以指“American Football League”或者“American Federation of Labor”)。另有35%的错误是错误的核心推理链引起的,还有23%的错误是由于不正确的约束或缺失约束造成的。

5. 总结

本文提出了一种基于知识库的问答语义分析框架。作者将查询图定义为可以直接映射到逻辑表单形式(

表达式)的意义表示。将语义解析简化为查询图的生成,并将其进一步转换为分阶段搜索问题。借助于实体连接系统和匹配问题和谓词序列的CNN模型,最终该query图系统在WEBQUESTIONS数据集上大大优于以前的方法。作者分析了模型中各个组件的贡献并分析了错误组成

这一KB-QA领域的里程碑paper提出了一个分阶段query图生成框架,作者主要的贡献在于将现有的各个组件整合为一个强大的模型,并为后续的KB-QA发展奠定了基础。

参考资料:

论文原文:Semantic Parsing via Staged Query Graph Generation: Question Answering with Knowledge Base

文中所用模型文章:

  1. 实体链接系统 Novel tree-based structured learning algorithms applied to tweet entity linking
  2. 语义匹配所用的CNN网络模型 Signature verification using a “Siamese” time delay neural network
  3. 训练奖励函数:基于lambda排序的单层神经网络 From RankNet to LambdaRank to LambdaMart: An overview
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值