Hierarchical Graph Network for Multi-hop Question Answering

Hierarchical Graph Network for Multi-hop Question Answering (2020) 阅读笔记

动机:

现有的工作首先检索出可能包含正确答案的段落,再利用机器阅读理解模型根据所选的段落预测正确的答案。然而,如何利用不同粒度的数据资源去同时预测support evidence 和 answer 是一个难以解决的问题。

为了解决这个问题,最近的研究构建实体图,再在图上执行多跳推理。这些工作以下问题:

  1. 仅从实体图中的实体中预测答案,这与现实情况不符合。因为答案不仅仅是实体。
  2. 即使可以从文本中预测答案,但是所构建的实体图只能被用来预测答案,并不能预测support evidence.
贡献:

作者将解决多跳QA任务,分解为三个子任务:1. 从给定的段落中识别出相关段落;2. 找出这些段落中能回答问题的支撑证据;3.基于找到的支撑证据预测最终的答案。

作者提出了一个Hierarchical Graph Network (HGN)用于多跳机器问答。该模型可以通过一个分层架构的多水平细粒度图来共同预测答案和支撑证据。具体地,作者为每一个问题构建包含四种节点的图:问题,段落,句子和实体。首先利用预训练的bert模型为每种类型的节点得到一个上下文表示。然后,初始的上下文表示在图中实现信息的传递,最后将更新后的节点运用于不同的子任务中(段落选择,支撑证据预测和答案预测)。

模型:

HGN主要由四个部分组成:1 图构造模块; 2 上下文编码模块; 3 图推理模块; 4 多任务预测模块

1. Graph Construction

该部分分为两步:1. 识别与问题相关的多跳段落 和 2. 对于所选的段落, 增加可以表示句子/实体间联系的边

  • 段落选择

预训练一个语言模型RoBERTa再接一个二分类的神经网络层,来训练一个paragraph ranker,其输出表示,当前的输入句子包括support sentence的概率。

首先选择标题跟问题中的短语可以匹配的段落(称为title match)。如果有多个段落被选中,则利用ranker 选择得分最高的两个段落;

如果通过title match匹配不到任何段落,则寻找包含出现在问题中的实体的段落。如果这步操作也失败,则利用ranker选取得分最高的两个段落;

利用上述操作可以构建first-hop 的段落候选集。下一步需要操作的是,发现support facts 和 entity 从而找到 second-hop 的段落。

作者利用first-hop 段落中的超链接来构建second-hop 段落。并在first-hop 段落中的所有句子和 second-hop 段落中的所有句子间构建边,并使这些边为双向的。

为了确保不受噪音的干扰,在每跳中,再次使用ranker选取前k个段落。

 

  • 分层图构建

构建四种节点:问题,段落,句子,和实体

连接七种边:1 问题节点和段落节点(first-hop paragraph); 2 问题节点和问题中所包含的实体的节点; 3 段落节点和该段落所包含的所有句子的节点; 4 句子节点 和 句子中所包含的超链接所指向的段落的节点; 5句子节点和该句子所包含的所有实体的节点;6 段落与段落的节点; 7 相同段落中的句子间。

 

2. Context Encoding

将所选的段落和问题进行拼接,再输入到RoBERTa+ bi-attention 模块种,得到编码的问题表示Q=\{q_0,q_1,\cdots,q_{m-1}\}\in \mathbb{R}^{m\times d}和编码后的上下文表示C=\{c_0,c_1,\cdots,c_{n-1}\}\in\mathbb{R}^{n\times d}.

再将上下文表示C输入到一个Bi-LSTM中,目的是从Bi-LSTM 的输出M\in \mathbb{R}^{n\times 2d}中抽取不同类型的节点表示:

 

并利用max pooling 层得到问题的表示

3.Graph Reasoning

所有图节点的上下文信息被传递到更高一层的特征。

H=\{q,P,S,E\}\in\mathbb{R}^{g\times d},其中P,S,E分别表示段落节点,句子节点,实体节点的向量表示、

利用图注意力网络执行分层图中节点信息的传播:

H'为更新后的节点信息H'=\{h'_0,h'_1,\cdots,h'_g\}=\{q',P',S',E'\}

Gated Attention
将上下文表示M和更新后的图节点表示H'进行融合(基于gated attention 机制),以实现答案的预测:

其中,G\in\mathbb{R}^{n\times 4d}为融合后的表示,随后被用于答案预测。

4.Multi-task Prediction

三个子任务:段落选择,支撑证据预测和答案预测 通过多任务学习执行,最终的目标函数为:

  • 段落选择和支撑证据预测:利用双层的MLP,执行多分类

其中O_{sent}\in\mathbb{R}^{n_s},O_{para}\in\mathbb{R}^{n_p}

  • 实体预测:将实体预测看作一个多分类问题,如果最终的答案不存在于任何实体中,则实体损失为0.

实体损失起到的是正则化的作用,最终的答案预测从是文本中提取的。

  • 答案预测:

  • 答案类型预测:

其中G[0]为G的第一个隐藏层表示

 

实验:

模型容易出现的错误:

  1. 离散推理无法完成【设计离散推理的模块】
  2. 需要借助常识或者外部知识来回答
  3. 发现正确的support facts,但是预测出了错误的答案
  4. 多种可替换的答案
IDEA

优点:在图中构建不同等级的节点。

缺点:图边节点的构建太琐碎了,可能会引入噪音;

本文更倾向于动态图的构建。

 


 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
HIVT(Hierarchical Vector Transformer for Multi-Agent Motion Prediction)是一种用于多智能体运动预测的分层向量变换器。该模型使用了向量变换器(Vector Transformer)的层级架构,用于对多智能体的运动轨迹进行预测。 HIVT模型旨在解决多智能体之间相互影响和合作的问题。在多智能体系统中,智能体之间的运动和行为往往会相互影响,因此准确预测智能体的运动轨迹变得非常重要。传统的方法往往难以捕捉到智能体之间的复杂相互作用和外部环境的影响,而HIVT模型通过分层向量变换器的架构,可以更好地捕捉到多智能体系统中的相互作用。 HIVT模型首先使用一个全局的向量变换器来处理整个多智能体系统的运动轨迹,以捕捉全局的趋势和相互作用。然后,对于每个智能体,模型使用一个局部的向量变换器来预测其个体的运动轨迹,以考虑个体特定的动态特征和周围智能体的影响。 通过分层向量变换器的架构,HIVT模型能够更好地处理多智能体系统中的动态变化和相互作用,提高了运动轨迹预测的准确性。同时,该模型还可以应用于多个领域,如智能交通、无人机团队协作等。 总而言之,HIVT模型是一种基于分层向量变换器的多智能体运动预测方法,通过捕捉多智能体系统中的相互作用和全局趋势,提高了运动轨迹预测的准确性和适用性。该模型在多个领域具有广泛的应用前景。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值