李青青 Pattern-revising Enhanced Simple Question Answering over Knowledge Bases
新闻来源:IR实验室       发布时间:2019/3/28 13:06:22

  1.    介绍

随着知识库数量的增长,例如DBpediaFreebase以及Wikidata,人们越来越关注于寻求有效的方法来获取这些宝贵的知识资源。但是知识库通常规模庞大,导致用户难以访问。KB-QA是以自然语言作为查询语言,是一种用户友好型的解决方案,近年来已经成为了研究热点。与此同时,数据量的增加导致了异构数据格局,知识库数量的庞大性、多样性和准确性,使得QA系统很难跟上数据库更新的步伐。

简单的知识库问答系统,指的是以一组三元组构成的知识库为背景,给定一个自然语言问题序列,将该序列映射到知识库中的一组三元组中,匹配到最佳的主语实体和关系谓词,从何得到目标实体。简单知识库问答系统的挑战在于以下两点:第一点是由于自然语言问题的表述多样性。一方面,相同的信息可以有不同的表述方式;另一方面,两个句子中的相同实体可能有不同的涵义。第二个挑战是一个大型的知识库中往往含有大量的三元组。因此,要解决以上两个挑战,就要首先进行实体链接,为问句中的实体在后台知识库中寻找一系列的候选实体匹配,而不需对所有的实体进行遍历。但是这样做的缺点是容易造成错误传播。基于此,本文提出了基于模式修正的简单知识库问答系统。

2.    相关工作

KB-QA的研究已经从早期的领域特定QA演变为基于大规模KB的开放域QA 有两个主流研究方向用于KB-QA任务。 一种方法是语义解析,它使用逻辑语言CCGDCS将问题映射到其逻辑形式上以在KB上进行查询。 另一类利用向量空间嵌入方法来度量问题话语与候选KB三元组之间的语义相似性,使得正确的三元组将是学习向量空间中问题话语的最近邻居。

Yih 等人采用多阶段的方法来代替单一的向量相似性度量方法。在每一个阶段中,将三元组中的一个元素与问题序列进行比较,通过专用模型产生部分相似性分数。然后将这些部分分数组合以产生整体度量条件。Yin等人在卷积层之上使用了注意力最大池化层来模拟候选谓词和问题的匹配。 Lukovnikov等人训练了一个神经网络,它包含一个嵌套的单词/字符级问题编码器,用于以端到端的方式回答简单的问题。 在这项工作中,我们提出了一个两阶段框架,利用多维编码和多级编码来计算语义相似性,以解决简单的KB-QA问题。

3.    方法介绍

论文中提出的框架如Figure 1所示。在第一阶段中,给定一个问题,首先通过序列标注方法,提取出问题中的实体和模式,然后将模式加入模式库中。接下来进行模式修正。给定模式库中的所有模式,所有的原始问题序列,模式修正的算法如Algorithm 1所示。进行模式修正后,除了模式之外的部分产生了新的实体,根据这个实体来进行实体链接。实体链接的算法如下:1)将问句和实体中的每个单词变为小写并进行分词。2)使用实体中的每个单词去搜索知识库,将包含该单词的实体提取出来放入候选实体集合中。3)对于每个候选实体,计算实体与问题的最长连续公共子序列,并计算该序列的最后一个单词在问题中的位置。4)根据该序列与问题的覆盖率,与实体的覆盖率以及在问句中的位置来计算该候选实体的分数,根据该分数对候选实体进行排序,选出前M个候选实体。

在第二阶段中,对实体的类型,每个实体对应的关系谓词进行编码,基于LSTM编码的输出,得到实体所对应的关系与问题的相似度分数,然后基于实体分数与关系分数对前M个候选实体进行排序,得到前N个候选实体,以及实体所对应的所有关系谓词,构成了候选池。

