Query Graph Generation for Answering Multi-hop Complex Questions from Knowledge Bases阅读笔记

论文题目:Query Graph Generation for Answering Multi-hop Complex Questions from Knowledge Base

查询图中的节点分为四种

节点名称含义表示方法
grounded entity知识库中存在的实体阴影矩形
existential variableungrounded 实体(知识库中不存在的矩形?)无阴影矩形
lambda variable代表答案的ungrounded实体
aggregation function在实体集合上执行操作的function菱形

生成查询图的步骤

  1. 从问题中的一个grounded实体(将其作为主题实体)开始,定义一条核心关系路径,核心关系路径连接主题实体和lambda变量;
  2. 向1中定义的核心关系路径中添加一或多个从问题中发现的约束条件,约束条件由一个grounded实体或是一个aggregation方法和一个关系构成;
  3. 衡量由第1、2步生成的 所有的查询图和问题本身的相似度,相似度计算通常使用神经网络(如CNN)实现;
  4. 使用相似度最高的查询图在知识库中查询答案实体。

原文如下:

We summarize the staged query graph genera-
tion method as follows. More details can be found
in (Yih et al., 2015; Bao et al., 2016).

  1. Starting from a grounded entity found in the
    question (referred to as a topic entity), identify
    a core relation path2 linking the topic entity to a
    lambda variable. Existing work considers core re-
    lation paths containing a single relation (Yih et al.,
    2015; Bao et al., 2016; Luo et al., 2018).3
  2. From a core relation path identified in Step 1,
    attach one or more constraints found in the question.
    A constraint consists of either a grounded entity or
    an aggregation function together with a relation.
    See examples in Figure 1.
  3. With all the candidate query graphs generated
    from Step 1 and Step 24, rank them by measuring
    their similarities with the question. This is typically
    done through a neural network model such as a
    CNN (Yih et al., 2015; Bao et al., 2016).
  4. Execute the top-ranked query graph against
    the KB to obtain the answer entities.

上述生成查询图的方法在路径延长时会生成大量路径计,这些路径都需要计算相似度,所以造成严重的计算负担。

本文提出了一种改进的方法解决这个问题,总体上是使用beam search的方法迭代地生成查询图。

改进的方法

假设第t次迭代生成了一含有K个查询图的集合Gt,在下一次迭代中,对于Gt中的每个图g,使用{extend,connect,aggregate}三种操作扩展g,增加一条边和一个节点。对每个图g使用这三种操作生成三个图。t+1次迭代生成的图的集合为Gt+1,使用评分算法对Gt+1种的图进行评分,得分最高的K个图放入Gt+1中,直到Gt+1中没有得分比Gt中的每一个图都高的时候为止。

{extend,connect,aggregate}三种操作具体为:

  1. extend操作扩展查询图的核心关系路径,为其增加R中的一个关系,其中R为知识库中关系的集合。如果当前查询图只有一个主题实体e,则对应的extend操作是在知识库KB中寻找一个连接到e的关系并使用这个关系扩展路径。这一操作也会使得路径的另一端成为lambda变量x。如果当前查询图包括一个lambda变量x,则extend操作将x改为一个existential变量y,在KB中寻找所有与y相连的实体,并找除一个连接到其中一个实体的关系r,并将r附加到y上,关系r的另一端成为新的lambda变量x。
  2. 包括主题实体在内,经常能在问题中找多其他的grounded实体,connect操作是将一个这样的grounded实体e连接到lambda变量x或者与x相连的existential变量(即CVT节点)。为决定使用哪个关系连接e和x,我们可以通过执行当前的查询图,找出所有和x绑定的实体(也就是可能成为当前查询图的答案的实体),然后找出在这些实体和e之间的一个关系。
  3. 根据Luo et al. (2018),我们可以使用预定义的关键词集合从问题中探测到一个aggregation方法。aggregate操作将探测到的aggregation方法作为一个节点添加到lambda变量x或者一个连接到x的existential变量(CVT节点)上。

上述方法的优点是,能够在connect和aggregate操作之后进行extend操作,之前的方法不允许这么做。

查询图的评价方法

使用一个7维的向量评价每个查询图,然后通过一个使用softmax的全连接层得出查询图的分数p

每个维度含义说明如下:

  1. 第一维的数值来自一个基于BERT的语义匹配模型,按照图g的生成顺序将g转换成tokens的序列,并且将每一步中设计道德文本描述和关系按照顺序添加到序列中,忽略existential变量和lambda变量。将由此生成的sequence和问题的sequence合并成一个sequence输入到bert模型中,得出相似度
  2. 查询图g中所有grounded实体的实体链接得分的累加值(这个实体链接得分不知道是啥意思
  3. 查询图g中出现的grounded实体的数量
  4. 查询图g中出现的实体类型的数量
  5. 查询图g中出现的时间表达式的数量
  6. 查询图g中出现的最高级的数量
  7. 查询图g对应的答案实体的数量
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值