Advertisement

Hierarchical Graph Network for Multi-hop Question Answering 论文笔记

阅读量:

Hierarchical Graph Network for Multi-hop Question Answering 论文笔记

2020年EMNLP会议与微软365系统中提到的文章所提出的层级图模型,在 leaderboard 上表现优异的一个模型。

Overview

同样采用了图表示学习的方法来进行多跳推理研究,在建模过程中进行了创新性工作并构建了Hierarchical Graph结构。研究者指出,在现有基于图表示学习的方法中存在两大缺陷:其一在于仅仅将图用于预测答案而未能充分挖掘支撑事实的信息;其二在于较为简单的Entity Graph难以处理复杂的multi-hop推理任务。针对上述问题所在,在构建模型时对传统的建模方式进行优化工作:所提出的层级化设计中包含了四种类型的节点以及七种类型的关系边。

本文的contribution如下:

该方法通过整合异质节点实现了在同一层次架构中的统一。
多层次节点则在辅助事实抽取及回答预测方面展现出更强的监督能力。
在HotpotQA基准测试中实现了A/B成绩。

HGN

还是先来看模型架构图

在这里插入图片描述

从图中不难得出HGN主要有4个子模块:

  • 构建图结构模块
  • 上下文编码模块
  • 图推理模块
  • 多任务预测模型

Graph Construction Module

该图被视为一种异构图(heterogeneous graph),其中节点被划分为四个类别:问题节点(question)、段落节点(paragraph)、句子节点(sentence)以及实体节点(entity)。连边共计7种类型。

Paragraph Selection

在段落选择过程中,在标题匹配阶段中提取所有包含特定phrase的问题相关的文本片段,并利用预训练好的RoBERTa模型作为评分工具对这些片段进行评估。若标题匹配筛选出多个候选项,则选择得分最高的两个候选项;若未找到任何候选项,则再从包含问题中的实体相关的文本片段中进行筛选,并利用RoBERTa模型对这些候选项进行评分,并取前两名作为最终结果。这一阶段的操作被称为first-hop筛选过程,在这一阶段最多输出两个候选项

随后处理的是第二层hop(second-hop)段落的选择。值得注意的是,在这种方法中存在较大的噪声。因此他们采用了以下方法:首先从第一层hop(first-hop)中提取相关链接(hyperlinks),然后利用这些链接来寻找第二层hop(second-hop)的相关内容。其中关键点在于不清楚具体指代什么。不过需要注意的是,在原文中并未明确说明这些链接的具体来源。

Nodes and Edges

结点分为四个类别:question、paragraph、sentence和entity。如图所示。研究表明这种异质节点有助于模型获取多层次的信息,并因此能够更精准地提取支持事实和答案。

连边总共有七种情况:

1. question节点与所有paragraph节点。\n2. question涉及它所包含的地实体。\n3. paragraph与其相关联的sentence。\n4. sentence通过hyperlink关联到其所在的paragraph。\n5. sentence涉及其中的地实体。\n6. paragraph之间相互连接。\n7. 在同一段落内的其他句子。

Context Encoding Module

作者首先利用RoBERTa模型获取问题及所选段落的嵌入表示Q(属于实数矩阵空间ℝ{m×d})以及C(属于ℝ{n×d})。随后,在段落编码层上应用BiLSTM模型生成新的嵌入表示M(属于ℝ^{n×2d})。随后,在获取节点嵌入方面的工作与DFGN的方法具有相似之处:尽管未采用mask机制(即不依赖于遮蔽层),但仍基于统一的事实表示策略:无论处理的是实体、句子还是段落内容单元体等单位,在计算嵌入时将其视为连续的span区域。

在这里插入图片描述

P代表Paragraph,S代表Sentence,E代表Entity。start和end分别对应着该片段的起始位置索引和结束位置索引。而对问题节点进行嵌入处理时,则采用最大池化操作。

Graph Reasoning Module

在图上进行推理后得到了各节点的嵌入表示。采用图神经网络技术对这些嵌入信息进行进一步处理以实现跨层信息传递功能。具体而言,在本文中我们采用的是GAT模型来完成这一过程。具体来说,在构建计算过程时会先定义一个g×d维的空间用于存储各节点的特征向量数据集包括段落级、句子级以及实体级等不同粒度层次上的特征信息以及问题相关的上下文特征数据集将被统一映射到这一空间中以便后续的学习与推理操作

其中s_{i,j} 的计算过程如下:首先通过LeakyReLU激活函数对[hi;hj] 进行线性变换后再与WT矩阵相乘从而得到s_{i,j} 的初始值;随后将此值代入指数函数并归一化处理以获得最终的注意力权重系数α_{i,j}=exp(s_{i,j})/Σ_k exp(s_{i,k})

在此基础上通过加权求和的方式可获得节点i的新特征向量表达式即hi′= Relu(∑{j∈Ni} α{i,j} hj),其中α_{i,j} 是节点之间相互作用的重要度权重系数

经过GAT模型处理后得到的新节点表示为H’= [h₁’, h₂’, ..., h_n’]^T 这种新的表征形式能够更好地反映节点间的全局依赖关系从而提升了整体性能表现

Multi-task Prediction Module

本文开发了多任务学习模型,在原有四个预测结果的基础上进一步引入了段落选择机制以及实体预测功能。通过MLP网络构建了一系列预测分支:针对段落选择的分支由MLP4实现;针对句子级别的预测则由MLP5完成;而实体识别相关的分支则由MLP6独立实现;除此之外还设置了启动词与结束词的识别模块由MLP7与MLP8分别负责;最后语义类型分类则由带有输入约束条件的MLP9结构来完成。

Experiment

在这里插入图片描述

这个模型在当时是成为了新SOTA。

作者对Hierarchical Graph的构建进行了消融实验

在这里插入图片描述

PS表示只有paragraph和sentence,PSE又加入了entity

本文还进行了error分析,总结出了六类错误原因

在这里插入图片描述

Reflection

该篇文章的效果提升确实非常明显。
将其与DFGN进行对比分析后发现,在模型架构方面存在诸多相似之处。
其主要优势则体现在构建过程这一独特环节上。
而F1值则提升了大约12个百分点。
我认为其改进之处在于大幅增强了信息表达能力。
其中np=4、ns=40、ne=60等参数设置表明,
这张图的整体规模较大。
实际应用中,
np=4这一设定揭示出至少两个相互独立的噪声区域,
然而从实验结果来看,
这一特点并未对实际性能产生负面影响,
反而通过扩大信息空间使得GAT模型能够更加高效地完成信息传递任务。

全部评论 (0)

还没有任何评论哟~