Gated Self-Matching Networks for Reading Comprehension and Question Answering翻译

摘要

在本文中,我们提出了用于阅读理解类型问答的门控自匹配网络,旨在回答给定了相关段落的问题。我们首先将问题和段落与基于门控注意力的循环网络进行匹配,以获取基于问题的段落表示。然后,我们提出了一种自匹配注意力机制,通过将段落与自身进行匹配来细化表示,从而有效地编码整个段落中的信息。最后,我们使用指针网络来定位段落答案的位置。我们对SQuAD数据集进行了广泛的实验。单一模型在隐藏测试集上的完全匹配评估指标上达到71.3%,而集成模型进一步将结果提高到75.9%。在论文提交时,我们的模型在SQuAD排行榜上在单一模型和集成模型中均排名第一。

1.介绍

在本文中,我们专注于阅读理解类型的问答,旨在回答给定了相关段落或文档的问题。我们特别关注斯坦福问答数据集(SQuAD),这是一个用于阅读理解和问答的大型数据集,是通过众包人工创建的。SQuAD将答案约束在参考段落中所有可能跨度的空间上,这与完形填空类型的阅读理解数据集不同,后者的答案是单个单词或实体。此外,SQuAD需要不同形式的逻辑推理来推断答案。
  自SQuAD数据集发布以来,机器阅读理解任务取得了长足的进步。Wang and Jiang (2016b)使用match-LSTM构建了具有基于的段落表示,并使用指针网络预测了段落中的答案边界。Seo et al. (2016)引入了双向注意力流网络,以在多个粒度级别上对问题段落进行建模。Xiong et al. (2016)提出了动态的共同注意网络,该网络同时参与问题和段落并迭代地完善答案预测。Lee et al. (2016) and Yu et al. (2016)通过对段落中连续的文本跨度进行排名来预测答案。
  在Wang and Jiang (2016b)的启发下,我们引入了门控自匹配网络,如图1所示,这是一种用于阅读理解和问答的端到端神经网络模型。我们的模型包括四个部分
  1)循环网络编码器以分别构建问题和段落的表示形式;
  2)门控匹配层以匹配问题和段落;
  3)自匹配层从整个段落聚合信息;
  4)基于指针网络的答案边界预测层。
   这项工作的关键贡献是
   首先,我们提出了一个基于门控的注意力循环网络,它为基于注意力的循环网络增加了另一道门。对于阅读理解和问答任务,段落中的单词对于回答特定的的问题具有不同的重要性。 在Wang and Jiang (2016a)中,段落中的单词通过使用其相应的注意力权重被一起编码,以产生基于问题的段落表示。通过引入门控机制,我们的基于门控注意力的循环网络根据与问题的相关性,对段落部分分配了不同级别的重要性,屏蔽了不相关的段落部分并强调了重要部分。
  其次,我们引入了一种自我匹配机制,该机制可以有效地汇总整个段落中的证据以推断出答案。通过门控匹配层,所得的基于问题的段落表示有效地为每个段落单词编码了问题信息。尽管具有理论能力,但是循环网络只能在实践中记住有限的段落上下文。一个答案候选者通常不知道段落其他部分的线索。为了解决这个问题,我们提出了一个自匹配层,以利用整个段落中的信息动态地完善段落表示。基于问题的段落表示,我们在针对段落本身的段落上采用了基于门控的注意力循环网络,从段落中的每个单词中收集与当前段落相关的证据。封闭式的基于注意力的循环网络层和自匹配层通过从问题和段落中汇总的信息来动态丰富每个段落表示,从而使后续网络能够更好地预测答案。
  最后,所提出的方法在最强的baselines下产生了最好的结果。我们的单一模型在隐藏的SQuAD测试集上达到71.3%的精确匹配准确度,而集成模型将结果进一步提高到75.9%。在本文提交之时,我们的模型在SQuAD排行榜上排名第一。

2.任务描述

在这里插入图片描述
  对于阅读理解类型问答,给出了段落 P \pmb P 和问题 Q \pmb Q ,我们的任务是根据在 P \pmb P 中找到的信息预测问题 Q \pmb Q 的答案 A \pmb A 。SQuAD数据集进一步将答案 A \pmb A 约束为段落 P \pmb P 的连续子跨度。答案 A \pmb A 通常包括非实体,并且可以是更长的短语。这种设置要求我们理解有关问题和段落的原因并进行推理,以便推断出答案。表1显示了SQuAD数据集中的一个简单示例。

