论文笔记|Document Modeling with Graph Attention Networks for Multi-grained Machine Reading Comprehension

论文笔记|Document Modeling with Graph Attention Networks for Multi-grained Machine Reading Comprehension_第1张图片


作者:迪

单位:燕山大学


论文地址

代码地址

论文来源:ACL2020


前言

  由于最近的工作想要利用图结构解决问题,因此分享此文的目的是想与大家探讨如何使用图结构表达文章信息。

概述

  机器阅读理解是模型在理解文本后,根据相应的问题找出对应的答案。NQ(Natural Questions)是一项新的机器阅读理解任务,它包括长答案(通常是一段话)与短答案(长答案中的实体)。数据集如下图所示。

论文笔记|Document Modeling with Graph Attention Networks for Multi-grained Machine Reading Comprehension_第2张图片

  尽管现存的模型在该数据集上是有效的,但忽略了两种答案类型之间的联系。本文提出了一种多粒度机器阅读理解框架解决该问题。该模型将文章的理解层次划分为4层,词级、句级、段落级、文档级,利用图注意力网络对文章进行建模。长答案与短答案分别从段落级与词级表示获取,而段落级与词级又可以互相提供信息。实验结果表明,本文的方法优于之前的方法。

主要贡献

  1. 提出一种基于BERT与图注意力网络的多粒度机器阅读理解框架
  2. 采用一种同时考虑长答案与短答案的策略,对学习两种有依赖关系的答案是有效的
  3. 在NQ的榜单上取得了SOTA的成绩

准备工作

数据集

  NQ数据集中的每个样本都包含一个问题和一个Wikipedia页面。模型需要预测两种类型的输出:1)长答案,它可以是一个段落、一个表、一个列表项或整个列表。在候选答案中选择长答案,如候选答案与问题都不相关,则应给予“no answer”;2)短答案,可以是“yes”,“no”或长答案中的实体。如果候选答案与问题都不相关,应该给出“no answer”。

预处理

  由于NQ数据集中文档的平均长度太长,需将文档划分为文档片段,本文采用的方法是使用划窗将其拆分为具有重叠词的文档片段列表。然后,通过连接[CLS]、tokenized question、[SEP]、文档片段列表的tokens、[SEP]来构成一个训练实例。

模型

  一个文档的文档片段输入给模型,经过图编码器后获得文档片段编码信息,将所有文档片段编码信息合并送入答案选择模块,最终得到长答案与短答案。模型结构图如下图所示。

论文笔记|Document Modeling with Graph Attention Networks for Multi-grained Machine Reading Comprehension_第3张图片

定义输入与输出

  将训练集的样本定义为 ( c , S , l , s , e , t ) (c,S,l,s,e,t) (c,S,l,s,e,t)。假设样本是由第 i i i个文档片段 D i D_i Di生成, Q Q Q为问题的表示,即 ∣ Q ∣ + ∣ D i ∣ + 3 = 512 |Q|+|D_i|+3=512 Q+Di+3=512,则 c = ( [ C L S ] , Q 1 , … , Q ∣ Q ∣ , [ S E P ] , D i , 1 , … , D i , D i , [ S E P ] ) c=([CLS],Q_1,…,Q_{|Q|},[SEP],D_{i,1},…,D_{i,D_i},[SEP]) c=([CLS],Q1,,QQ,[SEP],Di,1,,Di,Di,[SEP]) S S S表示为文档片段 D i D_i Di的一组长答案的候选项, l ∈ S l\in{S} lS是候选集中的目标答案,即长答案, s , e ∈ 0 , 1 , … , 511 s,e\in{0,1,…,511} s,e0,1,,511是短答案的开始和结束索引。 t ∈ 0 , 1 , 2 , 3 , 4 t\in{0,1,2,3,4} t0,1,2,3,4对应答案类型的5个标签。对于包含多个短答案的实例,本文设置 s s s e e e指向第一个短答案的最左边位置和最后一个短答案的最右边位置。

多粒度文档建模

  一般来说,文档可分解为段落,段落进一步可分解为句子,句子可分解为词。因此,本文将文档结构视为一颗树,它有四种类型的节点,即token nodes(词)、sentence nodes(句子)、paragraph nodes(段落)和document node(文档)。不同类型的节点可表示不同粒度级别的信息。

  文档的层次树结构包含tokens 和sentences 之间、sentences 和 paragraphs 之间、paragraphs 和 documents 之间的边。除此之外,本文还增加了 tokens 和 paragraphs, tokens 和 documents, sentences 和 document 来构建图,且所有的边都是双向的。

图编码器

  图编码器的每一层由三个self-attention层、一个图集成层和一个前馈层组成。self-attention 层用于具有相同粒度的节点之间的交互,而集成层则用于通过图注意力网络从其他粒度层收集信息。编码器的结构如下图所示。

论文笔记|Document Modeling with Graph Attention Networks for Multi-grained Machine Reading Comprehension_第4张图片

图注意力网络

  本文使用图注意力网络通过加入邻居节点的信息加强本节点信息的表示,增强了两种粒度之间的交互。使用图注意力网络的最大优势是能够与bert的多头注意力机制保持一致。

  定义 G = ( V , E , X ) G=(V,E,X) G=(V,E,X) V V V是所有的节点集合,所有节点的特征 X = ( h 1 , h 2 , … , h ∣ V ∣ ) X=(h_1,h_2,…,h_{|V|}) X=(h1,h2,,hV) E E E是所有的边集。假设有m个头,每个头中所有的参数都是唯一的,若存在节点 j j j到节点 i i i的边,则注意力系数 e i j e_{ij} eij如下所示。
