Query Graph Generation for Answering Multi-hop Complex Questions from Knowledge Bases

在这里插入图片描述
Code
Paper

摘要

  • Simple QA:姚明出生在哪里?姚明_出生于_? --> 三元组知识库匹配。
  • Complex QA:
    1)带约束的问题
    谁是第一届温网男单冠军?。该问题中的 “第一届” 表示一种对答案实体的约束。
    2)多跳问题
    成龙主演电影的导演是哪些人?<成龙,主演,新警察故事>, <新警察故事,导演,陈木胜>。使用多个三元组所形成的多跳推理路径才能够回答。

本文同时解决约束和多跳问题。观察到先前将约束合并到查询图中可以有效地修剪搜索空间,作者提出了一种改进的分阶段查询图生成方法,该方法具有更灵活的生成查询图的方法。

1 介绍

我们通过允许更长的关系路径来修改分段查询图生成方法。然而,我们建议合并约束并同时扩展关系路径,而不是仅在构建了关系路径之后才添加约束。这使我们能够更有效地减少搜索空间。

2 方法

2.1 准备工作

KBQA任务:知识库可以表述为三元组h_r_t,给出问题Question找出实体answer。我们的方法在很大程度上受到了现有分阶段查询图生成方法的启发。查询图有四种类型的节点:
1)grounded entity(带阴影的矩形)是KB中的现有实体。
2)existential variable(无阴影矩形)是一个不确定的实体。
3)lambda变量(圆)也是一个不确定的实体,但它代表了答案。
4)聚合函数(菱形)是一个在一组实体上运行的函数,如argmin和count。
在这里插入图片描述
查询图的边是来自R的关系。查询图应该只有一个lambda变量来表示答案,至少有一个基础实体,以及零个或多个存在变量和聚合函数。查询图总结如下:
1)从grounded entity成为主题实体开始,将主题实体链接到lambda变量的核心关系路径,这个路径代表relation
2)在步骤1中标识的核心关系路径上,加上问题中找到的一个或多个约束。一个约束由一个带关系的固定实体或者聚合函数组成。
3)使用步骤1和步骤2生成所有候选图,通过测量它们与问题的相似性来对它们进行排序
4)在知识库上执行排名最高的查询图以获取答案实体。

2.2 动机

当直接应用上述现有方法来约束多跳KBQA时,我们面临的主要挑战是,无法处理包含多跳关系的问题(如图1中的示例),因为现有工作只考虑具有单跳具有CVT节点的两跳的核心关系路径(e1_r1_CVT_r1_? )。如果我们通过允许核心关系路径更长,会令搜索空间变大。如果我们允许最多3跳的核心关系路径,那么平均每个问题将有大约10000个核心关系路径——这在计算上非常昂贵。

如图1所示,对于路径(The Jeff Probst Show, nominated for, y1, nominee, y2),如果想扩展y2–? 的话,那么需要考虑所有被提名者y2和知识库中所有相关的relation,但加上y2的约束TV productor后就减小了范围。

因此,我们提出了一种改进的分阶段查询图生成方法,该方法不会等待每个核心关系路径完全生成后再为其附加约束。

2.3 查询图生成

假设通过t次迭代共产生了K张查询图g∈Gt,在第t+1次迭代时进行{extend, connect, aggregate}三步操作以生成多一个节点和边。对每个查询图进行此操作得到新查询图G’t+1。然后重排得到Gt+1。

  • extend:
    这一步操作是通过增加一个relation来对query graph进行扩展,要分为两种情况,
    1)如果当前的query graph只有一个grounded entity结点e,那么就在KB中找到连接e的relation r,把r添加到query graph中,并且记r的另一端为lambda variable x。
    2)如果当前的query graph有lambda variable x,那么我们把x替换成existential variable y(e_r1_x–>e_r1_y),然后在KB中直接执行这张query graph找到y实体,然后同样的把r加入query graph(e_r1_y_r2_x),r的另一端记为lambda variable x。
  • connect:
    ground entity不仅仅只有一个,我们需要将ground entity与x、y连接,连接通过执行查询图找出x、y实体进而得到和x,y绑定的关系r,再通过r找到ground entity e。
  • aggregate:
    从question中检测出aggregate function作为节点和x、y相连作为约束。
    在这里插入图片描述

2.4 查询图排序