3.门控自匹配网络

在这里插入图片描述
  图1概述了门控自匹配网络。首先,问题和段落分别由双向循环网络处理。然后,我们将问题和段落与基于门控注意力的循环网络进行匹配,以获取基于问题段落表示。最重要的是,我们运用自匹配的注意力来收集整个段落中的证据,并完善段落表示,然后将其馈入输出层以预测答案范围的边界。

3.1 问题和段落编码

考虑问题 Q = { w t Q } t = 1 m Q=\{w^Q_t\}^m_{t=1} 和段落 P = { w t P } t = 1 n P=\{w^P_t\}^n_{t=1} 。我们首先将单词转换为它们各自的单词级嵌入 { e t Q } t = 1 m \{e^Q_t\}^m_{t=1} { e t P } t = 1 n \{e^P_t\}^n_{t=1} )和字符级嵌入 { c t Q } t = 1 m \{c^Q_t\}^m_{t=1} { c t P } t = 1 n \{c^P_t\}^n_{t=1} )。通过获取应用于字符中字符嵌入的双向循环神经网络(RNN)的最终隐藏状态,生成字符级嵌入。此类字符级嵌入已被证明有助于处理OOV字符。 然后,我们使用双向RNN生成新的表示 u 1 Q , , u m Q u^Q_1,\dots,u^Q_m u 1 P , , u n P u^P_1,\dots,u^P_n ,问题和段落中所有单词表示分别为:
u t Q = B i R N N Q ( u t 1 Q , [ e t Q , c t Q ] ) (1) u^Q_t=BiRNN_Q(u^Q_{t-1},[e^Q_t,c^Q_t])\tag{1}
u t P = B i R N N P ( u t 1 P , [ e t P , c t P ] ) (2) u^P_t=BiRNN_P(u^P_{t-1},[e^P_t,c^P_t])\tag{2}
  我们选择在实验中使用门控循环单元(GRU),因为它的性能与LSTM相似,但计算成本较低。

3.2 基于门控注意力的循环网络

