复杂KBQA问答方法分类

复杂KBQA问答方法分类

复杂KBQA问答的主流方法有两类,基于语义解析(SP-based)和基于信息检索(IR-based)两类,顾名思义,基于语义解析的方法:将一个自然语句问题解析成某种逻辑形式(logic form,例如SQL、query graph等等),然后在KB上利用这个逻辑形式执行查询操作,来获取答案。基于信息检索的方法:通过在KB中检索自然语言问题特定的子图,对子图中的实体应用某种排序算法(比如把问题表示和候选实体表示做相似度)来选择排序最上面的实体作为答案。总的来说:

  • SP:解析-查询模式 parse-thenexecute paradigm
  • IR:检索-排序模式 retrieval-and-rank paradigm

在这里插入图片描述

基于语义解析的方法

这类方法的目标是把自然语言表达解析成某种逻辑形式,通过以下几个步骤来预测问题的答案:

  • 问题理解模块:

通过问题理解模块来完全理解一个问题,理解过程就是进行语义和句法分析,获取一个encoded question为后续的逻辑解析步骤所使用

  • 逻辑解析模块:

通过逻辑解析模块把encoedd question解析成未被实例化的逻辑形式。未被示例化是指问题的某种句法表示,其中的实体和关系还没被实例化

  • 实例化模块:

为了在知识库上执行查询,实例化模块会将未被实例化的逻辑形式填充实体和关系实例化,并且和结构化知识库中的实体关系做对齐。需要注意的是,在有的模型里面,逻辑解析模块和实例化模块可能是一起进行的,边解析边实例化。

  • 查询执行模块:

在KB上执行实例化的逻辑形式来生成答案


以上四个模块,question understanding, logical parsing, KB grounding , KB execution,在处理复杂KBQA时都会遇到不同的挑战:首先,当问题复杂,问题理解模块在语义和句法方面都是非常困难的;其次,逻辑解析必须复杂问题的不同类型,尤其是涉及多个关系和主语实体的复杂问题会显著增加解析时的搜索空间,使解析过程变得低效;最后,用于监督解析情况的逻辑形式标签,手工标注极其昂贵、需要大量投入,弱监督的情况(即问题只有答案实体作为监督信号)下是非常具有挑战性的任务。

目前解决这些挑战的工作:

理解复杂语义和句法

Understanding Complex Semantics and Syntax ,作为SP方法的第一步,问题理解模块把无结构文本转化为编码后的问题,比如结构化表示,用于下游的解析。和简单问题相比, 复杂问题有更多的查询类型和组成语义,提高了语言分析的难度。为了更好的理解复杂自然语言问题,很多现有的模型依赖于句法解析,如:dependency、Abstract Meaning Representation (AMR),来提供问题的组成部分和逻辑形式的组成元素之间更好的对齐方式。但是,语法解析的精度在复杂问句上并不让人满意,尤其是在存在长距离依赖的情况下。为了解决句法解析对下游模块的错误传播问题,有人利用skeleton-based parsing来获取复杂问题的主干(一个带有多个分支的简单问题),也有人使用逻辑形式的结构化属性(比如图结构或者树结构)来对候选解析排序,努力提升逻辑形式和问题之间的匹配度(通过结合结构特征的encoder、应用细粒度的插槽匹配、增加查询结构相关约束)来过滤出噪音查询

解析复杂查询

传统的语义解析方法(CCG等),并不考虑KB的schemas,可以解析简单问题。但是由于本体不匹配问题,对于复杂问题而言并不合适,所以需要利用KB的结构来做更精确的解析。为了满足复杂问题的组成性,研究者设计出多样化的富有表现力的逻辑形式作为解析目标。有人设计了三种查询模版作为解析目标,覆盖一跳、二跳和涉及关系和单个约束的查询。但这些模版方法覆盖的查询种类过于受限。Yih et al. [2015]在2015年提出了query graph作为解析目标。query graph是一种图结构的逻辑形式,能够比较贴近的匹配KB schemas,这样的查询图在复杂KBQA任务上表现出很强的表达能力。但是这样的查询图是使用预先定义好的手工规则生成的,不能应用于大规模数据集和长尾部分的复杂查询类型。后续跟进的工作都是在 improve the formulation of query graphs。To generalize to unseen and long-tail question types, Ding et al. [2019] proposed to leverage frequent query substructure for formal query generation. Abujabal et al. [2017] utilized syntactic annotation to enhance the structural complexity of the query graph. Hu et al. [2018b] applied more aggregation operators (e.g., “merging”) to fit complex questions, and conducted coreference resolution.

