Teaching Machines to Read and Comprehend

原文链接:Teaching Machines to Read and Comprehend

作者:Karl Moritz Hermann,Tomá? Ko?isky,Edward Grefenstette,Lasse Espeholt,Will Kay,Mustafa Suleyman,Phil Blunsom

摘要

教机器阅读自然语言文档仍然是一个难以捉摸的挑战。机器阅读系统可以测试其回答对他们所看到的文档内容提出的问题的能力,但迄今为止,这类评估缺少大规模的训练和测试数据集。在这项工作中,我们定义了一种新的方法来解决这个瓶颈,并提供大规模的监督型阅读理解数据。这使我们能够开发一类基于attention的深度神经网路,学习阅读真实的文档,用最少的语言结构知识回答复杂的问题。

1 Introduction

从简单的词袋模型信息检索到能够阅读和理解文本的机器这一进程目前相当缓慢。传统的机器阅读理解的方法是基于人工识别语法,或者通过检测谓词参数的信息提取方法,这种方法之后可以作为关系型资料库进行查询。由于缺乏大规模的训练数据集,以及难以构建足够灵活的统计模型来学习探索文档架构,在这一领域很大程度上缺乏有监督的机器学习方法。

获得监督型自然语言阅读理解数据已被证明非常困难,一些研究者已经探索了如何合成叙事和问题。这些方法允许生成几乎无限量的监督数据,并且使得研究者去隔离他们在个人模拟现象上的演算法的性能。对这些数据的研究表明,基于神经网路的模型有望为阅读理解建模,这是我们将在此建立的基础。然而,历史来说,许多在计算机语言学上的类似的方法未能完成从合成数据到真实环境的转变,因为这些相近的单词不可避免地都未能捕捉到自然语言的复杂性,多样性以及噪音。

在本文中,我们通过引入一种新的构建监督学习机器阅读理解数据集来直接解决真实自然语言训练集的缺点。我们注意到,一些摘要和带有释义的句子,与他们相关联的文档,能够通过一些简单的实体侦测或者匿名演算法被转换为context-query-answer的三元组。使用这种方法,我们搜集到了两个新的语料库大约一百万篇新闻报道和相关的queries。

我们通过构建新的深度学习模型来展示新语料库的有效性。这些模型借鉴了最近的发展,将注意力机制纳入了循环神经网路架构。这使得模型能够专注于它认为有助于回答问题的文档的各个方面,也让我们能够想像出它的推理过程。我们将这些神经模型与一系列baselines和启发式benchmarks进行比较,这些baselines和启发式benchmarks基于最先进的自然语言处理方式提供的传统框架语义分析。我们的结果表明,神经模型实现了更高的准确性,并且不需要对文档或查询结构进行任何特定的编码。

2 Supervised training data for reading comprehension

阅读理解任务很自然地将自己变成一个有监督的学习问题。具体来说,我们试图估计条件概率p ( a | c,q ),其中c是上下文文档(context),q是与该文档相关的查询(query),a是该查询的答案(answer)。为了重点评估,我们希望能够排除额外的信息,例如从共现统计中获得的世界知识,以测试模型检测和理解上下文文档中实体之间语言关系的核心能力。

这种方法需要大量的document–query–answer三元组训练语料库,到目前为止,这种语料库大小仅限于数百个例子,因此其中大部分仅用于测试。这种限制意味著这一领域的大多数工作都采取了无监督的方式,使用模板或句法/语义分析器从文档中提取关系元组,以形成可查询的知识图。

在这里,我们提出了一种方法来创建真实世界的、大规模的有监督的训练数据,用于学习阅读理解模型。我们利用在线报纸文章及其匹配的摘要创建了两个机器阅读语料库。我们从CNN收集了93K篇文章,从每日邮件网站收集了220K篇文章。两个新闻提供商都用一些要点来补充他们的文章,总结文章中包含的信息。重要的是,这些要点是抽象的,而不是简单地从文档中复制句子。我们通过用占位符一次替换一个实体,将这些要点变成完形填空式的问题,从而构建了一个document–query–answer三元组语料库。这生成了大约1M数据的组合语料库(表1 )。

2.1 Entity replacement and permutation

