陈丹琦博士论文阅读笔记第二部分
第五章:开放域问答
在第一部分,主要是介绍了阅读理解的任务:从形式到近年来的发展,以及阅读理解系统的关键组成部分和未来的研究方向。但是,依旧不清晰的是阅读理解是否只是一种用来衡量对语言理解能力的任务。在第二部分,将回答这个问题,并且介绍一些应用工作以及在这些工作中神经阅读理解如何起到核心作用。
在本章,我们将开放域问答作为阅读理解的一种应用。开放域问答的目标是建立一个自动计算系统,该系统是基于庞大的非结构化自然语言文本集,结构化的数据(知识基),半结构化数据(表)甚至其他形式如图像和音频来回答人们提出的任何问题。
5.1回顾开放域问答系统;5.2介绍用于英语维基百科的DRQA开放域问答系统,该系统结合了信息检索模块和阅读理解模块。并且讨论了如何采用远程监督技术来提高系统性能;在5.3提出在多个测试集上综合评估;最终在5.4讨论当前的限制以及随后的工作和未来的规划。
5.1 开放域问答的回顾
从1999年,对于QA的研究在TREC比赛中首次加入,从文本中找出包含开放问题的答案的一些小段落。该系统以及随后的一些研究都是包含两个部分:首先从问题出发检索到与之相关的top n个段落;然后用基于窗口的评分系统来精确定位到具体的答案。随着 knowledge bases (KBs) 如 FREEBASE (Bollacker et al., 2008) 和DBPEDIA (Auer et al., 2007)发展,很多问答系统像BQUESTIONS (Berant et al., 2013) and SIMPLEQUESTIONS (Bordes et al., 2015) ,以及一些自动提取KBs的OpenIE triples and NELL (Fader et al., 2014)出现。这种KBs 的问答系统主要是基于语义分析或者信息提取技术 (Yao et al., 2014),有很多固有的限制(数据不完全,模式固定),因此激励研究者从原始文本源头开始研究。
同样的有很多其他的方法通过混合各种资源包括收集文本(Web pages, Wikipedia, newswire articles)和结构数据库(FREEBASE, DBPEDIA etc.)。Microsoft’s ASKMSR (Brill et al., 2002), IBM’s DEEPQA (Ferrucci et al., 2010) 和
YODAQA (Baudisˇ, 2015) 。ASKMSR是搜索引擎,依靠大量的数据而非复杂语言分析来提供答案;DEEPQA最具代表性的现代问答系统,非结构信息和结构数据共同生成候选答案(图示);YODAQA开源系统,类似于DEEPQA,结合了网站,数据库和维基百科。
5.2 DRQA
5.2.1 overview
作者提出的DRQA将Wikipedia作为唯一的知识源,并且只考虑文本内容。旨在建立一个知识问答系统,对于提出的任何百科问题,都可以从wikipedia中给出答案。
选择维基百科的原因是因为它包含一个最新的,各种人们感兴趣的内容;很多阅读理解数据集也是来源于维基百科,便于对比;维基百科文本质量高。
系统包括两部分内容:1. 内容检索,找出相关的文章;2.阅读理解模型,从单个或多个文本提取答案。虽然使用Wikipedia收集数据,但不依赖于其内部的图结构。因此,这种方法可以适用与其他的文档,书记或者日报等内容。
5.2.2 Document Retriever
参考传统的QA系统,使用一种有效的(非机器学习)文档检索系统首先减少搜索空间将范围限制在只阅读相关文档。与内置的基于ElasticSearch的Wikipedia Search API(Gormley和Tong,2015)相比,简单的反向索引查找和检索词向量模型评分在许多问题类型的任务上表现得相当好。 一些注意点:TF-IDF词袋模型,采用n-gram特征(两元和一元),最后选取5篇相关文章进入第二步骤。
5.2.3 Document Reader
类似于跨度阅读理解问题,从5篇文档中提取出可能答案。将阅读理解模型应用在5篇文章的每个段落中计算出跨度得分。为了使一个或多个检索到的文档的段落之间的分数兼容,使用非标准化指数,并在所有考虑的段落跨度上使用argmax()作为最终预测,当然这只是一种启发式方法,在5.4中会讨论未来的工作。
5.2.4 Distant Supervision
结合传统的信息检索和之前的神经阅读理解内容之后,就只剩下训练的问题了。但是SQUDA数据集存在有一定的缺陷:问题对的分布是不一致的,问题是上下文相关的,数据集较小(80k训练样本)。为了克服这些问题,需要采用一种方法增加训练样本。就是再次使用之前的信息检索模块:如果我们有一个问题对
(
q
,
a
)
(q,a)
(q,a),检索模块帮助我们找到相关问题
q
q
q的段落与答案
a
a
a在段落中出现的部分,然后我们建立一个远程监督训练样本如
(
p
,
q
,
a
)
(p,q,a)
(p,q,a)的形式训练阅读理解模型:
这种方法受 Distant Dupervision (Mintz et al., 2009)用于关系提取的启发。尽管得到的样本存在噪声,但是这种方法对于SQUAD的扩充用于开放域问答是一种方便的方法,5.3讨论有效性。
5.3 Evaluation
5.3.1 Question Answering Datasets
TREC:Baudis and ˇ Sediv ˇ y` (2015)
WebQuestions:Berant et al. (2013)
WikiMovies:Miller et al. (2016)
可能多个问题有多个答案
Implementation Details
5.3.2.1 Processing Wikipedia
只提取维基百科文本信息,时间戳2016-12-21,共包含5,075,182文章
5.3.2.2 Distantly-supervised data
第一步,信息检索莫鲁埃对问题检索出对应的top5 文章,文章中与答案没有精确匹配的段落删除,段落小于25或长于1500的也滤除,段落中如果出现命名实体,移除其他不包含的段落;对于检索余下的段落,采用unigram 和 bigram对于检索到的每个页面中的每个剩余段落,我们采用unigram和bigram在问题与20个词窗口匹配答案,所有位置进行评分,保持重叠最多的前5个段落。如果有零匹配就删除,然后添加DS训练对。
5.3.2.3 Document Retriever Performance
5.3.4 Final Results
DRQA system:github
Future Work
Aggregating evidence from multiple paragraphs: DRQA采用的是argmax,这种方法简单但不理想,主要是它不仅意味着每篇文章必须包含答案并且最终只输出一个答案,而且并没有保证不同文章之间的得分具有可比较性。Clark and Gardner (2018)提出多段训练,标准化得分的方法。Wang et al. (2018a) 和 Wang et al. (2018b)提出将检索文章显示排序的方法:用强化学习对重排和答案提取联合训练,以及strength-based re-ranker和coverage-based re-ranker。
**Using more and better training data.**获得更多,改进现有的数据集。 Lin et al. (2018)对远程监督数据去噪。增加负样本也会提高性能
Making the DOCUMENT RETRIEVER trainable:用机器学习的方法进行信息检索, Clark and Gardner (2018)采用Bing web search。
**Better DOCUMENT READER module.**以及 More analysis is needed.,对现有系统深入研究并且与早期的TREC QA结果做对比找出需要改进的地方。建立一个端到端的问答系统是作者更感兴趣的研究方向。
第六章:对话问答
针对对话系统中的问题进行研究。
6.1介绍最近相关工作;6.2介绍CoQA,其中数据集包含127k问题和答案,分别来源于8k文本对话和7个不同领域;6.3介绍模型;6.4介绍实验结果。
6.1 Related Work
最常见的两种对话系统:用于某种任务的对话系统和用于闲谈交流的系统。对于任务型,往往是根据任务完成度或者是时间来衡量,而闲聊的往往是没有特殊的目标。
综述神经网络方法对话系统(Gao et al., 2018)1 。我们的工作和(Das et al., 2017)2
(Saha et al., 2018)3 ,(Talmor and Berant,2018)3 类似。但是我们的对话是基于文本和段落的。
6.2 CoQA:A Conversational QA Challenge
在这一小节主要介绍CoQA数据集。发展CoQA这个数据集主要有三个考虑的部分:第一,考虑人们对话时的提出问题的自然性;第二是保证在问答中答案的自然性(答案是自由形式,而答案的来源可以是基于跨度的);第三,确保问答系统的鲁棒性,可以适用于各种领域(文学,新闻,科技,自然等等)。
6.2.1 Task definition
(
Q
i
,
A
i
,
R
i
)
,
i
=
1...
n
,
(Q_i,A_i,R_i),i=1...n,
(Qi,Ai,Ri),i=1...n,分别对应question,answer,evidence. 问题
Q
i
Q_i
Qi是根据之前的对话
Q
1
,
A
1
,
.
.
.
,
Q
i
−
1
,
A
i
−
1
Q_1,A_1,...,Q_{i-1},A_{i-1}
Q1,A1,...,Qi−1,Ai−1.
其中的命名实体是不断改变的,如his,he等,要求我们能够推导出多个句子之间的关系。
6.2.2 Dataset Collection
详细的讲述了数据收集过程。
所选文章来源于七个领域:children’s stories from MCTest (Richardson et al., 2013), literature from Project Gutenberg4, middle and high school English exams from RACE (Lai et al., 2017), news articles from CNN (Hermann et al., 2015), articles from Wikipedia, science articles from AI2 Science Questions (Welbl et al., 2017) and Reddit articles from the Writing Prompts dataset (Fan et al., 2018)
6.2.3 Dataset Analysis
Comparison with SQUAD 2.0.
首先与SQUAD2.0相比:SQUAD2.0中不存在共指关系(he,him,she,it,they);SQUAD2.0几乎一半都是what问题。还有如did,was,is does,and都是几乎在SQUAD2.0中不存在的。而且问题的长度也有差别;并且AQUAD2.0中不存在无法回答的问题。并且CoQA又11.1%和8.7%的yes和no的问答。
另外说明了数据集问答中的一些语言现象:
30.5%的文图是不依赖于上下文中的共指关系而可以直接回答,但是又49.7%的包含明确的共指关系(he,she,it),这些都涉及到命名实体或者一个事件。而剩下的19.8%虽然没有明确指出共指关系但是也在隐含中指向事件或者实体。
Models
给定一段文本 p p p,对话历史 q 1 , a 1 , . . . q i − 1 , a i − 1 {q_1,a_1,...q_{i-1},a_{i-1}} q1,a1,...qi−1,ai−1以及问题 q i q_i qi,任务是预测下一个答案 a i a_i ai。
6.3.1 Conversational Models
Sequence-to-sequence(seq2seq)models加上注意力机制生成答案。Pointer-Generator network(PGNet)
6.3.2 Reading Comprehension Models
主要是用 STANFORD ATTENTIVE READER来做跨度预测,具体细节是3.2.
然后是混合两种模型。阅读理解模型预测文本跨度阅读,PGNet用来生成自由问答答案。
6.4 Experiments
Setup: GLOVE用于对话模型,FASTTEXT用于阅读理解模型。对于SEQ2SEQ 和 PGNET,使用OPENNMT默认参数,2层LSTM,编码解码都是500隐含单元,SGD优化,学习率0.1,衰减率0.5,dropout0.3.对于阅读理解模型,3层LSTMs,每层300隐藏单元,dropout0.4用于LSTM,词嵌入的dropout0.5
Result: 最好的混合结果是65.1(F1 score)相比人本身会的的88.8之间还有很大的进步空间
另外比较了细致划分问题和答案所属类型下的模型结果:
6.4.3 Error Analysis
从图6.6可以看到人在无法回答的问题上有更高的不一致性。有些时候,人们猜测一个答案甚至当它不存在文本中并且人对于抽象答案的回答更加广泛,缺乏一致性。
对话历史的重要性通过一个表格说明
Jianfeng Gao, Michel Galley, and Lihong Li. 2018. Neural approaches to conversationalAI. arXiv preprint arXiv:1809.08267 ↩︎
Abhishek Das, Satwik Kottur, Khushi Gupta, Avi Singh, Deshraj Yadav, Jose MF Moura,Devi Parikh, and Dhruv Batra. 2017. Visual dialog. In Conference on computer vision and pattern recognition (CVPR), pages 1080–1089 ↩︎
Amrita Saha, Vardaan Pahuja, Mitesh M. Khapra, Karthik Sankaranarayanan, and Sarath Chandar. 2018. Complex sequential question answering: Towards learning to converse over linked question answer pairs with a knowledge graph. In Conference on Artificial Intelligence (AAAI) ↩︎ ↩︎