论文阅读:A Survey of Question Answering over Knowledge Base

KBQA 调研

0. 摘要

基于知识库的问题回答(KBQA)是一种在知识库中准确、简洁地回答自然语言问题的问题。KBQA的核心任务是理解自然语言问题的真实语义,并将其提取出来,在知识库的整个语义中进行匹配。然而,在现实世界中,自然语言问题的语义是可变的,这是一个很大的挑战。最近,在许多应用中出现了越来越多的现成的KBQA方法。比较和分析它们,以便用户进行更好的选择,这变得很有趣。本文将KBQA方法分为两类,对其进行了概述。在此基础上,介绍了KBQA中目前的主流技术,并讨论了它们之间的异同。最后,在此基础上,对一些有趣的有待解决的问题进行了展望。

关键词: KBQA、语义解析、信息检索

1. 介绍

在信息技术飞速发展的今天,如何从大规模的信息中准确地提取信息已成为人们研究的目标,问答系统也成为重要的研究方向之一。在20世纪60年代,QA系统主要是专家系统,依赖大量的规则或模板。随着技术的发展,QA系统逐渐向基于信息检索的研究方向发展。基于检索的QA系统依靠关键字匹配和信息抽取来分析浅层语义,从相关文档中提取答案。但是,只有需要预定义的问题才能获得答案。为了克服这一缺点,大型商用引擎已经被开发出来。这种社区问答系统基于关键词匹配检索,依靠网民的历史问答,推荐新问题的答案。近年来,随着万维网的发展,大量高质量的数据被积累和精心设计,大量大规模的知识库应运而生,如Yago [1], Yago2 [2], DBpedia [3], Freebase[4]。知识库中包含了大量的结构化数据,自然语言问题可以被映射为结构化的查询。如何在知识库中正确理解用户问题的语义,找到事实检索匹配和推理的答案,就是知识库问答
在这里插入图片描述
知识库中的知识可以用 (主语、关系、宾语) 这样的相互连接的三元组形式表示,数以亿计的三元组相互连接,为问答系统提供了丰富的资源。KBQA的大规模应用给QA系统带来了新的机遇和挑战。知识库问答的主要过程如图1所示。它给出了自然语言问题,首先将自然语言问题解析为某种语义表示,然后通过语义匹配、推理和查询在知识库中找到相应的答案并返回。从应用领域的角度来看,KBQA可以分为开放领域知识问答 ,如百科知识的问答,和特定领域知识问答 ,如金融领域的问题回答。
KBQA系统的传统框架大致可以分为四个模块:问题分析、短语映射、消歧和查询构造。
目前解决知识库问答的方法主要有两种:语义解析信息检索。实际上,这两种方法并没有严格的区分,甚至可以一起使用。在接下来的章节中,我们将重点介绍这两种方法来分析近年来的相关研究和成果。

2. KBQA 的方法

KBQA的关键问题是理解自然语言问题并将其转换为计算机可理解的形式语言。现有的KBQA问题的主要方法可分为两类。

语义解析。它是一种比语法分析更高层次的分析。其主要思想是将非结构化的自然语言问题转化为一系列逻辑形式。通过对逻辑形式的自底向上分析,通过查询知识库得到能够表达语义的逻辑形式,即无二义性的表达式。但这些方法都是基于符号逻辑的,符号的匹配会造成语义鸿沟的问题。

信息检索。其思想是从问题中提取信息,利用知识库获取候选答案,然后对候选答案进行排序,得到最终答案。与语义解析相比,它的性能不是很好,但相对简单,可以应用在很多领域。

2.1 语义解析

传统语义解析风格的KBQA方法主要依靠 人工构造规则 [5]、监督学习[6]、语法级别的:基于经典组合类别语法(CCG) [7-14]、词汇树伴随语法(LTAG)[15] 等方法,将自然语言问题转化为逻辑表达式 和 知识库查询语言。例如,逻辑语言lambda演算 将 “number of dramas starring Tom Cruise ” 转换为 c o u n t ( λ x . G e n r e ( x , D r a m a ) ∧ ∃ y . P e r f o r m a n c e ( x , y ) ∧ A c t o r ( y , T o m C r u i s e ) ) {\rm{count(}}\lambda x.Genre(x,Drama) \wedge \exists y.Performance(x,y) \wedge Actor(y,TomCruise)) count(λx.Genre(x,Drama)y.Performance(x,y)Actor(y,TomCruise)), Berant et al. [6] 使用 基于Lambda依赖的组合语义 λ − D C S \lambda -DCS λDCS。这些传统方法不可扩展,需要手工标注。