本文的目标是提供一个语料库来衡量模型阅读和理解一个单文档的能力,不能引入世界知识和共识。为了理解其中的区别,请参考下面例子。(来自每日邮报数据集)a) The hi-tech bra that helps you beat breast X;b) Could Saccharin helpbeat X?;c) Can fish oils help fight prostate X? 其中的X是完形填空要填写的内容。在每日邮报数据集上训练过的n-gram模型可以很轻易地预测出(X=cancer),而不用任何文档的内容,因为这是一个在每日邮报上出现频率很高的实体。

为了防止这种退而求其次的解决方案并创建一个有意义的任务,我们通过以下步骤匿名化和随机化我们的语料库,a )使用共参照系统在每个数据点建立共参照;b )根据共指,用抽象实体标记替换所有实体;c )每当载入数据点时,随机置换这些实体标记。

比较表3中示例的原始版本和匿名版本。显然,人类读者可以正确回答这两个问题。然而,在匿名设置中,需要上下文document来回答query,而原始版本也可以由具有必要背景知识的人来回答。因此,按照这个程序,回答问题的唯一策略是利用每个问题所呈现的上下文来回答问题。因此,我们两个语料库上的表现真正衡量了阅读理解能力。自然地,生成系统将受益于所有可用的信息源,例如通过语言和共现统计的线索。

表2显示了任务的难度,显示了给定文档中前N个实体标记中包含正确答案的频率。请注意,我们的模型不区分实体标记和常规单词。这使得任务更加艰巨,模型更加通用。

3 Models

到目前为止,我们已经开始需要更好的数据集和任务来评估机器阅读模型的能力。我们通过描述一些baselines、benchmarks和新模型来对照这个范例进行评估。我们定义了两个简单的baseline,majority baseline (maximum frequency)选择context中最常见的实体,而exclusive majority (exclusive frequency) 选择context中最常见但query中不常见的实体。这种排除背后的想法是占位符不太可能在单个完形填空表单query中被提及两次。

3.1 Symbolic Matching Models

传统上,一种nlp模型的途径已经被用来尝试问题的回答,那些模型会利用语言标注,结构化数据知识,语义分析和其他相似的nlp方法输出。建立在这些方法上,我们为机器阅读任务定义了一系列的nlp核心的模型。

Frame-Semantic Parsing:语义构成解析尝试识别谓语和它们的内容,使得模型去获得一些如同「谁对谁做了什么事」的信息。自然,这种注释会被用来回答问题。我们将使用一个最先进效果的语法构成解析器来作为实验的benchmark。当解析器广泛使用语言信息时,我们在我们的语料库的未匿名版本上运行这些benchmarks。这里并没有优势,因为使用的语义构成解析方法除了在解析阶段利用一个语言模型之外,不具备概括整个语言模型的能力。因此,评价机器理解能力的关键目标得以保持。我们同时从query q和context document d中提取实体谓语三元组,被标记为(e1,V,e2),我们试著解决queries使用一些规则来平衡精准率和召回率,如表4

为了清晰的原因,我们假装所有的三元组是(e1,V,e2)的形式。实际上,我们将解析器的参数编号考虑在内,并且只进行相似的比较,除非是构成规则被置换,在这种情况下,排序是宽松的。在单个规则中有多个可能答案的情况下,我们随机选择一个。

Word Distance Benchmark:我们考虑另一个依赖单词距离测量的benchmark。这里,我们将完形填空表单问题的占位符与context document中的每个可能实体对齐,然后根据对齐的实体来计算问题和文档直接的距离衡量。这个分数是通过将q中的每个单词与d中最近对齐的单词的距离相加来计算的,其中对齐是通过直接匹配单词或通过共指系统对齐来定义的。我们调整验证数据集上每个单词的最大惩罚( m = 8 )。

3.2 Neural Network Models

神经网路已经成功地应用于NLP中的一系列任务。这包括分类任务,情感分析或词性标签,以及生成问题,如语言建模或机器翻译。我们提出了三种神经模型,用于从文档d回答查询q中估计单词类型a的概率:

其中V是辞汇表,W ( a )索引权重矩阵W的行A,并通过稍微滥用符号词类型来加倍作为索引。请注意,我们不区分实体或变数,模型必须学会在输入序列中区分它们。函数g ( d,q )返回文档和查询对的向量编码。

