原文链接:Text Understanding with the Attention Sum Reader Network

原文作者:Rudolf Kadlec,Martin Schmid,Ondrej Bajgar,Jan Kleindienst

Text Understanding with the Attention Sum Reader Network

摘要

一些大的完形填空式context-question-answer数据集最近被公布:CNN、Daily Mail和Childrens Book Test。得益于数据集的大小,与之相关的阅读理解任务可以适合深度学习,这一比其他方法表现出色的技术。我们提出了一个新的简单模型,该模型使用attention从context中直接挑选答案,而不是像类似模型中常见的那样,使用文档中单词的混合表示来计算答案。这使得该模型特别适用于答案是文档中的一个单词的问答问题。我们的模型在很大程度上优于先前为这些任务提出的模型。

1 Introduction

到目前为止,人类收集的大部分信息都是以纯文本的形式存储的。因此,在人工智慧领域,教机器如何理解这些数据至关重要。测试文本理解水平的一种方法就是简单地问系统问题,这些问题可以从文本中推测出答案。一个众所周知的可以利用大量非结构化文档来回答问题的系统例子是IBM的Watson系统,用于Jeopardy挑战 (Ferrucci et al., 2010)。

完形填空式问题( Taylor,1953 ),即通过从句子中删除短语形成的问题,是这类问题的一种吸引人的形式。虽然任务很容易评估,但人们可以改变context、问题句子或问题中缺少的特定短语,以显著改变任务结构和难度。

改变任务难度的一种方法是改变被替换的单词类型,如( Hill等人)。,2015年)。这些复杂度的原因是文本理解需要去预测不同类型的单词。预测介词可以很容易地使用相对简单的模型来完成,但是预测命名实体需要对context有更深入的了解。

此外,与从文本中随机选择句子不一样(如( Hill等人)2015年),这些问题可以由文档的特定部分形成,例如简短摘要或标签列表。因为这样的句子经常以浓缩的形式复述文档中所说的话,所以它们特别适合测试文本理解能力( Hermann,2015年)。

完形填空式数据集的一个重要特点是,这些数据可以从大量的真实文档中生成。这为需要大量数据的技术(如深度学习)打开了大门。

在本文的第一部分,我们介绍了当前的任务和相关数据集的主要方面。然后我们展示了我们自己的模型来解决这个问题。随后,我们将该模型与先前提出的体系结构进行比较,并最终描述了对模型性能的实验结果。

2 Task and datasets

在本节中,我们简要介绍了我们寻求解决的任务,以及最近为此任务引入的相关大规模数据集。

2.1 Formal Task Description

任务包括回答完形填空式的问题,这个问题的答案取决于对问题附带的上下文文档的理解。模型还提供了一组答案,从中可以选择正确的答案。这可以形式化为如下:

训练集是一个元组(q,d,a,A)q是问题,d是文档,并且包含回答q的答案,A是可能的答案的集合,a∈A,是正确答案。q和d都是一序列的词,并且都在辞汇表V之内。所有可能的答案的词也全部来自于V,正确的答案一定出现在过d中,即a∈d。

2.2 Datasets(表格1)

2.2.1 News Articles — CNN and Daily Mail

2.2.2 Children』s Book Test

详细见低级炼丹师:机器阅读理解之推理网路(三)Iterative Alternating Neural Attention for Machine Reading 第二小节任务定义

3 Our Model — Attention Sum Reader

3.1 Motivation

我们的模型叫做注意力总和阅读器( AS Reader )是定制的,以利用答案是上下文文档中的一个单词这一事实。这是一把双刃剑。虽然它在所有提到的数据集上都获得了state-of-the-art的结果(这些数据都有上述假设),但是它不能给出一个不包含在文档中的答案。我们的模型结构如下:

1 .我们计算query的向量嵌入。

2 .我们在整个文档中计算每个单独单词的向量嵌入(RNN)。

3 根据每一个出现在document中的候选答案,做对应的问题和文本嵌入的点积,来选择最可能的答案。

3.2 Formal Description

我们的模型使用一个词嵌入函数和两个编码器函数。词嵌入函数e将单词翻译成向量表示。第一个编码器功能是文档编码器f,它在整个文档的上下文中对来自文档d的每个单词进行编码。我们称之为上下文嵌入。为了方便起见,我们将第I个单词在d中的上下文嵌入表示为fi(d )。第二个编码器g用于将query 转换成与fi(d )相同维度的固定长度表示。两个编码器都使用由e计算的单词嵌入作为输入。然后,我们通过上下文嵌入和query嵌入的点积计算文档中每个单词的权重,。这个权重可以被看作是对文档d的attention的值。