传统语义解析风格的方法大多与知识库分离,词汇映射也是基于统计方法。Yih et al. [17] 提出了一种新的 KBQA 语义解析框架。查询图被定义为可以直接映射到 lambda-calculus 逻辑形式的逻辑形式。通过语义解析简化了查询图的生成。利用卷积神经网络(CNN)改进自然语言到知识库关系的映射。这种方法在早期利用知识库来 修剪 搜索空间,从而简化语义匹配问题。在先进的实体链指系统和深度卷积神经网络的基础上,性能达到了 state-of-the-art 。

随着深度学习在许多领域的应用和发展,基于深度学习的情感分析[18]、机器翻译[19]、句法分析[20]、KBQA等已逐渐成为重要的研究课题之一。除了 Yih et al. [17] 使用CNN来推广传统的语义解析方法外,seq2seq 和 注意力机制也应用于KBQA问题。Dong et al. [21] 认为传统的方法依赖于高质量的字典、手工构建的模板和语言特性。提出了一种基于注意力增强的编解码器模型的方法,将语义分析问题转化为seq2seq问题。这个带注意力的编解码模型用于输入自然语言以获得逻辑形式。本文提出了模型的两种变体。第一种是序列到序列模型,它把语义分析看作是序列转换的任务。第二种是序列到树模型,它配备了一个分层次树解码器,可以清楚地捕捉要转换的逻辑形式的结构。本文的主要贡献是提出了一种数据重组方法,一种将先验知识注入模型的新框架,并从训练集获得了高精度的生成模型。Dong et al. [21] 方法主要是在解码器方面;Xu et al. [22] 认为 对于编码器来说,句法特征是非常重要的。Xu et al. [22] 利用一个句法图来表示词序、依赖关系和区域特征(constituency features),并利用graph2seq模型,首先利用图编码器对句法图进行编码,然后利用 RNN 和 Attention 对其进行解码,得到其逻辑形式。

上述方法都使用语义解析将自然语言问题转换为逻辑形式。此外,还有其他有效的方法。例如,Cui et al. [23] 使用模板来表示自然语言问题并解决BFQ( binary factoid questions )问题,它从QA语料库中学习自动学习模板,而不是手动对模板进行标注。基于这些模板,他们的QA系统KBQA 有效地支持 binary factoid questions 以及由一系列 binary factoid questions 组成的复杂问题。Cui et al. [23] 的系统架构主要分为两部分:离线过程和在线过程。离线过程的目标是学习从模板到属性的映射。在线过程用于解析、谓词推理和答案检索。从自然语言问题到生成答案的整个过程可以建模为一个概率图模型。Cui et al. [23] 的 QA系统与之前的系统有两个明显的区别:

  • 第一,它使用模板来理解问题
  • 其次,它从一个非常大的QA语料库中学习语义解析。

在这里插入图片描述
还有其他新颖有趣的基于语义解析的方法解决KBQA,如神经符号机器:在 freebase 上使用弱监督学习语义解析器,Liang et al. [24] 提出神经符号机器 [Neural Symbolic Machines] (见图2);

  • 首先,它包含一个神经程序设计,如一个端到端的模型来将语言映射到程序。
  • 其次,它包括一个符号计算器,如一个可以执行程序的 Lisp 解释器。实验表明NSM只需要QA对进行训练,不需要任何特性工程和领域知识就可以 在WebQuestionsSP 数据集上 超过 state-of-the-art 方法。

Talmor et al. [25] 提出了一种评估 基于语义解析的问答模型 的方法,即:将其与一个仅从网络片段中提取答案,而不访问目标知识库的问题回答基线进行比较。Andreas et al. [26] 动态复合神经网络模块适用于问答模型。首先定义不同的神经网络模型来解析语义,然后将这些模型组合在一起进行问题求解,并使用复合模型进行问题求解。

