Hierarchical Graph Network for Multi-hop Question Answering

EMNLP2020的一篇论文,涉及Multi-hop QA和Hotpot Dataset,有完整代码

  • 作者:Yuwei Fang, Siqi Sun, Zhe Gan, Rohit Pillai, Shuohang Wang, Jingjing Liu
  • pdf:https://arxiv.org/abs/1911.03631
  • github:https://github.com/yuwfan/HGN

0. Abstract

本文提出了一种用于多跳问答的层次图网络HGN

为了聚合多个段落中分散文本的线索,通过构建不同粒度级别的节点,创建层次图

  • 节点包括:查询、段落、句子、实体

HGN表示部分,采用预训练的上下文编码器进行初始化,通过图迭代进行更新

HGN多跳推理部分,通过遍历序列子任务图实现不同子任务

  • 子任务包括:段落选择、支撑事实抽取、答案预测

通过将不同粒度的节点构建成一个图,使HGN能同时支持不同问答任务

模型在HotpotQA数据集上取得了SOTA

1. Introduction

为解决多跳推理查询,模型需要实现:

  • 确定与查询相关的段落
  • 找到支撑证据
  • 确定正确答案

本文提出了HGN模型,涉及4种图节点,查询段落句子实体。首先用预训练上下文编码器BERTRoBERTa进行初始胡,随后通过图神经网络进行图传播,迭代更新。更新后的节点用于不同子任务,段落选择支撑事实预测答案预测。模型采用跨度预测模块实现最终答案预测。

本文主要贡献包括:

  • 提出了用于多跳查询回答的HGN模型,异构节点共同构建一个图
  • 对于不同子任务,不同粒度节点相互则国强,为支撑事实提取和答案预测提供有效监督信号
  • HotpotQA数据集中,DistractorFullwiki均取得了最好成绩
image-20201112213941583

2. Related Work

多跳问答

  • WikiHop(新数据集get)和HotpotQA是新型多跳问答数据集
  • 本文的相关工作是将多跳推理转化为逐步单跳推理,属于扩展子图类型,和嵌入类型是不同方向
  • 相关方法:QFEDecompRC(采用MRC模型)、神经模态网络方法

图神经网络

  • 图神经网络被广泛应用于多跳推理
  • 相关方法:MHQA-GRN(采用联合解码)、Coref-GRN(采用滑动窗口)、Entity-GCNHDE-Graph(添加文档节点)、Cognitive Graph QA(采用MRC模型)、DFGN(采用动态实体图)、SAEC2F Reader(采用注意力机制)

分层由粗到细粒度建模

  • 此前方法主要基于粗细框架 coarse-to-fine framework
  • 本文提出的模型,以分层的方式组织不同粒度,并采用图神经网络,获得不同下游任务的表示

3. Hierarchical Graph Network

本文提出的HGN模型,包括四部分:

  • 图结构模块:构建包含不同粒度的节点的分层图
  • 上下文嵌入模块:通过RoBERTa编码器生成图节点表示
  • 图推理模块:采用基于图注意力机制 graph-attention-based的信息传播算法,联合更新节点表示
  • 多任务预测模块:同时完成段落选择支撑事实预测实体预测答案跨度抽取四个子任务

3.1 图结构

分层图构建包括两步:

  • 选择相关段落
  • 构建节点和边

段落选择

第一个跃点段落选择:

  • 标题匹配:首先,选择标题与查询中任何短语相匹配的段落。另外,还基于预训练模型RoBERTa训练了一个匹配排名模型,有多个匹配段落,则选择排名最靠前的两个段落
  • 段落实体匹配:如果标题匹配没有结果,则进一步搜素段落内是否包含问题内的实体
  • 排名匹配:如果标题匹配和段落实体匹配都失败了,则选择匹配排名模型中得分最高的段落

后续跃点选择:

  • 超链接匹配:后续跃点采用前面跃点的超链接进行连接,保证精确度(实体链接根据我们前面分析的论文,的确会显著降低精确度
image-20201112214149263