Grounding with Large Search Space

为了获得可执行的逻辑形式,KB实例化模块利用KB实例化可能的逻辑形式。由于一个实体在KB中可能会和成百上千个关系相连,把所有关系实体一一填充进去作为可能的逻辑形式的时空计算代价是不可接受的。近期,一些研究开始解决这个问题。Zheng et al. [2018b]提出把一个复杂问题分解成多个简单问题(解析成简单逻辑形式),接着,这些简单逻辑形式生成的中间答案和最终答案一起生成。这种分解-执行-合并(decompose-execute-join)的策略能够有效压缩搜索空间。另外一种策略是扩展-排序(expand-and-rank strategies),通过搜索束beam来缩减搜索空间。Chen et al. [2019] 首先采用逐跳的贪心搜索策略里拓展最可能的查询图,直到获得最佳的查询图;Lan et al. [2019c]提出一种迭代的匹配模块来解析问题,不用在每一步重新访问已生成的查询图。这样的序列拓展流程只能用于处理多跳问题,对带约束的问题无能为力。Lan and Jiang [2020]定义了更多的操作来支持三种典型的复杂查询,大大缩减了搜索空间,

Training under Weak Supervision Signals.

为了处理训练数据不足、无效的问题,强化学习被用来最大化期望奖励。这样的方式下,SP-based方法只能获得整个逻辑形式查询执行完之后的反馈,导致了严重的稀疏奖励的数据效用差问题。为了解决这个问题,一些研究采用reward shaping策略来进行解析评估。. Saha et al. [2019]通过额外奖励来对模型反馈reward(当预测答案和ground truth是相同事实时);最近,Qiu et al. [2020b]把query graph generation问题建模为层次化决策问题,提出了一个基于层次化强化学习的框架(可以提供中间的奖励),为了加速训练过程,Qiu et al. [ Qiu et al., 2020b ] 使用手写规则生成的高奖励逻辑形式来预训练模型(pretrained model with pseudo-gold programs (i.e., high-reward logic forms generated by hand-crafted rules)),由于 pseudo-gold programs也可以用模型生成,Liang et al. [2017]提出maintain pseudo-gold programs found by an iterative maximum-likelihood training process to bootstrap training.

基于信息检索的方法

这类方法通过考虑问题中的信息,直接从KB中检索和排序答案,通过以下几个步骤来预测问题的答案:

  • 子图检索

首先,根据topic实体(问题中的核心起始实体),检索KB,抽取出问题特定的子图(question-specific graph)。其中的边和节点分别是KB中和topic实体相关的关系和实体

  • 问题表示

接着,通过问题表示模块(作用是分析问题语义),把输入问题编码成向量,作为后续推理的指导信息。

  • 子图推理

基于图的推理模块,通过基于向量的计算,在question-specific graph图内,沿着边传播和聚合邻居实体的信息,以达到后续对问题和答案进行语义匹配的目的。不同的模型里面,推理方法有不同的设计,非常的多样化,得到最终的推理状态也不一样。

  • 答案排序

答案排序模块,根据推理后的推理状态(问题和实体的最终向量表示),来排序所有候选实体选择得分最好的最为答案输出

优点&缺点

总体而言,基于 SP 的方法可以通过生成富有表现力的逻辑形式来产生更具可解释性的推理过程。然而,它们严重依赖于逻辑形式和解析算法的设计,这成为性能提升的瓶颈。作为比较,基于 IR 的方法对图结构进行复杂推理并执行语义匹配。这种范式自然适合流行的端到端培训,并使基于 IR 的方法更易于培训。然而,推理模型的黑盒风格使得中间推理的可解释性较差。

参考文献:

强烈建议看原文,更全面:

《A Survey on Complex Knowledge Base Question Answering: Methods, Challenges and Solutions》

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值