我们提出了一种基于门控注意力的循环网络,将问题信息整合到段落表示中。它是基于注意力的循环网络的一种变体,具有一个附加的门来确定段落中有关问题的信息的重要性。给定问题和段落表示形式 { u t Q } t = 1 m \{u^Q_t\}^m_{t=1} { u t P } t = 1 n \{u^P_t\}^n_{t=1} ,Rocktaschel et al.(2015)建议通过问题和段落中单词的软对齐生成句子对表示 { v t P } t = 1 n \{v^P_t\}^n_{t=1} ,如下所示:
v t P = R N N ( v t 1 P , c t ) (3) v^P_t=RNN(v^P_{t-1},c_t)\tag{3}
其中 c t = a t t ( u Q , [ u t P , v t 1 P ] c_t=att(u^Q,[u^P_t,v^P_{t-1}]) 是整个问题 u Q u^Q 的注意力池化向量:
s j t = v T t a n h ( W u Q u j Q + W u P u t P + W v P v t 1 P ) a i t = e x p ( s i t ) / j = 1 m e x p ( s j t ) c t = i = 1 m a i t u i Q (4) s^t_j=v^Ttanh(W^Q_uu^Q_j+W^P_uu^P_t+W^P_vv^P_{t-1})\\ a^t_i=exp(s^t_i)/\sum^m_{j=1}exp(s^t_j)\\ c_t=\sum^m_{i=1}a^t_iu^Q_i\tag{4}
每个段落表示 v t P v^P_t 动态地合并来自整个问题的汇总匹配信息。
  Wang and Jiang(2016a) 引入了match-LSTM,它将 u t P u^P_t 作为循环网络的额外输入:
v t P = R N N ( v t 1 P , [ u t P , c t ] ) (5) v^P_t=RNN(v^P_{t-1},[u^P_t,c_t])\tag{5}
为了确定段落部分的重要性并关注与问题相关的部分,我们向RNN的输入 [ u t P , c t ] [u^P_t,c_t] 添加了另一扇门:
g t = s i g m o i d ( W g [ u t P , c t ] ) [ u t P , c t ] = g t [ u t P , c t ] (6) g_t=sigmoid(W_g[u^P_t,c_t])\\ [u^P_t,c_t]^*=g_t\odot [u^P_t,c_t]\tag{6}
与LSTM或GRU中的门不同,附加门基于当前的段落单词及其问题的注意力池化向量,其重点关注问题与当前段落单词之间的关系。附加门有效地建模了段落中仅有一部分内容与阅读理解和问答中的问题相关的现象 [ u t P , c t ] [u^P_t,c_t]^* 代替 [ u t P , c t ] [u^P_t,c_t] 用于后续计算。我们称其为基于门控注意力的循环网络。它可以应用于RNN的变体,例如GRU和LSTM。我们还进行了实验,以显示附加门对GRU和LSTM的有效性。

3.3 自匹配注意力

通过基于门控注意力的循环网络,生成基于问题的段落表示 { v t P } t = 1 n \{v^P_t\}^n_{t=1} ,以精确定位段落中的重要部分。这种表示的一个问题是它对上下文的了解非常有限。一个候选答案通常会忽略其周围窗口之外的段落中的重要提示。此外,在大多数SQuAD数据集中,问题和段落之间存在某种词汇或句法差异。通过上下文是推断答案的必要条件。为了解决这个问题,我们建议将基于问题的段落表示与其自身直接匹配。它动态地从整个段落中为段落中的单词收集证据,并将与当前段落相关的证据及其匹配的问题信息编码为段落表示 h t P h^P_t
h t P = B i R N N ( h t 1 P , [ v t P , c t ] ) (7) h^P_t=BiRNN(h^P_{t-1},[v^P_t,c_t])\tag{7}
其中 c t = a t t ( v P , v t P ) c_t=att(v^P,v^P_t) 是整个段落 v P v^P 的注意力池化向量:
s j t = v T t a n h ( W v P v j P + W v P ~ v t P ) a i t = e x p ( s i t ) / j = 1 n e x p ( s j t ) c t = i = 1 n a i t v i P (8) s^t_j=v^Ttanh(W^P_vv^P_j+W^{\tilde P}_vv^P_t)\\ a^t_i=exp(s^t_i)/\sum^n_{j=1}exp(s^t_j)\\ c_t=\sum^n_{i=1}a^t_iv^P_i\tag{8}
将基于门控注意力的循环网络中的附加门应用于 [ v t P , c t ] [v^P_t,c_t] 以自适应控制RNN的输入。

3.4 输出层

我们遵循Wang and Jiang (2016b)并使用指针网络来预测答案的开始和结束位置。此外,我们在问题表示形式上使用注意力池化来生成指针网络的初始隐藏向量。给定段落表示 { h t P } t = 1 n \{h^P_t\}^n_{t=1} ,注意力机制用作从段落中选择开始位置 p 1 p^1 和结束位置 p 2 p^2 的指针,其公式如下:
s j t = v T t a n h ( W h P h j P + W h a h t 1 a ) a i t = e x p ( s i t ) / j = 1 n e x p ( s j t ) p t = a r g m a x ( a 1 t , . . . , a n t ) (9) s^t_j=v^Ttanh(W^P_hh^P_j+W^a_hh^a_{t-1})\\ a^t_i=exp(s^t_i)/\sum^n_{j=1}exp(s^t_j)\\ p^t=argmax(a^t_1,...,a^t_n)\tag{9}
此处的 h t 1 a h^a_{t-1} 表示答案循环网络(指针网络)的最后隐藏状态。答案循环网络的输入是基于当前预测概率 a t a^t 的注意力池化向量:
c t = i = 1 n a i t h i P h t a = R N N ( h t 1 a , c t ) (10) c_t=\sum^n_{i=1}a^t_ih^P_i\\ h^a_t=RNN(h^a_{t-1},c_t)\tag{10}
当预测开始位置时, h t 1 a h^a_{t-1} 表示答案循环网络的初始隐藏状态。我们利用问题向量 r Q r^Q 作为答案循环网络的初始状态。 r Q = a t t ( u Q , V r Q ) r^Q=att(u^Q,V^Q_r) 是基于参数 V r Q V^Q_r 的问题的注意力池化向量:
s j = v T t a n h ( W u Q u j Q + W v Q V r Q ) a i = e x p ( s i ) / j = 1 m e x p ( s j ) r Q = i = 1 m a i u i Q (11) s_j=v^Ttanh(W^Q_uu^Q_j+W^Q_vV^Q_r)\\ a_i=exp(s_i)/\sum^m_{j=1}exp(s_j)\\ r^Q=\sum^m_{i=1}a_iu^Q_i\tag{11}
  为了训练网络,我们通过预测分布最小化真值起始位置和终止位置的负对数概率之和。

猜你喜欢

转载自blog.csdn.net/qq_28385535/article/details/105988162