2.2 信息检索

在介绍了基于语义解析的方法之后,下一步是基于信息检索的KBQA方法的研究。

简单的信息提取
在结构化数据上的信息提取:问答与Freebase(Yao et al. [27]),是信息提取方法的一篇代表性论文,将知识库Freebase看作一组相互关联的主题,在问句中提取主题单词,查找以知识库中主题词的对应实体为中心的相邻跃点节点和边,并提取它们作为知识库的子图 (主题图)。
将图中的每个节点和边作为候选答案,根据人工规则或模板提取信息。得到了代表问题和候选答案特征的特征向量。建立分类器,输入特征向量对候选答案进行过滤,得到正确答案。

从自然语言问题中提取信息的过程就是从依赖树到问题的转换过程,执行了三个操作。
(1)添加问题词(qword),问题焦点(qfocus),问题动词(qverb)和问题主题(qtopic)作为对应的结点
(2)如果节点是命名实体,则将该节点更改为命名实体形式
(3)删除不重要的叶节点,如标点符号

从依赖树到问题的转换就是提取与答案相关的问题特征,删除不重要的信息。虽然本文的方法在Freebase等知识库中有很大的优势,但也存在不能处理复杂问题的缺点。随着词嵌入技术的飞速发展,对知识库问答(KBQA)的研究有了很大的提高。大多数研究者都对 词嵌入的引入进行了深入的研究[28-30],如 Bordes et al 使用子图嵌入(见图3)来解决KBQA问题。
在这里插入图片描述
以下是所有的方法,用不同方式融合词嵌入技术

Seq2Seq with CNN
Dong et al. [31] 提出了一种基于Freebase的自动问答模型,利用多列卷积神经网络(MCCNNs)在不使用任何人工特征和词汇的情况下进行特征提取和分类。该模型从不同方面考虑了问题与答案的匹配程度。

  • 一个是答案的类型
  • 另一个是答案的上下文
  • 另一个是答案与主体之间的路径。

在问题的表达中,分别使用三个卷积神经网络学习问题的语义表示。同时,将候选答案的答案类型、答案上下文和答案路径信息分别在知识库中呈现,并学习它们的分布式表示。计算了这三种CNN 与问题向量表示的相似性,并给出了得分。对模型进行了误差分析,误差主要由候选生成问题、时间感知问题和二义性问题引起。该模型充分考虑了候选答案的各种信息,并基于深度学习取得了良好的效果。在误差分析方面,可以为作者以后的工作带来一些突破。

Seq2Seq with Attention
注意力机制的使用已成为解决KBQA问题的有效方法。Golub et al. [32] 不仅引入了注意力机制,而且从字符级解决了KBQA问题。Golub et al. [32] 不同于以前的方法,它不再使用词级别的编码器和解码器,但从字符级开始,提出了一种字符级encoder-decoder 框架,并介绍了注意力机制来有效改善QA系统中的OOV (词汇表之外的)问题。整个框架(见图4)分为三个部分:问题编码器实体和谓词编码器KB查询解码器。信息检索风格方法的核心在于学习问题和候选答案的分布式表达。 Zhang et al. [33] 的idea:对于不同的答案,问题的焦点也不同。根据候选答案信息,将候选答案转化为分布式表达式,将自然语言问题转化为分布式表达式,并在打分函数中引入注意力。

在这里插入图片描述
Hao et al. [34] 认为之前的工作并没有强调问题的表达方式,无论问题的候选答案是什么,都会被转换成一个定长向量。这个简单的表达式难以表达问题的内在信息。因此,Hao et al. [34] 提出了一种端到端的神经网络模型,通过交叉注意力机制从问题候选答案层面 动态表达问题及其得分。在 WebQuestions 上的实验验证了该算法的有效性。

