Teaching Machines to Read and Comprehend

昨天的文章text comprehension系列的第一篇,是最近刚刚submit的文章,今天分享一篇去年的文章,也是一篇非常经典的文章。我记得Yoshua Bengio在Quora Session一个问题中推荐这篇文章。本文的题目是Teaching Machines to Read and Comprehend,作者是来自Google DeepMind的科学家Karl Moritz Hermann,是Oxford的博士后,两家机构的合作好多,很多文章都是一起写的。

本文的贡献主要有两点:一是提出了一种构建用于监督学习的阅读理解大型语料的方法,并开源在Github上,并且给出了两个大型语料,CNN和Daily Mail;二是提出了三种用于解决阅读理解任务的神经网络模型。

首先,聊一聊语料的构建方法。基本的思路是受启发于自动文摘任务,从两个大型的新闻网站中获取数据源,用abstractive的方法生成每篇新闻的summary,用新闻原文作为document,将summary中去掉一个entity作为query,被去掉的entity作为answer,从而得到阅读理解的数据三元组(document,query,answer)。这里存在一个问题,就是有的query并不需要联系到document,通过query中的上下文就可以predict出answer是什么,这也就失去了阅读理解的意义。因此,本文提出了用entity替换和重新排列的方法将数据打乱,防止上面现象的出现。这两个语料在成为了一个基本的数据集,后续的很多研究都是在数据集上进行训练、测试和对比。处理前和后的效果见下图:

接下来,介绍下本文的三个模型:

用神经网络来处理阅读理解的问题实质上是一个多分类的问题,通过构造一些上下文的表示,来预测词表中每个单词的概率,概率最大的那个就是所谓的答案。说起这一点,不禁想起了一个有趣的说法,任何nlp任务都可以用分类的思路来解决。

1、Deep LSTM Reader

看上图,其实非常简单,就是用一个两层LSTM来encode query|||document或者document|||query,然后用得到的表示做分类。

2、Attentive Reader

这个模型将document和query分开表示,其中query部分就是用了一个双向LSTM来encode,然后将两个方向上的last hidden state拼接作为query的表示,document这部分也是用一个双向的LSTM来encode,每个token的表示是用两个方向上的hidden state拼接而成,document的表示则是用document中所有token的加权平均来表示,这里的权重就是attention,权重越大表示回答query时对应的token的越重要。然后用document和query的表示做分类。

3、Impatient Reader

这个模型在Attentive Reader模型的基础上更细了一步,即每个query token都与document tokens有关联,而不是像之前的模型将整个query考虑为整体。感觉这个过程就好像是你读query中的每个token都需要找到document中对应相关的token。这个模型更加复杂一些,但效果不见得不好,从我们做阅读理解的实际体验来说,你不可能读问题中的每一个词之后,就去读一遍原文,这样效率太低了,而且原文很长的话,记忆的效果就不会很好了。

实验部分,作者选了几个baseline作为对比,其中有两个比较有意思,一是用document中出现最多的entity作为answer,二是用document中出现最多且在query中没有出现过的entity作为answer。这个和我们在实际答题遇到不会做的选择题时的应对策略有一点点异曲同工,所谓的不会就选最长的,或者最短的,这里选择的是出现最频繁的。

最终的结果,在CNN语料中,第三种模型Impatient Reader最优,Attentive Reader效果比Impatient Reader差不太多。在Daily Mail语料中,Attentive Reader最优,效果比Impatient Reader好了多一些,见下表:

开始在看语料构建方法的时候,我在想应该是用extractive的方法从原文中提取一句话作为query,但看到paper中用的是abstractive的方法。仔细想了一下,可能是因为extractive的方法经常会提取出一些带有指示代词的句子作为摘要,没有上下文,指示代词就会非常难以被理解,从而给后面的阅读理解任务带来了困难,而用abstractive的方法做的话就会得到质量更高的query。本文的最大贡献我认为是构建了该任务的大型语料,并且配套了三个神经网络模型作为baseline,以方便后面的研究者进行相关的研究,从很大地程度上推进了这个领域的发展。

来源:paperweekly

原文链接

时间: 2024-10-28 23:32:23

Teaching Machines to Read and Comprehend的相关文章

【资源】用深度学习解决自然语言处理中的7大问题,文本分类、语言建模、机器翻译等

本文讲的是用深度学习解决自然语言处理中的7大问题,文本分类.语言建模.机器翻译等,自然语言处理领域正在从统计学方法转向神经网络方法.在自然语言中,仍然存在许多具有挑战性的问题.但是,深度学习方法在某些特定的语言问题上取得了state-of-the-art的结果.不仅仅是在一些benchmark问题上深度学习模型取得的表现,这是最有趣的:事实上,单个模型可以学习单词的含义和执行语言任务,从而避免需要一套专门的.人工的方法. 这篇文章将介绍深度学习方法正在取得进展的7类有趣的自然语言处理任务. 文本

