(34)[NIPS15] Teaching Machines to Read and Comprehend

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_37993251/article/details/88995643

计划完成深度学习入门的126篇论文第三十四篇,DeepMind的Karl Moritz Hermann等发表的人机问答的论文。


Abstract

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


1 Introduction

从少量的bag-of-words检索算法到能够阅读和理解文档的机器,这一过程进展缓慢。传统的机器阅读和理解方法要么基于手工设计的语法[1],要么基于检测谓词参数三元组的信息提取方法,这些方法稍后可以作为关系数据库[2]查询。由于缺乏大规模的训练数据集,以及难以构造足够灵活的统计模型来学习如何利用文档结构,监督机器学习方法在很大程度上缺乏这种方法。

虽然获得有监督的自然语言阅读理解数据被证明是困难的,但一些研究人员已经探索了生成合成叙事和查询的方法[3,4]。这种方法允许生成几乎无限数量的监督数据,并使研究人员能够隔离他们的算法在单个模拟现象上的性能。对这些数据的研究表明,基于神经网络的模型有望为阅读理解建模,我们将在此基础上进行构建。然而,从历史上看,计算语言学中的许多类似方法都未能管理从合成数据到真实环境的转换,因为这种封闭的世界不可避免地未能捕捉到自然语言[5]的复杂性、丰富性和噪声。

在这个工作我们寻求直接解决缺乏真正的自然语言训练数据通过引入一种新颖的方式建立一个监督阅读理解数据集。我们观察,总结和解释句子,与它们相关的文档,很容易转化为上下文查询回答三元组使用简单的实体检测和匿名化算法。使用这种方法,我们收集了两个新的语料库,其中包含了来自CNN和每日邮报网站的大约一百万篇新闻报道,以及相关的查询。

我们通过建立新的阅读理解深度学习模型来证明新语料库的有效性。这些模型借鉴了最近将注意力机制纳入递归神经网络体系结构的研究进展[6,7,8,4]。这使得模型能够关注它认为将帮助它回答问题的文档的各个方面,并且允许我们可视化它的推理过程。我们将这些神经模型与一系列基线和启发式基准进行比较,这些基准是基于由最先进的自然语言处理提供的传统框架语义分析(NLP)pipeline。我们的结果表明,神经模型实现了更高的精度,而且不需要对文档或查询结构进行任何特定的编码。


2 Supervised training data for reading comprehension

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

这种方法需要一个包含文档查询和答案三元组的大型训练语料库,到目前为止,这种语料库仅限于数百个示例,因此大多数只用于测试[9]。这一限制意味着该领域的大多数工作都采用了非监督方法的形式,这种方法使用模板或语法/语义分析器从文档中提取关系元组,从而形成可以查询的知识图。

在这里,我们提出了一种方法,为学习阅读理解模型创建真实世界的大规模监督训练数据。受总结工作的启发[10,11],我们创建了两个机器阅读语料库,利用在线报纸文章及其匹配的摘要。我们收集了CNNDaily Mail网站上的93k篇文章和220k篇文章。这两家新闻提供者都用一些要点来补充他们的文章,总结文章中包含的信息的各个方面。最重要的是,这些摘要点是抽象的,而不是简单地从文档中复制句子。通过使用占位符一次替换一个实体,将这些要点转换为完成[12]风格的问题,我们构造了一个文档查询答案三元组语料库。这将产生一个大约有1M数据点的组合语料库(表1)。可以在线获得用于复制我们的数据集并将此方法应用于其他源的代码。http://www.github.com/deepmind/rc-data/

2.1 Entity replacement and permutation

注意,本文的重点是提供一个语料库来评估模型s阅读和理解单个文档的能力,而不是世界知识或共现。要理解这种区别,可以考虑以下填空表单查询(根据每日邮报验证集中的标题创建):b)糖精能帮助打败X吗?鱼油能帮助对抗前列腺X吗?在《每日邮报》上训练的n-gram语言模型很容易正确地预测出(X = cancer),而不管上下文文档的内容如何,原因很简单,因为这是《每日邮报》语料库中一个非常常见的治愈实体。

为了防止这种退化的解决方法,并创建一个重点任务,我们使用以下步骤对我们的语料库进行匿名和随机化,

扫描二维码关注公众号,回复: 5853031 查看本文章

a)使用一个coreference系统在每个数据点建立coreferents;

b)根据coreference用抽象的实体标记替换所有实体;

c)在加载数据点时,随机排列这些实体标记。

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

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


3 Models

到目前为止,我们已经激发了对更好的数据集和任务的需求,以评估机器读取模型的能力。我们将通过描述一些基线、基准和新模型来根据这个范例进行评估。我们定义了两个简单的基线,多数baseline(最大频率)选择上下文文档中观察到的最频繁的实体,而独占多数基线(独占频率)选择上下文中观察到但查询中没有观察到的最频繁的实体。这种排除背后的想法是,占位符不太可能在一个完形填空查询中被提到两次。

