Dynamically Fused Graph Network for Multi-hop Reasoning

Dynamically Fused Graph Network for Multi-hop Reasoning (ACL 2019)阅读笔记

动机:

single-hop QA 任务无法测试潜在模型的深度推理能力。

1.现有的工作从输入段中构建实体图,并利用GNN对该实体图执行信息融合;现有的所有工作是在静态图上执行GNN,这是一种隐式推理。

2.之前的工作将文本信息汇集成实体图,选择实体图中的某一个实体作为答案,然而在现实中,答案并不总是为所提取得实体图中的一个实体。这样的方法很难直接运用到open-domain 的QA 任务中

贡献:

1.本文基于query和document中的entity mention构建动态实体图。

2.本文提出一个信息融合的过程。该过程不仅可以将信息从document 传递到图的实体中,还可以将信息从实体图中反向传播回到document 中。

模型:

作者提出了一个dynamically fused graph network (DFGN)。该模型分为五个部分:段落选择子网络, 实体图构建模块, 编码层, 多跳推理融合块 和答案预测层。

1. 段落选择子网络

该子网络由一个预训练好的BERT模型,上层再接一个分类层。该子网络的输入为问题和某一段落,输出一个评分。该评分表示该段落含有至少一个support sentence的概率。在这篇论文中,主要计算出的评分大于0.1,就认为该段落为问题相关段落。最终问题Q,和筛选后的段落C.

2. 构建实体图

  • 利用现成的命名实体工具去提取实体,作为图的节点。抽取出的实体数为N。节点间边的构成按照以下的规则:
  1. 对于同一个句子中同时出现的实体间建立边的连接。
  2. 如果同一实体在Context中出现多次,则他们直接有边的连接。eg. 如“美利坚合众国”这个实体可能在文章中被多次提及,每次出现则图中会新建一个节点,这些节点直接都是互相连接的。
  3. 文章标题中出现的实体与其对应正文中的所有实体都有连接。

3. 对query 和 contex 进行编码

  • 首先将Q 和C 拼接在一起,共同输入到预训练好的BERT模型,分别得到问题中每个token的表示Q=[q_1,\cdots,q_L]\in \mathbb{R}^{L\times d_1}和context中每个token 表示C=[c_1,\cdots,c_M]\in \mathbb{R}^{M\times d_1}.
  • 再将Q 和 C共同输入到一个Bi-attention中(这里指的是C2Q,和Q2C),这样做可以实现query和context 间信息的交互, 最终得到query 的向量表示Q_0\in\mathbb{R}^{L\times d_2}和context 的向量表示C_0\in \mathbb{R}^{M\times d_2}。此时d_2 < d_1. 新的维度d_2小于BERT的输出维度d_1

4.用融合块推理.

该部分的输入为C_0Q_0 和所构建的实体图G

该模块主要执行以下流程:通过计算document tokens 中的实体向量实现信息从tokens 向图中的实体结点传递; 在实体图间执行信息传播; 从实体图向文本tokens 传播信息;

(1) Document to Graph Flow. 目的是将实体中的多个token 向量压缩成一个向量.

作者的做法是:利用max-pooling 和mean-pooling 将多个token向量压缩成一个,并将这两个压缩后的向量拼接起来,构成维度为2d_2的xiang

对于第t层的fusion block, 记输入的context为C_{t-1 }, 得到的实体表示为E_{t-1}=\{e_{t-1,1},\cdots,e_{t-1,N}\}\in\mathbb{R}^{2d_2\times N},N为一个样本允许的最大实体数。(超过的被都截断)

(2) Dynamic Graph Attention.

  • 计算query 和实体图中每个实体的重要性(注意力)(the more relevant to the query, the neighbor nodes receive more information from nearby, 与query相关性越大的节点,得到的信息越多

m^{(t)}代表每个实体与query 的相关性

  • 标准的图注意力机制算法

  • 根据实体i的邻居更新实体i的节点表示

其中B_i为实体i的邻居集合

利用上述步骤实现信息在实体图之间传播,得到更新后的实体表示E^{(t)}=\{e^{(t)}_1},\cdots, e^{(t)}_N}\}.

(3) Updating Query.

在每一层Fusion Block结束后,还会使用新的实体表示通过Bi-Attention来更新Query的表示。

(4) Graph to Document Flow.

将该层输入的Context的表示 C_{t-1} 中的每个token与其对应的实体的表示拼接然后送入LSTM

(5)Prediction:

使用一个级联结构依次预测1.support evidence 2. start positioin 3 end positing 4 answer type.

其中,F_0,F_1,F_2,F_3为四个层层堆叠的同构LSTM 

最终的目标函数为四个交叉熵损失函数:

 

IDEA

1. 仅使用识别出的命名实体作为entity 存在局限性,因为在现实场景,回答问题并不总是以命名实体为驱动的。总的来说,使用实体作为图的节点是不完备的。

2. 在答案预测部分,四个级联的结构存在不合理性。比如,先预测答案类型再预测start 和end更为合理点。

 

部分内容参照这位大佬,感谢!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值