teaching machines to read and comprehend 机器阅读与理解

1. 介绍

本篇论文主要解决了两个问题:

  1. 机器理解语言一直是一个难题,并且评估机器理解文字的能力可以用问答的形式来检验。
  2. 现在还没有大规模的数据集可以支持大家的训练和测试。
    这篇论文就是提出了一种基于attention的神经网络模型来完成完形填空的任务(以证明模型的理解能力),还提供了制造大量的标注数据的方法,来解决以上两个问题。并且用实验结果证明了attention的LSTM确实有良好的理解能力。

2. 制造标注数据

训练模型的理解能力离不开大量的训练语料,而人工标注的方式费时费力,目前还没有很好的数据集。之前的研究数据集数量级在百这个级别。所以大部分都用于测试,所以之前的研究方法大都利用关系抽取+知识图谱的方式进行。而之前有人用生成的方式来生成一部分训练语料,但是把训好的模型放到真实环境中,实验结果表明模型的泛化能力不足,毕竟真实世界的语料内容更丰富,更复杂,噪声也更多。因此要在这一问题上提高表现,一定要先解决语料来源的问题。
作者说他们的方法是从报纸(CNN和Daily Mail)上爬取语料,利用新闻标题、摘要和新闻内容作为训练语料。摘要作为query,把其中的实体作为完形填空的目标answer,文章作为document,这就是一个query-answer-context三元组。有了实体识别技术的帮助,就可以获取大量的语料用于训练。
利用这种方法,作者爬取了CNN和Daily Mail 2007年~2015年的新闻,并且划分了训练集和数据集,统计一下,实体、文章、摘要的数量如下图所示:


image.png

可以看到这个数据集的量级远超之前方法得到的数据集。

3. 机器理解实验设计

3.0 实验目标:完形填空(Cloze)检验机器理解能力

作者认为,完形填空这种任务可以检验机器学习模型的理解能力。考虑条件概率: p(a|c, q) 其中a代表answer,c代表context,q代表query。
有些情况下,模型仅仅利用共现就可以完成一部分完形填空,比如说:
a) The hi-tech bra that helps you beat breast X;
b) Could Saccharin help beat X ?;
c) Can fish oils help fight prostate X ?
因为cancer这个实体经常出现在Daily Mail的报纸上,模型可以利用单词对的共现推断出X=cancer。为了排除这种共现带来的影响,作者做了匿名化和随机化:

  1. 建立共指系统(大概意思就是把指向同一含义的短句或者单词标注为同一个实体,这样就有了一个实体表),建立每个数据点的共指。
  2. 根据实体对应,把文中的单词替换为实体编号。
  3. 拿到一条数据时,随机更换实体的顺序。(这个不太懂,大概指实体在实体表中的index吧)
    比如把一个关于诉讼问题的文章中的实体进行处理,如下图所示。


    image.png

利用上述方法构造的三元组,answer(完形填空的目标词)出现在context中前N词频的概率是多少呢?统计结果如下图所示:


image.png

也就是说,如果单纯利用统计信息猜一个出现频率最高的单词,正确的概率大概是25%~30%。如果模型的表现高于这个结果,说明模型具备一定的阅读理解能力。

3.1 Baseline设计:传统方法实现完形填空

为了对比神经网络和传统机器学习方法的性能,作者设计了三种传统机器学习做完形填空的模型:

1. Frame-Semantic Parsing(主谓宾解析)

因为主谓宾包含了“谁对谁做了什么”这样的信息,所以主谓宾解析的方法天然就适合拿来做实体的完形填空。


image.png

利用以上的6种策略,在query中提取的主谓宾和context中提取的主谓宾做一个对应,就可以预测完型填空的结果。如果context中的主谓宾有多个跟query中的匹配,那就随机选一个。

2. 单词距离

这个方法很有意思,就是把query中的单词词向量拿出来,比如说query的空缺 之前有3个单词,之后有10个单词,那就以14为window size 去context中逐个匹配,找到一个长度为14,WMD最小的span,其中对应空缺的那个单词就是该query的answer。
感觉这个方法还是挺神奇的思路。最后实验结果也表明它还是很有效的。比较词向量也是语言模型比较先进的方法了。

3.2 论文的实验模型设计

1. BI-LSTM方法

image.png

正统的双向LSTM模型,作者把query和context连接起来,中间加一个分隔符,放入到神经网络中,模型还得自己判断到底哪个是需要补全的单词,那些是实体,那些只是单纯的token。
本LSTM模型(记为模型A)的中各个门和输入输出的计算如下:


image.png

其中t代表时刻,k代表隐层,ifo就是那些门。可以看到论文给出的还是同一时刻,不同层之间的递推关系。我们拿来和经典的LSTM(记为模型B)定义比较一下:


image.png

模型A中的x’(t)跟模型B中的zt比较接近。模型A中的y’指的是本时刻,上一层的输出(或者下一层的输出),这种写法是按照代码的逻辑来编写的,外面套一个循环语句就可以形成时刻t的多重隐层了。不过模型A并没有给出时刻之间的递推关系,只能认为是跟经典的LSTM(模型B)一致吧。
这种经典的结构,最后的输出g可能存在长序依赖的问题。

2. attentive方法(带有attention机制的LSTM)

image.png

context的表示方法R向量跟正常的LSTM相同,而query的表示向量U跟正常的LSTM相比略有不同,如下图所示,是将双向LSTM的一个方向最后的输出和另一个方向最后的输出拼接起来:


image.png

众所周知attention是需要计算注意力score的,计算score的方式有很多,本文采用的是最简单的向量相乘的方式。


image.png

其中S(t) 就是分数,每个单词的向量yd最后跟分数相乘,得到句子表示R。R再跟query的向量表示U过一个非线性层,得到最终输出G:


image.png

3. impatient方法(改造attention机制的LSTM)

image.png

这里对attentive reader做一个改造,让query向量u去对r做多次attention,计算表示如下:


image.png

经过几层叠加之后,再由r和u 得到g:


image.png

4. 实验结果

image.png

可以看到,就像我们之前说的,选词频最高的那个单词作为answer的准确率是25%/30%,而去掉跟query重合的最高词频单词准确率是32%/36%。用主谓宾来找的话。准确率相差不多。而用带有语言模型的word distance来做的话,准确率达到了50%/56%。
而用深度学习模型进行建模的话,准确率更高一些。经典LSTM的准确率是55/63, 加入attention机制的模型达到了61/70 。
另外作者对attention的权重进行可视化,发现attention确实挺神奇的:

image.png

5. 结论

  1. 作者提供了一种可以大量标注数据集的方法,这种方式也会有利于后续的研究。
  2. 作者提供了一种深度神经网络(LSTM+attention)用于机器阅读理解的方法,并且在大数据集上取得了良好的效果。
  3. 这种相对来说简单的LSTM+attention可以取得非常好的效果,考虑到深度学习模型具有不随着数据集线性增大的特点,它还是很值得深入研究的。后续可以考虑如何把常识知识和多query查询融合进来。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,997评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,603评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,359评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,309评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,346评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,258评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,122评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,970评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,403评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,596评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,769评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,464评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,075评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,705评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,848评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,831评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,678评论 2 354