为了构建document中的词正确的概率分布,我们使用softmax函数来归一化权重。我们得到在document中位置i处的词可以正确回答q的概率 s_i ,方程形式为:

最终我们计算得到词w是正确答案的概率为:

其中I(w,d)是w出现在document中的位置的集合。我们称这个机制为pointer sum attention,因为我们在document中使用attention来作为在离散的辞汇上的一个指针,然后我们把某个辞汇的所有地方的attention相加。这模型和seq2seq中常见的attention用法不一样,在那个模型中attention被用来混合词的表达到一个新的嵌入向量。

模型如图1所示。

3.3 Model instance details

在我们的模型中,文档编码器f被实现为双向门控循环单元( GRU )网路( Cho,2014年),其隐藏状态形成上下文词嵌入,即 f_i(d)=overrightarrow{f_i}(d)||overleftarrow{f_i}(d) ,两个分别表示前向和后向的文本嵌入,||表示向量拼接。Query的编码器g被另外一个双向gru实现,GRU前向的最后一个隐状态和反向的最后一个隐状态会拼接在一起形成query嵌入,即 g(d)=overrightarrow{g_{|q|}}(q)||overleftarrow{g_1}(q) 。训练过程中我们联合优化参数f,g,e。

4 Related Work

最近的两种深度神经网路架构( Hermann 2015年)(希尔,2015 )被应用于文本理解任务。这两种体系结构都使用了一种attention机制,允许它们在文档中高亮显示可能与回答问题相关的词。现在,我们将简要描述这些体系结构,并将它们与我们的方法进行比较。

4.1 Attentive and Impatient Readers

即低级炼丹师:机器阅读理解之开山之作 Teaching Machines to Read and Comprehend的内容

4.2 Memory Networks

MemNNs (Weston et al., 2014) 被应用到阅读理解的任务中。

最佳性能的记忆网路模型设置——窗口内存——使用以候选词为中心的固定长度窗口( 8 )作为记忆单元。因为这个有限的上下文窗口,模型无法捕获超出此窗口范围的依赖项。

此外,这个窗口里的表示向量被计算为那个窗口里的词嵌入之和。相比之下,在我们的模型中,每个单词的表示是使用循环网路来计算的,这不仅允许它从整个文档中捕获上下文,而且嵌入计算比简单的求和更加灵活。

为了提升初始精度,一个叫self supervision的启发式方法会被使用,来帮助网路选择正确的记忆。单一的MemNNs在阅读理解任务上没有竞争力,而我们的模型并不需要这个。

4.3 Pointer Networks

我们模型的灵感来自于PtrNets,这个模型使用attention机制去选择文本中的答案,而不是用来将所有词混合为一个向量表达。PtrNet模型由一个编码器一个解码器构成,在每一步都会用attention机制去选择输出,而我们的模型只在单一步输出答案。此外,指针网路假设序列中没有输入出现一次以上,而在我们的设置中不是这样的。

4.4 Summary

我们的模型结合了上述提到的架构的最好的特征。我们像attentive和impatient readers一样使用循环网路来读document和query,我们也像PtrNets一样使用attention机制,也像MenNNs一样使用attention和的方式。

5 Evaluation

本节中,我们在三个数据集上评估了我们的模型,尽管它非常简单,依旧取得了state-of-the-art的效果。

5.1 Training Details

我们使用随机梯度下降,ADAN优化器,学习率为0.001或者0.0005。损失函数为负log-likelihood。

初始权值为[-0.1,0.1]中的随机值。GRU中权重被随机正交矩阵初始化,biases被初始化为0.梯度裁剪阈值为10,batch size为32.

训练过程中我们在每个epoch中都会随机打乱样本。为了加快训练速度,我们总是预先提取10批样本,并根据文档的长度对它们进行排序。这样,每批包含的文档长度大致相同。

对于CNN和每日邮报数据集,对于每一批,我们随机重组命名实体到相应单词嵌入向量的分配,以匹配( Hermann等人)中提出的过程。,2015年)。这保证了命名实体的单词嵌入仅用作语义上无意义的标签,不编码所表示实体的任何内在特征。这迫使模型从与问题相关联的单个上下文文档中真正推导答案。