e i j = ( h i W Q ) ( h j W K ) T d z e_{ij}=\frac{(h_iW^Q)(h_jW^K)^T}{\sqrt{d_z}} eij=dz (hiWQ)(hjWK)T
  通过将节点 i i i与所有邻居节点 j ∈ N i j\in{N_i} jNi的注意力系数进行归一化后,使用邻居节点的信息与所得注意力系数更新自身节点信息。
α i j = s o f t m a x j ( e i j ) = e x p ( e i j ) ∑ k ∈ N i e x p ( e i k ) \alpha_{ij}=softmax_j(e_{ij})=\frac{exp(e_{ij})}{\sum_{k\in{N_i}}^{}{exp(e_{ik})}} αij=softmaxj(eij)=kNiexp(eik)exp(eij)

z i = ∑ j ∈ N i α i j h j W V z_i=\sum_{j\in{N_i}}^{}{\alpha_{ij}h_jW^V} zi=jNiαijhjWV

  其中 W Q 、 W K 、 W V W^Q、W^K、W^V WQWKWV都是参数矩阵。最终将所有头的输出结果拼到一起构成该节点的信息。

自注意力层

  为了在具有相同粒度的节点之间进行交互,使用了三个self-attention 层。由于这四种不同粒度的节点是异构的,因此将自注意力层与图集成层分开,以区分具有相同粒度的节点与不同粒度的节点进行交互。

图集成层

  本层允许信息传递给不同层次的节点。本文没有在图编码器之后只集成一次信息,而是将本层放在图编码器内部的每个self-attention层之后,这意味着self-attention层带来的更新也将被其他粒度级别的节点利用。本层有助于对两种粒度的答案间的依赖关系进行建模。将图集成层的输入和输出连接起来并将其传递给前馈层。结构图表示如下图所示,其中实线代表文档层次树结构的边,虚线代表另外添加的边。

论文笔记|Document Modeling with Graph Attention Networks for Multi-grained Machine Reading Comprehension_第5张图片

前馈网络层

  根据transformer的内部结构,在图编码器末端添加额外的全连接前馈网络,采用与BERT一致的GELU函数进行激活。

关系嵌入

  本文在构建的图上引入了一种新的关系嵌入,其目的是在多粒度文档结构上对节点间的相对位置信息进行建模。对于相同类型的两个节点来说,它们之间的关系嵌入表示它们在自注意力层中的相对距离;对于不同类型的两个节点来说,比如句子和段落,在图集成层中,句子与其段落之间的关系嵌入表示句子在段落中的相对位置。将注意力系数与节点信息表示进行修正,改动如下,其中 α i j K \alpha_{ij}^K αijK α i j V \alpha_{ij}^V αijV都是可学习的参数。
e i j = ( h i W Q ) ( h j W K ) T + h i W Q ( α i j K ) T d z e_{ij}=\frac{(h_iW^Q)(h_jW^K)^T+h_iW^Q(\alpha_{ij}^K)^T}{\sqrt{d_z}} eij=dz (hiWQ)(hjWK)T+hiWQ(αijK)T

z i = ∑ j ∈ N i α i j ( h j W V + α i j V ) z_i=\sum_{j\in{N_i}}^{}{\alpha_{ij}(h_jW^V+\alpha_{ij}^V)} zi=jNiαij(hjWV+αijV)

图初始化

  由于BERT模型只能提供词级表示,本文使用自下而上的平均池化策略来初始化词级节点以外的节点。使用 o i ∈ 0 , 1 , 2 , 3 o_i\in{0,1,2,3} oi0,1,2,3代表不同类型的节点,分别是词级、句子级、段落级、文档级。初始化表示如下,其中 α i j \alpha_{ij} αij代表关系嵌入, b o i b_{o_i} boi代表节点类型嵌入, N i N_i Ni代表邻居节点。

h i 0 = a v e r a g e j ∈ N i , o j + 1 = o i { h j 0 + a i j } + b o i h_i^0=\mathop{average}_{j\in\N_i,o_j+1=o_i}\{h_j^0+a_{ij}\}+b_{o_i} hi0=averagejNi,oj+1=oi{ hj0+aij}+boi

输出层

  目标函数被定义如下。其中 p s ( s ∣ c , s ) p_s(s|c,s) ps(sc,s) p e ( e ∣ c , s ) p_e(e|c,s) pe(ec,s)代表短答案的起始与终止位置的概率, p l ( l ∣ c , s ) p_l(l|c,s) pl(lc,s)代表长答案的概率, p t ( t ∣ c , s ) p_t(t|c,s) pt(tc,s)代表该实例答案类型的概率。

论文笔记|Document Modeling with Graph Attention Networks for Multi-grained Machine Reading Comprehension_第6张图片

实验结果

  实验结果表明,本文所提出的模型BERT-syn+Model-III+ ensemble 3 models相比于之前的模型有了很大的改进,两种类型答案的得分都取得了SOTA的结果。

论文笔记|Document Modeling with Graph Attention Networks for Multi-grained Machine Reading Comprehension_第7张图片

结论

  此论文提出了一个新的基于图注意力网络与BERT的多粒度MRC框架。在不同的粒度级别上对文档建模,以了解文档的层次性质。对于下游任务而言,在预测段落级的长答案和词级的短答案两个子任务上,该模型考虑了两种答案的依赖性,联合训练这两个子任务。实验表明,所提出的方法是有效的。

你可能感兴趣的:(深度学习,人工智能,自然语言处理)