【论文笔记】Neural Reading Comprehension And Beyond
备注
该论文为陈丹琦2018年发表的博士毕业论文。
原文
https://www.cs.princeton.edu/~danqic/papers/thesis.pdf
中文版(其他读者翻译)
https://chendq-thesis-zh.readthedocs.io/en/latest/introduction/Preface.html
摘要
阅读理解:如何建立计算机系统来阅读文本并回答理解性问题。
阅读理解是评估计算机系统对人类语言理解程度的重要任务,建立高性能的阅读理解系统或将是问答和对话系统等应用的关键技术。
神经阅读理解:基础
1 阅读理解概述
1.1 历史
构建自动阅读理解系统的历史可以追溯到四十多年前:例如Lehnert(1977)的QUALM系统,20世纪90年代后期,赫希曼等人(1999)创建阅读理解数据集,ANLP/NAACL(2000)
举办的阅读理解测试(作为计算机理解系统的评估)
2013至2015年间,阅读理解数据集在表述方面开始以三元组(短文、问题、答案)的形式收集。MCTEST(Richardson等人,2013年)收集了660个虚构的故事(提出了几个基于规则的基线)、PROCESSBANK是关于描述生物过程相关的二元选择问题。机器学习模型(Sachan等,2015)大多建立在简单的最大利润学习框架的基础上,具有丰富的人工设计语言特征,包括句法依赖性、共指消解、单词嵌入等。缺点:大程度依赖现有语言工具,很难构建有效特征,数据集很小。
转折点在2015年,DeepMInd的研究人员Hermann等人提出一个基于注意力的LSTM模型(THE ATTENTIVE READER)。优点:不依赖任何下游语言特征,利用单词嵌入可以减轻特征稀疏性,不需要构建大量人工特征。
1.2 任务定义
f :(p,q)→a 一段文本p和一个相应的问题q作为输入,答案a作为输出。
当前大多数阅读理解可分为4类:Cloze style、Multiple choice、Span prediction(跨度预测,也被称为抽取式问答,答案必须在文章中)、自由形式回答(允许答案是任意形式)。
评估标准:Cloze/Multiple(accuracy)、Sapn(EM、F1)、Span(BLEU等)
1.3 阅读理解vs问答
阅读理解强调文本理解,问答强调语言理解。
1.4 数据集和模型

2 阅读理解模型
2.1 基于特征的模型
作者等人2016年为Cloze style问题设计的基于特征模型,为候选实体集的每个实体构建特征向量并且学习权重,使得正确答案的权重向量比其余实体的权重向量排名要高。为每个实体构造所有特征向量后,可以应用任何机器学习算法(例如,逻辑回答、SVM等)
作者使用LambdaMART(吴等人,2010)算法,word distance、sentence co-occurrence等特征。
2.2 神经方法
关键思想:词嵌入、RNNs、注意机制
https://arxiv.org/pdf/1606.02858.pdf
数据集
实验结果

消融实验

2.3 未来进展
神经阅读理解最新进展,分为四类:单词表征、注意机制、替换LSTM、其他
Word Representations(单词表征):字符级嵌入(用字符级别的嵌入方式来表征单词,可以让模型在很少见的单词以及词库以外的单词上有提升)、语境化单词嵌入(与传统的词嵌入方式不同,传统方法中一个单词对应一个词向量,但是这个方法将单词的词向量表示为整个句子的函数,这样词向量能够反映更为复杂的特征,并且单词的向量还能根据上下文意思进行改变)
Attention Mechanisms(注意机制):有大量不同注意机制形式被用于阅读理解模型,旨在捕捉问题和文章之间的语义相似性。
Bidirectional attention(双向注意):双向注意与单向注意最关键的区别是它有问题到段落的注意力,意味着哪些段落单词与问题单词最相似,可以实现为:对于问题中的每个单词,我们可以计算所有文章单词的注意力图
Self-attention over passage(自我关注):对文章中词与词之间的关系进行研究,可以用来解决共指问题以及汇总文章信息。
Alternatives to LSTM(替换LSTM):本文中讨论的模型都是基于RNNs,特别是LSTMs。增加神经网络深度可以提高模型的容量以及性能,但深度到达一定程度后,会面临一些问题(梯度消失/扩展性差等)后面出现了LSTM的替代:如谷歌的transformer模型,运用residual connection(残差连接)和注意力机制可快速进行多层训练;QANET堆叠多个卷积层,使用自注意力机制和全连接层提高了性能;改进的simple recurrent unit(SRU轻量递归单元),通过层堆叠简化递归并保持性能。
others:改进训练目标/训练函数,数据增强(为阅读理解模型创造更多训练数据的技巧,例如反向翻译)。
不同组件在SQuAD上的一些进展