在训练过程中,我们在每个epoch中都会评估模型性能,当验证集上误差开始增加的时候,停止训练。

2个epoch后模型开始收敛。在Nvidia K40 GPU上每个数据集训练一个epoch的时候如表格6

超参数,也就是隐层维度和嵌入维度会被通过grid search来选择。我们开始以128到384为范围,然后以128为间距提升上界,直到验证集准确率的持续下降。表7总结了我们探索的超参数空间区域,该区域具有最佳精度的模型参数。

我们的模型使用Theano和Blocks实现。

5.2 Evaluation Method

我们同时用单模和集成模型评估模型。

对於单个模型,我们报告了最佳模型的结果以及最佳的20 %模型的平均精度,因为单个模型由于随机权重初始化而显示出相当大的结果差异,即使对于相同的超参数值也是如此。因此,单一模型的性能可能很难再现。

对于集成模型,我们使用集成成员预测的答案概率的简单平均。

集合模型要么被选为所有训练模型的前70 %,要么使用以下演算法:根据验证性能,我们从性能最佳的模型开始。然后在每一步中,我们都尝试添加以前从未尝试过的最佳性能模型。如果它确实提高了验证性能,我们会将它保留在系综中,否则会丢弃它。通过这种方式,我们把所有模型都试验了一次。我们称由此产生的模型为贪婪式集成。

5.3 Results

我们的模型在CBT数据集上的性能总结在表5中,表4显示了CNN和每日邮报数据集上的结果。这些表格还列出了在这些数据集上评估的其他已发布模型的性能。我们的集成模型在所有评估数据集上展现出了较好的性能。而且,即使是我们的单模型的最好性能也比之前报道的最好的结果要好。

表8以测试用例的比例来衡量准确性,其中,对于k = 1,2,5,贪婪集成模型提出的前k个答案中有答案。

6 Analysis

为了进一步分析我们模型的性质,我们试验了模型准确率的各个依赖项:文本长度,候选答案数量,正确答案在文本中的频率。(如图2到4)

在CNN和每日邮报数据集上,随著文档长度增加,准确率下降(图2a)我们认为可能有以下几个原因。(1)长文档使任务更复杂(2)长文档比较少,会使得模型更加善于解决短文本。(图2b)(3)文本长度一般都会和命名实体的数量有关联,可能答案的数量本身便副作用于准确率。(图3)

在CBT数据集上上面的负趋势变消失了(图2c)。这支持了上面后面两种说法。因为这个数据集的长度分布更加均衡(图2d),并且候选答案的数量是常量(10)。

候选答案数量的增加对模型准确性的影响可见于图3a。我们可以清楚地看到,随著候选答案数量的增加,准确率下降。另一方面,有大量候选答案的例子数量非常少(图3b )。

最后,由于我们模型中的attention的和总是会使多次出现的实体更加受益,我们也可视化了准确性与文档中正确答案的频率的关系。图4a显示,与其他候选答案相比,随著正确答案的频率在文档中变得越来越少,准确性显著下降。并且,正确的答案更倾向于会频繁出现(图4a )。

6.1 Comparison to Weighted Average Blending

我们在第4.1节中假设,attentive reader利用attention来混合表达可能会损害其表现。为了验证这种直觉,我们在我们的模型中实现了混合表达,使它更接近于attentive reader。

在这个修正过的模型中,我们依旧用原来的方式计算attention s_i。同时用下面的等式:

其中r是混加后的表达a』属于∈A是可能的答案。这个变化会导致模型在所有数据集上的准确率急剧地降低。

在每一个CBT数据集上,差异几乎是15 %,而在CNN和每日邮报上,差异分别超过6 %和2 %。此外,无论是看每个epoch的训练时间还是收敛需要的epoch数量,混合模型的训练时间都几倍于我们的模型。

7 Conclusion

本文中,我们提出了一种新的用于自然语言文本理解的神经网路结构。虽然我们的模型比以前发布的模型更简单,但它在所有评估数据集上都达到了state-of-the-art的性能。

Text Understanding with the Attention Sum Reader Network(完)

有任何疑问或者纠错,作者随时在线哦

关注专栏

深度学习经典论文翻译(nlp方向)?

zhuanlan.zhihu.com
图标

推荐阅读:
查看原文 >>
相关文章