The Deep LSTM Reader: LSTM网路最近在机器翻译和语言建模等任务上取得了相当大的成功。当用于翻译时,Deep LSTMS显示出了将长序列嵌入向量表示中的非凡能力,该向量表示包含足够的信息以生成另一种语言的完整翻译。对于阅读理解我们的第一个神经网路模型测试了DeepLSTM编码器解决长序列的能力。我们先把我们的document喂给DeepLSTM,在一个分隔符之后,把query也喂进去。另外我们也试过先query再document。结果是,该模型将每个文档查询对作为单个长序列进行处理。给定嵌入的document和query,网路预测文档中哪个词回答了query。

我们使用一个Deep LSTM单元建立从每一个输入x(t)到每一个隐藏层的连接,以及每一个隐藏层到输出outputy(t)的连接:

其中||代表向量拼接h(t,k),是第k层在时间t的隐藏层。I,f,o分分别是输入,遗忘,输出门。因此我们的Deep LSTM模型被定义为 g^{LSTM}(d,q)=y(|d|+|q|) ,带著被标识符||分隔开的d与q的拼接。

The Attentive Reader: Deep LSTM阅读器必须在长距离上传播决策来连接queries到他们的答案。固定长度的隐藏层向量变成了信息流的瓶颈。受到翻译和图像识别成果的启发,我们提议使用attention机制。这个attention模型首先使用单独的双向单层LSTMS [ 19 ]对document和query进行编码。

我们标注前向和反向LSTMs的输出为 overrightarrow{y}(t)overleftarrow{y}(t) 。Query的长度为|q|的编码u是前向和反向传播的最后一步的拼接, u=overrightarrow{y_q}(t)(|q|)||overleftarrow{y_q}(1) 。对于document,每个在t位置的词的合成输出是 y_d(t)=overrightarrow{y_d}(t)||overleftarrow{y_d}(t) 。Document d的表示r是这些输出向量的加权和。这些权重被解释为模型在回答query时关注document中特定辞汇的程度:

其中yd是一个矩阵,其中的每一列都是document在第t个辞汇被组成的向量yd(t)变数s(t)是第t个辞汇被归一化的attention。给定attention评分,document的嵌入会被计算为词嵌入的加权和。模型会通过query和document的非线性结合来联合计算:

The Attentive Reader可以被看作是记忆网路应用于回答问题的概括。该模型在句子层面采用了注意力机制,每个句子都由嵌入向量来表示。Attentive Reader采用了一种更细粒度的标记级别注意机制,在该机制中,给定输入文档的整个未来和过去的上下文,所有词会被嵌入成一个向量。

The Impatient Reader:Attentive Reader可以集中注意到document中最有可能得到答案的段落。我们可以进一步升级到当query中的每个词被阅读的时候,模型都会重新阅读document。在query q的每一个词i,模型都会计算一个document表示向量r(i),使用的是双向嵌入

结果是是一种attention机制,它允许模型随著它读入各个query的词,不断地从document中累计信息,最终为答案预测输出一个query和document的联合向量表示。

4 Empirical Evaluation

在前一节中已经描述了许多模型,接下来我们将在我们的阅读理解语料库上评估这些模型。我们的假设是,神经模型原则上应该非常适合这项任务。然而,我们认为像LSTM这样简单的循环模型可能没有足够的表达能力来解决需要复杂推理的任务。因此,我们预计基于attention的模型将优于纯粹的基于LSTM的方法。

考虑到我们调查的第二个维度,传统和神经网路方法对NLP的比较,我们没有强烈的偏好使一种方法胜过另一种方法。尽管一些机构在过去几年中证明了神经模型优于经典方法,但这可能是所有自然语言处理的神经模型所固有的能力,这种固有能力对于真正的阅读理解模型带来的副作用到底是多大程度上的目前仍不清楚。这里呈现的任务的实体匿名化和置换方法最终可能会在这方面创造公平的竞争环境,有利于能够处理语法而不仅仅是语义的模型。

考虑到这些因素,本文的实验部分有三个目的。首先,我们想通过应用大量的模型来确定机器阅读任务的难度。其次,我们比较了基于语法解析的方法和神经模型的性能。第三,在所研究的神经模型组中,我们想确定每个组件对最终性能的贡献;也就是说,我们想分析LSTM能在多大程度上解决这个任务,以及各种attention机制在多大程度上影响性能。