Information Retrieval with Memory
使用更复杂的记忆网络是解决基于深度学习的KBQA的一种很有前途的方法。记忆网络[35]具有很强的扩展性。记忆网络的每个模块都有很大的改进空间。这是一个非常适合KBQA深度学习的框架。Bordes et al. [36] 最初尝试将记忆网络应用于KBQA问题。简单问答是一个只依赖于一个知识三元组的问题。Bordes et al. [36]] 认为现有的KBQA方法在解决简单问答方面仍有困难。因此,构造了一个更大的简单问题数据集 SimpleQuestions,该数据集的每个问题都依赖于知识三元组。根据知识的三元组知识,人工构造问题。该方法首先将知识库中的知识存储到记忆网络中。其次,采用问答对对记忆网络进行训练。输入模块处理数据并将问题转换为分布式表达式。答案模块输出 对应目标的三元组作为最终答案。最后,泛化模块用来测试网络的泛化能力。

基于 Bordes et al. [36] 的工作,Jain [37] 设计了一种基于记忆网络的新框架。使用 QA 对作为端到端训练的训练,而不是以 ( 问题、KB中的相关事实)对 的形式进行强有力的监督。Jain [37] 的系统在同一个词向量空间中生成 问题和知识库的分布式表示,提取初始候选事实的子集,然后尝试通过多跳推理和细分来寻找回答实体的路径

基于向量建模方法,还有许多其他解决KBQA问题的想法。例如,Ture et al. [38] 将任务表示为两个机器学习问题:检测问题中的实体,并将问题分类为知识库中的一种关系类型,Ture et al. [38] 训练一个递归神经网络来解决每个问题。Qu et al. [39] 提出了an attentive recurrent neural network with similarity matrix based convolutional neural network (AR- SMCNN) 模型,利用递归神经网络和卷积神经网络的优点,能够捕获全面的层次信息。Yu et al. [40] 提出了一种基于不同粒度的文本匹配关系检测模型(HR-BiLSTM, Hierarchical Residual-BiLSTM),并应用于KBQA问题。Serban et al. [41] 采用GRU递归神经网络结合注意力机制自动生成问题等。

3. 讨论

通过以上工作的研究和讨论,我们可以发现KBQA仍然面临着许多困难和挑战。

Semantic Gap
要完成自然句子到知识库的映射,关键步骤是实体链接和关系提取。如果实体链接阶段质量不高,错误可能会传递到关系提取阶段,导致句子与知识库不匹配,对最终结果影响很大。例如,Yih et al. [17] 指出了实体链接和关系提取在误差分析中的重要性。虽然缓解语义鸿沟的方法很多,但对实体链接和关系提取的基本步骤的研究还不够深入。

Complex Problem:复杂问题通常包含两个或两个以上的关系或约束。“ From what country is the winner of the Australian Open women’s singles 2008? ” 现有的知识库问答系统是一个问题简单型。在回答方面已经取得了许多进展,但对复杂问题的研究仍然是一项挑战。Bao et al. [42] 发布了一个新的数据集 ComplexQuestions 来解决“多约束”问题。Abujabal et al. [43] 试图解决并行的复杂问题,但仍然不能回答大多数复杂问题。对于复杂问题的研究和处理,需要研究者和学者们不断深入。

Data Set
目前所使用的数据集都是简单的事实问题,如人工知识库Freebase或自动抽取的知识库,如 Chen et al. [44] 使用Wikipedia作为知识库进行KBQA,但这些知识库的语料不够丰富。如何获取或建立一个质量更高、更丰富的知识库是一个难题。

知识库中问答系统的构建是一个难题,涉及到自然语言处理中的各种技术,如关系提取、解析等。随着机器学习和深度学习的不断优化和深入,要构建一个成熟的问答系统,对自然语言问题给出高精度的答案,还有很长的路要走。向量化是解决自然语言处理问题的有效方法。通过对KBQA两种方法的研究和分析,可以发现通过引入 词嵌入向量化,知识库的问题回答得到了显著的提高。通过将自然语言转化为计算机可处理的向量,结合深度学习、网络等技术,知识库问题回答领域将会有更深远的发展。

4. 结论

本文综述了基于知识库的问题回答,介绍了语义解析和信息检索的先进方法,分析了这些方法的难点和不足,并指出了未来的发展方向。虽然现有的知识库回答问题在处理复杂问题方面还比较薄弱,并且存在句子与知识库内容不匹配等问题。随着科技的发展和科研人员的不懈研究,解决知识库问题的解答充满了希望。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值