3.1 Symbolic Matching Models

传统上,人们使用NLP模型的流水线来尝试回答问题,即大量使用语言注释、结构化的世界知识和语义分析以及类似的NLP流水线输出的模型。基于这些方法,我们为机器阅读任务定义了许多以nlp为中心的模型。

Frame-Semantic Parsing 框架语义分析试图识别谓词及其参数,允许模型访问关于谁对谁做了什么的信息。当然,这种注释很容易被用来回答问题。我们开发了一个基准利用我们通过使用最先进的框架语义分析器解析模型得到的框架语义注释[13,14]。由于解析器广泛使用语言信息,我们在语料库的非匿名版本上运行这些基准测试。这没有什么明显的优势,因为这里使用的框架语义方法除了在解析阶段利用语言模型外,不具备通过语言模型进行泛化的能力。因此,保持了评价机器理解能力的关键目标。提取表示为(e1;V;e2)从查询q和上下文文档d中,我们尝试使用一些规则来解决查询,同时增加查全率/精确度的权衡,如下所示(表4)。​​​​​​​

为了清楚起见,我们假设所有的PropBank三元组都是(e1;V;e2)。在实践中,我们考虑了解析器的参数编号,并且只比较like和like,除非在排序比较宽松的情况下,比如perframe规则。在一个规则中有多个可能的答案的情况下,我们随机选择一个。

Word Distance Benchmark 我们考虑另一个依赖于单词距离测量的基线。在这里,我们将填空表单问题的占位符与上下文文档中的每个可能实体对齐,并计算问题与对齐实体周围的上下文之间的距离。这个分数是通过将q中的每个单词与其最近对齐的d中的单词的距离相加来计算的,在d中,对齐是由匹配的单词直接定义的,或者由coreference系统定义的。我们对验证数据调优每个单词的最大损失(m = 8)。​​​​​​​