深度学习零基础进阶第四弹!|干货分享

编者按:时隔一段时间,雷锋网独家奉送的深度学习零基础进阶第四弹又来了!经过前面三篇文章的研究和学习,相信大家在深度学习的方式与深度学习在不同领域的运用都有了一定的了解.而本次雷锋网(公众号:雷锋网)所推荐的论文,主要集中于自然语言处理层面,相对于此前比较枯燥的理论阶段,相信以下的内容会更能让初学者们有的放矢.原文首发于 GitHub,作者 songrotek,文章名为<Deep-Learning-Papers-Reading-Roadmap>,雷锋网对每篇论文都增加了补充介绍,未经许可不得转载

PaperWeekly 第38期 | SQuAD综述

" 胡明昊 国防科学技术大学博士生 SQuAD比赛第三名 研究方向为自动问答系统 1. 引言 教机器学会阅读是近期自然语言处理领域的研究热点之一,也是人工智能在处理和理解人类语言进程中的一个长期目标.得益于深度学习技术和大规模标注数据集的发展,用端到端的神经网络来解决阅读理解任务取得了长足的进步.本文是一篇机器阅读理解的综述文章,主要聚焦于介绍公布在 SQuAD(Stanford Question Answering Dataset)榜单上的各类模型,并进行系统地对比和总结. 2. SQuAD简

126篇殿堂级深度学习论文分类整理 从入门到应用 | 干货

如果你有非常大的决心从事深度学习,又不想在这一行打酱油,那么研读大牛论文将是不可避免的一步.而作为新人,你的第一个问题或许是:"论文那么多,从哪一篇读起?" 本文将试图解决这个问题--文章标题本来是:"从入门到绝望,无止境的深度学习论文".请诸位备好道具,开启头悬梁锥刺股的学霸姿势. 开个玩笑. 但对非科班出身的开发者而言,读论文的确可以成为一件很痛苦的事.但好消息来了--为避免初学者陷入迷途苦海,昵称为 songrotek 的学霸在 GitHub 发布了他整理的深

A Thorough Examination of CNN/Daily Mail Reading Comprehension

本篇是reading comprehension系列的第三篇,文章于2016年6月9号submit在arxiv上,比之前介绍的Gated-Attention Readers for Text Comprehension更晚地出现,但尴尬的是本文的模型结果不如GA Reader.6月7号submit的一篇Iterative Alternating Neural Attention for Machine Reading,用了和GA非常类似的方法,得到了稍微差一点的结果.确实最近在arxiv上常常可

【邓侃】DeepMind 机器理解文本 NLP 技术复现与解析

一. 要解决什么问题,难度在哪里? Google DeepMind 团队在 NIPS 2015 发表了一篇题为 "Teaching Machines to Read and Comprehend" 的论文 [1].这篇论文想解决的问题是:如何让计算机回答提问.具体来说,输入一篇文章(d)和一句提问(q),输出文章中的一个词组,作为回答(a). 譬如输入以下这段文章, The BBC producer allegedly struck by Jeremy Clarkson will no

深度学习零基础进阶第四弹​|干货分享

雷锋网曾编译了<干货分享 | 深度学习零基础进阶大法!>系列,相信读者一定对深度学习的历史有了一个基本了解,其基本的模型架构(CNN/RNN/LSTM)与深度学习如何应用在图片和语音识别上肯定也不在话下了.今天这一部分,我们将通过新一批论文,让你对深度学习在不同领域的运用有个清晰的了解.由于第三部分的论文开始向细化方向延展,因此你可以根据自己的研究方向酌情进行选择.雷锋网对每篇论文都增加了补充介绍.这一弹主要从自然语言处理以及对象检测两方面的应用进行介绍. 本文编译于外媒 github,原文标

(zhuan) Where can I start with Deep Learning?

Where can I start with Deep Learning? By Rotek Song, Deep Reinforcement Learning/Robotics/Computer Vision/iOS | 03/01/2017       If you are a newcomer to the Deep Learning area, the first question you may have is "Which paper should I start reading f

(zhuan) 126 篇殿堂级深度学习论文分类整理 从入门到应用

126 篇殿堂级深度学习论文分类整理 从入门到应用 | 干货 雷锋网  作者: 三川 2017-03-02 18:40:00 查看源网址 阅读数:66     如果你有非常大的决心从事深度学习,又不想在这一行打酱油,那么研读大牛论文将是不可避免的一步.而作为新人,你的第一个问题或许是:"论文那么多,从哪一篇读起?" 本文将试图解决这个问题--文章标题本来是:"从入门到绝望,无止境的深度学习论文".请诸位备好道具,开启头悬梁锥刺股的学霸姿势. 开个玩笑. 但对非科班出