3 阅读理解的未来
最近阅读理解的成功归因于大规模数据集的创建和神经阅读理解模型的发展,在未来,这两部分仍然同等重要。
如果分散注意力的句子被允许添加不合法的单词序列,表现会很差。这些表明:
1,目前的模型强烈依赖于文章和问题之间的词汇线索。
2,尽管目前的模型在最初的开发集上达到了很高的精确度,但是健壮性并不高。
类似于SQuAD数据集存在的局限性:
1,问题是根据文章提出来的。如果提问者看着文章提问,很大可能会反映句子结构并且使用相同的单词,这导致问题单词和短文单词的重叠。
2,只允许在文章用一个跨度回答问题,这不仅意味着所有的问题都是可以回答,并且排除了许多可能提出的问题,例如计数问题等。
3,大多数问题都可以用文章中的一个单句来回答,不需要多句推理。
3.1数据集
一些现有数据集的特点
TriviaQA:在构建相应的段落之前收集问题/答案对
RACE:中国初高中生英语考试中收集的多项选择数据集,比大多数现有数据集难。
NarrativeQA:根据维基百科上一本书/一部电影的情节摘要提问,答案是自由形式的人工生成文本。
SQuAD2.0:在SQuAD上增加了反面例子,这些问题不能从文章中得到答案。为了更好的处理数据集,系统不仅需要回答问题,还需要确定段落何时不支持答案,何时放弃回答。
HotpotQA:该数据集旨在构建需要多个支持文档来回答的问题,众包工作人员被要求根据维基百科的两个相关段落提问。
3.2模型
除了在标准数据集上获得更好的性能分数,以下要求对于未来的工作也非常重要。
速度和可扩展性:现有解决方案:TRANSFORMER、SRU
鲁棒性:如果在一个数据集上训练,并在另一个数据集上评估,由于不同的文本源和构造方法,性能将显著下降。可以考虑的切入点:如何创造更好的的对抗性训练融入其训练过程,更多研究迁移学习和多任务学习,打破监督学习的标准范式和创建更好的模型评估方式。
可解释性:不仅能够提供答案并且可以提供预测背后的理由。简单方法:学会从文档中提取片段作为支持证据,复杂方法:解释信息是如何联系在一起的。还可以考虑收集人类的解释,作为未来训练理论的监督。
3.3研究问题
1,如何衡量这一领域的进步:现有的评估标准是否能表明我们在阅读理解方面取得了真正的进步?用人类标准化测试来评价机器阅读理解系统性能可能是一个好策略;集成多个阅读理解数据集,而不是只在一个数据集上测试。
2,模型表征和架构哪个更重要:预训练出现使模型变得简单,也能达到很好的性能,但是捕捉文章特征减少,无法处理需要复杂推理的例子,这两者在未来可能需要结合起来。
3,需要多少训练样本:神经阅读理解的成功是由大规模的监督数据集驱动的,我们能一直依赖数据来提高性能吗?预训练的出现减小了数据集的规模,未来可能应该在无监督学习和迁移学习上进行更多的研究。
神经阅读理解:应用
备注
这一部分没有仔细读,后面有时间再找相关论文看看。
1 开放域问答
开放域问答是自然语言处理历史上一个由来已久的问题,开放领域问题回答的目标是建立自动计算机系统,该系统能够基于大量非结构化自然语言文档、结构化数据(例如知识库)、半结构化数据(例如表格)或者甚至诸如图像或者视频的其他形式来回答人类可能提出的任何种类的问题。
作者等人的DRQA侧重于使用维基百科作为唯一知识来源的问题回答。使用维基百科文章作为知识来源使得问答系统结合了大规模开放领域问答和文本机器理解的挑战。要回答任何一个问题,首d先奥的在500多万条中检索出几篇相关文章,然后仔细扫描,找出答案。神经阅读理解模型将在阅读检索到的文章/段落以获得最终答案过程中发挥关键作用。系统将维基百科作为文章的集合,不依赖其内部的图结构
https://arxiv.org/pdf/1704.00051.pdf
DRQA系统基本上由两部分组成:
1,用于查找相关文章的DOCUMENT RECOVER模块
2,阅读理解模型DOCUMENT READER,用于从单一文档或者多个文档中提取答案。
关键问题:如何为开放领域的问答环境训练阅读理解模块?
最直接的方法:使用SQuAD数据集训练语料库,因为它是建立在维基百科段落上的,但正如上面所提到的SQuAD数据集存在很多限制。
远程监管(Distant Supervision) 为了克服这种问题,提出了一种从其他问题回答资源中自动创建附加训练示例的方法,重新使用信息检索模块,获得与问题答案对相关的段落,然后创建(问题,答案,相关段落)三元训练示例来训练阅读理解模型。
评估 应该把模型放在哪些问答数据集上进行评估
选用的数据集:TREC、WebQuestions、WikiMovies
文档检索模块的性能
检索模块思想:运行模块检索维基百科的问题相关前5篇文章,没有和已知答案完全匹配的文章/段落都将会被直接丢弃,有短于25字符或长于1500个字符的段落都将被直接丢弃,如果在问题中检测到任何命名实体,我们将删除任何不包含它们的段落,使用问题和20个标记窗口之间的unigram和bigram重叠对匹配答案的所有位置进行评分,保持最高重叠的前五个段落。
bigram:二元散列法

基于完整的维基百科结果
FT:Fine-tune(DS)
MT:Multitask(DS)
DrQA*:结果取自Rasion等(2018)
未来的工作:从多个段落中收集证据、使用更多更好的训练数据、使检索模块可训练,使用更好的神经阅读模型、需要更多的分析。
2 会话式问答
https://arxiv.org/pdf/1808.07042v1.pdf
CoQA:用于构建会话式问答系统(CoQA系统)的新数据集。开发这个数据集由三个目标:1.关于人类对话中问题的本质,2.保证对话中回答的自然性,3.建立跨领域也能稳定运行的问答系统
CoQA数据集所涉及领域
hu
继续解释了CoQA比别的数据集更具有会话性的原因
PGNET模型

混合模型:将会话模型PGNET和阅读理解模型Stanford unified reader结合,因为阅读理解模型可以预测作为答案的文本跨度,但是不能产生与文章不重叠的答案,但PGNET可以有效的生成自由形式的答案,在这个混合模型中,我们可以使用阅读理解模型首先指向文本中的答案证据,然后PGNET将证据自然化为最终答案。
实验结果
模型和人类相比仍存在一定的差距。
模型改进方向:
1.如何更好的把对话历史和当前的问题联系起来。
2.可以尝试将混合模型改为管道模型。
3.可以将收集的答案解释更好的运用到训练模型中。
结束
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