3.2 Neural Network Models

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

 其中V为vocabulary, W (a)索引行a的权值矩阵W,并通过轻微滥用表示法将单词类型加倍作为索引。注意,我们不为实体或变量提供特权,模型必须学会在输入序列中区分它们。函数g (d;返回文档和查询对的向量嵌入。

The Deep LSTM Reader 长短时记忆(LSTM,[18])网络最近在机器翻译和语言建模[17]等任务上取得了相当大的成功。当用于翻译时,深度LSTMs[19]显示了将长序列嵌入到向量表示中的显著能力,该向量表示包含足够的信息,可以生成另一种语言的完整翻译。我们的第一个阅读理解神经模型测试了深层LSTM编码器处理较长序列的能力。我们将文档一个单词一个单词地输入一个深度LSTM编码器,在分隔符之后,我们还将查询输入编码器。另外,我们还尝试先处理查询,然后处理文档。结果,该模型将每个文档查询对处理为一个长序列。给定嵌入式文档和查询,网络预测文档中的哪个token将回答查询。​​​​​​​

我们使用了一个深度LSTM单元,从每个输入x(t)到每个隐藏层都有跳转连接,从每个隐藏层到输出y(t):

其中\left | \right |表示向量级联h(t, k)为第k层在t时刻的隐藏状态,i、f、o分别为输入门、遗忘门和输出门。因此,我们的深度LSTM阅读器由,输入x(t),用分隔符\left | | \right |分隔d和q。

The Attentive Reader 深度LSTM阅读器必须长距离传播依赖关系,以便将查询连接到它们的答案。固定宽度的隐藏向量形成了这种信息流的瓶颈,我们建议使用一种注意机制来规避这种瓶颈,该机制受到最近翻译和图像识别结果的启发[6,7]。该注意模型首先使用单独的双向单层LSTMs[19]对文档和查询进行编码。​​​​​​​

我们将前向和后向LSTMs的输出分别表示为。长度为的查询的编码u由最后的正向和反向输出串联而成,

对于文档,每个token在t位置的复合输出为:。文档d的表示形式r由这些输出向量的加权和构成。这些权重被解释为网络在回答查询时处理文档中特定token的程度

我们将yd解释为一个矩阵,每一列是文档token t的组合表示文档r的嵌入计算为token嵌入的加权和。通过定义联合文档和通过非线性组合嵌入查询,完成了模型的建立:

细心的读者可以看作是内存网络在回答[3]问题上的应用的概括。该模型在句级使用了一种注意机制,其中每个句子都由一个嵌入包表示。细心的读者使用更细粒度的token级别注意机制,在该机制中,将token嵌入到输入文档中给定它们的整个未来和过去上下文。

The Impatient Reader

细心的读者能够将注意力集中在最有可能提供查询答案的上下文文档段落上。我们可以更进一步,为模型配备在读取每个查询token时重新读取文档的能力。在查询q的每个tokeni处,模型使用双向嵌入计算文档表示向量r(i):

结果是一种注意力机制,当模型看到每个查询token时,它可以递归地从文档中积累信息,最终输出最终的联合文档查询表示,用于预测答案,


4 Empirical Evaluation

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

考虑到我们研究的第二个维度,即比较传统方法和神经方法对NLP的影响,我们并没有强烈的优先选择其中一种方法。尽管过去几年的许多出版物都证明了神经模型的性能优于经典方法,但目前尚不清楚这在多大程度上是任何神经lp模型固有的语言建模功能的副作用。这里介绍的任务的实体匿名化和排列方面可能最终会在这方面达到平衡,支持能够处理语法而不仅仅是语义的模型。

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

所有模型超参数都在两个语料库的各自验证集上进行了调优。我们的实验结果如表5所示,Attentive and Impatient Readers在两个数据集中表现得最好。

Frame-semantic benchmark 虽然本文提出的框架语义模型明显简化了从NLP管道中使用注释可以实现的功能,但它确实突出了从符号NLP角度进行处理时任务的难度。

在详细分析结果时,有两个问题突出。首先,框架语义管道的覆盖率很低,我们的PropBank解析器没有捕捉到许多关系,因为它们不遵循默认的谓词-参数结构。构成数据集基础的突出显示中使用的语言类型加剧了这种效果。第二个问题是,框架语义方法不能简单地扩展到需要几个句子(因此是框架)来回答查询的情况。对于数据集中的大多数查询都是如此。​​​​​​​

Word distance benchmark 更令人惊讶的可能是单词距离基准测试相对较强的性能,特别是相对于框架-语义基准测试,我们本以为它的性能会更好。同样,这里使用的数据集的性质可以解释这个结果的各个方面。当框架语义模型由于高亮显示中使用的语言而受到影响时,单词距离模型则从中受益。特别是在Daily Mail数据集的情况下,高亮显示经常与附带文章中的段落有显著的词汇重叠,这使得单词距离基准测试变得很容易。例如,询问汤姆汉克斯是X经理的朋友,斯科特布朗有这样一句话……事实证明,他和卡莉·雷·杰普森的经纪人斯科特·布朗是好朋友。单词距离基准测试正确地对齐了这两者,而框架语义方法在解析查询时无法获取友谊或管理关系。我们预计,在使用问题而不是完形填空查询的其他类型的机器读取数据时,这种特殊模型的性能会显著下降。​​​​​​​

Neural models 在这里探索的一组神经模型中,结果清晰地描绘出一幅画面,耐心和专注的读者表现得比其他所有模型都好。这与我们的假设一致,即注意力是机器阅读和回答问题的关键因素,因为需要远距离传播信息。深度LSTM阅读器的性能出奇地好,再次证明了这个简单的顺序体系结构可以很好地学习抽象长序列,即使它们的长度高达2000个token。然而,即使只使用单层LSTMs,该模型也不能与基于注意力的模型的性能匹配。

Uniform Reader的糟糕结果支持了我们的假设,即注意机制在注意模型的表现中的重要性,因为这些模型之间的唯一区别是,注意变量在统一阅读者中被忽略。图2中的precision@recall统计数据再次强调了专注方法的优势。我们可以将注意力机制可视化为上下文中的热度图,从而进一步了解模型的性能。突出显示的单词显示了模型关注文档中的哪些token。此外,我们还必须考虑每一点的向量​​​​​​​token通过双向LSTM编码器集成远程上下文信息。图3描述了细心的读者正确回答的两个查询的热点图。死者,并共同参照或回指决议,例如ent119被杀!他被确认。然而,同样明显的是,该模型能够将这些信号与粗略的启发式指标(如查询词与候选答案的接近度)集成在一起。​​​​​​​

5 Conclusion

训练机器阅读和理解模型的监督范式为在构建完整的自然语言理解系统的道路上取得进展提供了一个有希望的途径。我们演示了一种获取大量文档查询答案三元组的方法,并证明了基于递归和注意的神经网络为该任务提供了一个有效的建模框架。我们的分析表明,细心和缺乏耐心的读者能够远距离传播和整合语义信息。我们尤其认为,将注意力机制结合起来是这些结果的关键因素。

我们所使用的注意机制只是一个可以进一步利用的非常普遍的想法的实例。然而,将世界知识和多文档查询结合起来还需要开发注意力和嵌入机制,这些机制的查询复杂性不会随着数据集的大小线性增长。仍然有许多查询需要复杂的推理和长范围的引用解析,而我们的模型还不能回答这些问题。因此,我们的数据提供了一个可伸缩的挑战,应该支持未来的NLP研究。此外,使用我们描述的技术可以获得更大的训练数据集,这无疑允许我们训练更有表现力和更准确的模型。

猜你喜欢

转载自blog.csdn.net/weixin_37993251/article/details/88995643