最后进行主语实体以及关系谓词与问句的匹配。首先是实体匹配。给定问句中的实体提及,将实体提及的字符级和单词级的词嵌入拼接起来,经过LSTM网络,得到实体提及的向量表示。对于知识库中的实体,得到字符级

的向量表示,然后与实体提及的向量表示进行cosine相似似度计算,得到主语匹配度分数。在谓词匹配部分,对于问句中的模式,将每个单词的字符级和单词级表示拼接起来,经过一个句子级的LSTM,得到向量表示。针对知识库中的关系词,得到谓词级别和单词级别的向量表示,拼接起来与模式向量进行cosine相似度计算,得到谓词匹配度得分。具体架构如图2所示。

2

在训练过程中,最终的排序函数就是主语匹配度得分和谓词匹配度得分相加而成,损失函数采用最小化排序损失。

4.    实验

SimpleQuestions是一个典型的简单QA任务,它提供了一组简单的问题,可以通过一个Freebase三元组来回答。 该数据集分为三个部分:训练集(75,910个实例),验证集(10,845个实例)和测试集(21,687个实例)。 基准测试还提供了两个Freebase子集:FB2M2,150,604个实体,6,701个谓词,14,180,937个事实三元组),FB5M4,904,397个实体,7,523个谓词,22,441,880个事实三元组)。

评价指标是准确性。 只有当预测出的三元组中的主语和谓语与答案三元组相匹配时才算正确。

实验结果如Table 1所示。实验结果表明,我们的框架在这项任务中创造了新的记录,以绝对的大幅度优势超越了最先进的技术。并且我们的框架利用了一个非常简单和通用的模型,可以很容易地应用于其他简单的KB-QA任务,而不是使用注意力模型或其他复杂的设置。

Table 2所示,原系统的准确率为74.8%。 当使用模式修正程序进行增强时,我们框架的准确性增加了2.7个点,表明我们的模式修正算法确实提升了模型的性能。当使用关系检测重新排序候选实体时,准确度增加到77.8,表明合并用于重新排序候选实体的谓词和实体类型信息可以提高召回候选者的质量。这两部分对我们的框架都很重要。当删除它们时,系统性能会明显下降。

我们通过随机抽样100个错误回答的问题对我们的方法进行错误分析。 错误可以分为4种类型。最常见的错误类型(56%)是错误选择了主语实体或谓词。由于模式提取和实体链接过程的性能偏差,黄金实体可能不会出现在我们的候选主语中。在这种情况下,我们的联合事实选择过程不能选择黄金主语实体。并且选择错误主语的概率远高于选择错误谓词的概率。另一种错误(22%)可以归结为长药名错误。一些药物实体在知识库中的名称很长(超过15个单词),而在问句中可能要短得多(少于4个单词)。 在这种情况下,联合事实选择过程中的实体提及与主语匹配失败。第三个常见错误(13%)可归类为知识库错误。在知识库中,有一些实体的名字和类型是完全相同的。知识库或问题不能提供更多证据来区分它们。最后一种错误(9%)是标注错误。在数据集中,有一小部分问题是重复的,但标注的主语或谓词是不同的。

5.    论文小结

综上所述,本文的主要贡献是:(1)提出模式提取和实体链接,并提出模式修正程序来缓解错误传播问题。(2)为了对候选主谓词对进行排序,使得能够在给出问题的情况下进行相关事实三元组检索,提出通过关系检测程序来增强联合事实选择过程。并利用多级编码和多维信息来加强整个过程。(3)本文的方法在Simple KB-QA任务中创造了一项新记录,以绝对大的优势超越了当前最先进的技术水平。

6.    参考文献

[1] Yanchao Hao, Hao Liu, Shizhu He, Kang Liu, Jun Zhao: Pattern-revising Enhanced Simple Question Answering over Knowledge Bases. COLING 2018: 3272-3282.

[2] Yin W , Yu M , Xiang B , et al. Simple Question Answering by Attentive Convolutional Neural Network[J]. 2016.