背景介绍
大量的带有标记的语料库,是构建具有良好阅读理解能理系统的基础前提。然而人工标注需要专业灵活的设计,耗费大量的人力和财力。本文主要用到的语料库还是Hemann等人在2015年发表的文章《Teaching Machine to Read and Comprehen》中构建的CNN/Daily Mail语料库,生成该数据集的代码。针对该数据集,本文着重分析什么水平的能力才能满足阅读理解需求。
任务介绍
任务模式如上图,每个样本包含(p,q,a)三种元素,分别对应passage、question、answer。
数据集简要分析如下:
模型介绍
为了更深入理解该数据集的本质,本文重要构建了两种模型是:传统基于特征的分类模型、端到端的神经网络模型(基于Hermannn的Attention Reader)。第一个模型主要目的在于探索进行RC任务时,那些特征的影响因素较大。
1.Entity-Centric Classifier
为了得到
- entity e是否出现在passage中
- entity e是否出现在query中
- entity e在passage中出现的频率
- entity e在passage中首次出现的位置
- n-gram匹配:query中placeholder左右的词是否与passage中entity e左右的词匹配
- entity e和placeholder按位对齐后计算词距
- entity e和其他实体或动词,是否在q和p中同时出现
- 语义依赖匹配
2.End-to-End Neural Network
在Hermann的AS模型上改进:
主要过程分为三个部分:Encoding、Attention、Prediction
Finally, the system adds a softmax functionon top of
模型创新点:
- 计算query和contex相关度时采用bilinear term代替tanh layer
- 拿到上下文权重向量以后,直接用来预测答案,在AS中又通过一个非线性层结合在了一起,验证表明这是多余的
- AS中预测答案时,匹配词典包括passage中所有的词,这里只考虑实体
第一个是模型的主要改进,后两者是为了简化模型。
结果分析
模型一:
可以看出 丢弃n-gram和frequency of e对模型准确率的影响最大,应该是最重要的两个影响因素。
模型二
结果表明,传统的特征匹配模型已经超过了当时绝大多数的模型效果,端到端的神经网络模型更是创造了新的state-of-the-art,并提高了5%以上。作者认为这样的结果已经接近准确率的天花板,数据集本身的问题限制了提升的空间,因此无需再研究更精致的模型,可以将重心转移到数据样本上。接下来作者采用抽样分析样本的方法探讨究竟是什么限制了准确率。
数据集分析
随机抽取100个样本,提前设定七种样本类型:
- 可以看出5、6客观上人类本身都无法保证理解的问题占25%,机器也只能懵了。
- 需要理解多句文本才能得到答案的问题只有2%。这为我们提供了新思路:把重心转移到寻找最匹配的单句文本,然后推理答案。
上图展示机器针对不同类问题的准确率。可以看出模型主要在paraphrasing、Partial clue这两类问题上体现出价值,也体现了深度学习方法比传统方法的优越性。
相关工作
- AttentiveReader(Hermann et al., 2015) based on CNN and Daily Mail datasets
- MCTest (Richardson et al., 2013)主要是短篇的小说故事,并带有what, why, how, whose, which这些类型的问题,数据集共有660篇,每篇带有四个问题,对于这个数据集,目前比较好的方法还是依赖于人工构建出来的句法和语义特征并结合上一些附加的先验知识
- Children Book Test (Hill et al., 2016)从儿童故事书中抽出连续的21个句子,将前20句作为passage,目标是预测出第21句中缺失的词。对于预测动词和介词,利用语言模型或rnn并结合词的上下文信息是比较有效的,但对命名实体以及普通名词则需要利用全文的信息去做预测。对于该数据集,目前比较好的方法是基于窗口的记忆网络(window-based memory networks)
- bAbI (Weston et al., 2016)人工构建的数据集,包含20种不同的推理类型,主要侧重于推理、归纳、演绎的能力,目前许多种类型的记忆网络在这个数据集上能获得比较好的效果。但是这个数据集的词表很小,只有100~200个词,而且语言变化相对简单,与实际数据有一定差距。