构建好query graph以后,下一步就是相似度匹配然后排序。作者对每张query graph构建了一个7维的特征Vg。输入进全连接,然后softmax。
一维:将查询图转成序列token列表,输入进BERT得到查询图编码( Existential variables and lambda variables不参与进来)。考虑到query graph中的词和原问题中的词可能会有较大差距,作者把query graph的text description与原问题文本进行了拼接。如图a得到(The, Jeff, Probst, Show, nominated, for, nominee)另外作者还将查询图序列和原问题的序列拼接。
在这里插入图片描述

二维:the accumulated entity linking scores of all grounded entities in the query graph
三维:grounded entities个数
四维:graph 出现entity type的数量
五维:temporal expressions
六维: superlatives
七维 :答案实体的数量

3 实验

3.1 实施细节

我们的方法要求模型从问题中识别出实体,并链接到知识库中。

  • 对于实体链接,在三个数据集上使用已有的链接工具。
  • 对于实体种类链接,我们利用训练问题及其答案来学习链接模型。
  • 对于时态表达与最高级连接,我们只使用正则表达式和最高级单词表。最高级单词被手动映射到两个聚合函数:argmax和argmin

3.2 数据集

ComplexWebQuestons (CWQ)、WebQuestionsSP (WQSP)、 ComplexQuestions (CQ)

3.3 对比

1)与现有分阶段查询图生成方法(Yih et al.,2015;鲍等,2016;罗等,2018):解决单跳,不能处理多跳问题。
2)与 (Lan et al., 2019a):处理约束并考虑多跳关系路径,但既不使用beam search也不使用约束来减少搜索空间
3)与(Chen et al.,2019):使用大小为1的beam size的beam search来处理多跳问题,但不受约束。
4)与 (Bhutani et al., 2019) and (Ansari et al., 2019):Bhutani等人(2019)将复杂问题分解为简单问题,并在以下方面实现了SOTA。Ansari等人(2019)从问题生成查询程序,并在WQSP上实现了SOTA

3.4 主要结果

如图(b)所示,在CWQ上达到了最好的 Prec@1 and F1 。这验证了我们的假设,即我们的方法对具有约束和多跳关系的复杂问题特别有效。对于其他两个数据集,WQSP和CQ,我们的方法也实现了SOTA,优于以前的方法,证明了我们方法的稳健性。
在这里插入图片描述

3.5 消融

我们还进行了消融研究,以更好地支持我们的模型。为了验证我们的方法的有效性主要不是由于使用了BERT,我们用LSTM代替了BERT。我们可以在表1c中看到,我们方法的基于LSTM的版本仍然可以优于以前的技术状态。这表明我们模型的有效性不仅仅是因为使用了BERT。我们还测试了我们方法的{extend,connect, aggregate},每个版本都删除了一个操作,以了解这三个操作是否都是必要的。结果也显示在表1c中。我们可以看到,聚合作用是最不重要的作用,而扩展作用是最重要的作用。然而,我们需要将这三个行动结合在一起,以实现最佳性能。

3.6 错误分析

我们随机抽取了100个错误案例进行人工检查。我们将错误归纳为以下几类。排名错误:65%的错误来自对查询图的错误预测。我们仔细观察这些错误案例。我们发现,即使有人类的判断,也很难发现一些关联。例如,我们的模型错误地将“谁是尼克松的副总统?”问题中的关系预测为“职业”,而正确的关系是“副总统”。要理解“VP”是“副总裁”的缩写,需要外部知识,如果在训练数据中没有观察到这种映射。主题链接错误:我们观察到,有27%的错误是由于实体或表达式链接错误造成的。例如,“Corey Taylor弹什么吉他?”的约束类型为“gui tar”,但在链接过程中未检测到。生成限制:查询图生成策略的限制导致6%的错误。对于“约翰·亚当斯在担任总统之前做过什么工作”这个问题,我们不太可能找到与我们的策略相匹配的查询图。

总结

本文提出了一种改进的分阶段查询图生成方法来处理同时具有多跳关系和约束的复杂问题。通过尽早将约束合并到查询图中,再加上波束搜索的帮助,我们能够限制搜索空间。实验表明,我们的方法在ComplexWebQues数据集上大大优于现有方法,在另外两个KBQA数据集上也优于先前的技术水平。

参考

【1】https://blog.csdn.net/qq_42791848/article/details/122688199

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值