所有模型超参数都在两个语料库各自的验证集上进行了调整。我们的实验结果见表5,Attentive Reader和 Impatient Reader在两个数据集上表现最好。

Frame-semantic benchmark:虽然本文提出的一个Frame-semantic模型是对nlp方法的简化,但是从符号NLP的角度来看,它确实突出了任务的难度。

在详细分析结果时,有两个问题非常突出。首先,Frame-semantic方法的覆盖率很低,许多关系没有被我们的解析器提取出来,因为它们没有遵循默认的谓词参数结构。这种影响也会被构成我们数据集中用作高亮部分的语言类型所加剧。第二个问题是,Frame-semantic方法不能简单地扩展到几个句子的情况,因此,frames需要去回答一个query。数据集中的大多数查询都是如此。

Word distance benchmark:更令人惊讶的可能是单词距离benchmark的相对强大的性能,特别是相对于frame-semantic benchmark,这个我们原本期望它表现得更好的模型。这里,数据集的特性可以解释这个结果。当frame-semantic模型由于hightlight中使用的语言而受到影响时,单词距离模型却会从中受益。特别是在每日邮报数据集的情况下,highlight经常与附录文章中的段落有显著的辞汇重叠,这使得单词距离基准变得容易。例如,「Tom Hanks is friends with X』s manager,Scooter Brown」这个query有词语「... turns out he is good friends with Scooter Brown, manager for Carly Rae Jepson」在context中。单词距离benchmark正确地对齐了这两者,而frame-semantic方法在解析query时未能获得这些关系。我们预计,在使用问题而不是完形填空查询的其他类型的机器阅读数据上,这个模型会表现得更差。

Neural models:在这里研究的神经网路中,Impatient和the Attentive Readers表现性能最出众。这与我们想像的一致,对于机器阅读和问题回答来说attention是一个关键的部分,因为信息需要远距离的传播。Deep LSTM模型效果出人意料地好,再一次证明简单的序列模型架构也能学习到抽象的长序列,即使词的长度最大可到2000。。然而,这个模型依旧差于基于attention的模型的性能,即使这些模型只使用单层LSTM。

Uniform Reader的糟糕性能支持了我们的想法,因为在应用attention的性能出色的模型中,和uniform Reader唯一的区别就是attention机制。图二中精准率和召唤率的数据显示了attention方法的强大。

我们把document上的attention机制可视化为一个热图,来获得模型性能的进一步了解。这些高亮的辞汇展现了document中哪些辞汇被模型所关注。此外,在每个词处的向量都通过双向LSTM编码器整合了很大范围文本处的信息,我们必须把这个纳入考虑。图3描绘了两个被attention Reader正确回答的两个queries的热图。在这两个例子中,都显示了模型想要到达正确的答案需要完成词性概括转换,如」killed」—>」deceased」,以及共指回指的解决,如」ent119 was killed」—>」he was identified」。然而,同样明显的是,该模型能够将这些signals与粗略的heuristic indicators相结合,例如query中词与候选答案的相似度。

5 Conclusion

本文为训练机器阅读理解模型的监督范例,对构建完整的自然语言理解系统的进步提供了一个具有前途的途径。我们展现了一个获得大量document-query-answer三元组的方法,并且显示了循环attention模型可以为此任务提供一个有效的模型框架。我们的分析显示attentive和impatient reader能够在长距离上传播和整合语义信息。特别地,我们相信attention机制的加入是这些成果的关键因素。

我们采用的attention机制只是一个非常普通的想法的实例,可以进一步研究。但是,结合世界知识和多document query也需要attention和嵌入知识的发展他们对于query的复杂度并不是随著数据大小线性上升。仍有许多需要更复杂推理或者更大范围推理的queries,我们的模型不能正确回答。因此,我们的数据提供了一个可衡量的挑战,可以支持未来的NLP研究。此外,使用我们描述的技术可以获得更大的训练数据集,这无疑让我们能够训练更有表现力和更精确的模型。

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

关注专栏

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

zhuanlan.zhihu.com图标
推荐阅读:

查看原文 >>
相关文章