《Dynamically Fused Graph Network for Multi-hop Reasoning》 论文笔记

这篇论文提出了DynamicallyFusedGraphNetwork(DFGN),针对HotpotQA等多跳推理任务,DFGN通过构建动态局部实体图进行信息筛选和推理。模型包括ParagraphSelector、EntityGraphConstructor、ContextandQueryEncoder、FusionBlock和PredictionBlock五个模块。FusionBlock中的DynamicGraphAttention利用GAT模型和软mask聚焦相关实体,GraphtoDocumentFlow则将信息反馈到文档中。实验结果显示DFGN在HotpotQA上表现优秀,且能通过级联LSTM进行预测。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Dynamically Fused Graph Network for Multi-hop Reasoning 论文笔记

2019ACL,SJTU & ByteDance,这是一篇融合了图表示学习来做多跳推理的文章。

Overview

本文作者提出的模型叫做DFGN,作者首先谈到HotpotQA这种类型的数据集带给人们两大挑战:

  1. 数据集中给出的paragraph并不都是与问题相关的,模型需要过滤掉噪声。针对这一问题,之前的工作提出构建基于paragraph的entity graph,然后通过图神经网络对entity graph进行建模。但是作者认为之前的工作有一个缺点:对于每一个QA pair,之前的工作都是在一个静态的、全局的entity graph上进行推理。相反,作者在本文提出在动态的、局部的entity graph上建模效果更好。
  2. 之前的工作通常是将document的信息聚合到entity graph中,然后直接在entity graph上推理答案。但是作者认为很多时候答案可能根本不在entity graph当中。因此本文设计出了一个dynamic fusion layer,这个模块不仅包含document到entity的信息传递,还包含经过embedding后的entity到document的信息回传,最终再根据更新后的document得到答案。

总结一下DFGN模型,模型从问题中的实体出发,根据paragraph构建起一张与问题实体相关的动态的entity graph,然后fusion模块会对entity graph进行建模并完成实体与文本之间的信息传递,document的向量表示也随之更新。上述的过程不断的迭代,模型就得到了一条reasoning chain,最终得到答案。

DFGN

在这里插入图片描述

上图就是DFGN模型的整体架构,可以看出模型主要分为五大模块:

  • Paragraph Selector
  • Entity Graph Constructor
  • Context and Query Encoder
  • Fusion Block
  • Prediction Block

Paragraph Selector

这个模块主要是用于过滤噪声段落,本文之前采用了先前的工作。用BERT来对所有的句子进行编码,做一个句子分类任务。作者把所有包含至少一条supporting fact的段落视为正例。在inference阶段,所有预测得分高于0.1的段落被选取出来,拼接到一起得到 C C C

Entity Graph Constructor

对于实体图,本文采取的方法是先对 C C C进行NER,提取出所有的候选实体,然后开始连边。边有三种类型:

  1. 出现在同一个句子中的两个实体(sentence-level link)
  2. 具有相同mention text的两个实体(context-level link)
  3. 中心实体与其他出现在同一paragraph中的实体(paragraph-level link)

Context and Query Encoder

对于问题和段落的编码,本文直接采用BERT,然后再经过一层bi-attention,得到 Q 0 ∈ R L × 2 d 2 Q_{0}\in{R^{L\times 2d_{2}}} Q0RL×2d2 C 0 ∈ R M × 2 d 2 C_{0}\in{R{^{M\times 2d_{2}}}} C0RM×2d2

Fusion Block

fusion模块是本文的核心,主要包含三个子模块:

  1. Document to Graph Flow:根据document的向量表示得到Entity Graph中实体的向量表示
  2. Dynamic Graph Attention:通过GAT模型对Entity Graph进行建模
  3. Graph to Document Flow:将更新后的实体信息传递回document,并更新段落信息
    在这里插入图片描述
Document to Graph Flow

这一模块作者也称作是Tok2Ent,实现方法是用一个binary mask M M M M i j = 1 M_{ij}=1 Mij=1表示文本中的第 i i i个token出现在第 j j j个实体的span里。然后用一个mean-max pooling得到实体的embedding E t − 1 ∈ R 2 d 2 × N E_{t-1}\in{R^{2d_{2}\times N}} Et1R2d2×N

Dynamic Graph Attention

对于图结构的建模本文采用的是GAT模型。但在这之前,作者先设计了一个soft mask,来得到Entity Graph中所有与query相关的实体,我觉得这个mask也是实现本文Introduction部分提到的dynamic local entity graph的关键。
q ~ ( t − 1 )   =   M e a n P o o l i n g ( Q ( t − 1 ) ) γ i ( t )   =   q ~ ( t − 1 ) V t e i ( t − 1 ) / d 2 m ( t )   =   σ [ γ 1 ( t ) ,   γ 2 ( t ) , … ,   γ 1 ( t ) ] E ~ ( t − 1 ) = m ( t ) ⋅ E ( t − 1 ) \widetilde{q}^{(t-1)}\ =\ MeanPooling(Q^{(t-1)})\\ \gamma^{(t)}_{i}\ =\ \widetilde{q}^{(t-1)}V_{t}e^{(t-1)}_{i}/\sqrt{d_{2}}\\ m^{(t)}\ =\ \sigma[\gamma_{1}^{(t)},\ \gamma_{2}^{(t)}, \dots,\ \gamma_{1}^{(t)}] \\ \widetilde{E}^{(t-1)}=m^{(t)} \cdot E^{(t-1)}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值