Ricardson 等人在 2013 年发表的 MCTest 是较早的阅读明白数据集。[2] 它的总体情势和英语测验中的阅读明白单项选择题很像,一段用于提供信息的文本,加上 4 道包罗 1 个精确选项和 3 个公道错误选项的题目。
为了包管阅读的过程不必要过多的外部知识,MCTest 的标注职员(他们由作者在亚马逊的众包标注平台 Amazon Mechanical Turk 上招募而来)被要求撰写文档主体时,要留意文档必须确保是能被儿童明白的故事内容。
MCTest 一共包罗 660 个故事,2640 个题目。同时,论文作者还提出了几种基于规则或大量手工特性的方法,模子答复正确率在 60% 到 70%之间。MCTest 为后续的阅读明白数据集指明白方向,但由于数据量过少,以是难以顺应数据驱动的深度学习天然语言处置惩罚技能。
为了增长数据量,DeepMind 和牛津大学于两年后提出了 CNN/Daily Mail 数据集。[3] 为了节省标注本钱,数据集的作者将消息择要中的某些词汇换成空行,必要模子猜测。因此与 MCTest 的单选格式差别,CNN/Daily Mail 的格式为完形填空。终极的数据集包罗了 312,085 篇文章和 1,384,887 个题目。
固然 CNN/Daily Mail 数据集规模很大,但很快就被发现难度较小,很轻易做到高分。比方,2016 年,陈丹琦和 Chris Manning 等人发现数据会合约莫有 25% 的题目人类很难答复,同时模子可以较为轻松地提拔到 70%,意味着模子性能已经饱和。[4]
为了进一步推动呆板阅读范畴的发展,斯坦福大学的 Percy Liang 实行室于 2016 年发布了 SQuAD 数据集 [5],2018 年又发布了 SQuAD 2.0 [6]。SQuAD 2.0 在 SQuAD 的底子上添加了一些不可答复的题目。到现在为止,SQuAD 和 SQuAD 2.0 都是呆板阅读明白范畴最紧张的数据集之一,同时也引发了一波搭建阅读明白数据集的高潮。
在题型方面,SQuAD 既不是多项选择也不是完形填空,而是要求模子从原文中抽取一个或几个一连词构成的笔墨片断作为题目答案。
截图来自参考文献[5]
SQuAD 的原始语料来自维基百科,包罗 107,785 个题目。数据量和难度相较于 MCTest 都有很大的提拔。
在一样平常应用中,模子明白的对象不但仅是文章和段落,还会包罗对话。2018 年,斯坦福大学的 Chris Manning 实行室和 Percy Liang 实行室同时推出了两个对话阅读明白数据集 CoQA[7] 和 QuAC[8]。
区别于答案是原文片断的 SQuAD 数据集,斯坦福大学在 2018 年新推出的数据集 CoQA 则有了更深刻地改变。作为一个包罗了 8,000 组对话和 127,000 个带答案题目的对话型问答数据集,它高出 7 个差别范畴,可以或许很好地练习模子的泛化本领。
截图来自参考文献[7]
这个数据集是多轮问答的情势,在问答上必要接洽上下文,有语义上的明白。
跟 CoQA 同步推出的 QuAC 也是一个同样范例的问答型数据集,但它与 CoQA 最大的区别在于其标注职员中的提问者是看不到文本的,同时其数据泉源也范围在维基百科中。
除了自由文本型数据集以外,选择型数据集也有了很大的发展。2017 年,卡内基梅隆大学推出了一个包罗 28,000 个文章和 100,000 题目的大规模阅读明白数据集 RACE[9]。它取材泉源于中学阅读明白题,数据集情势也雷同于中学阅读明白选择题。RACE 数据集的难点在于其答案并非原文片断,因此不能通过简朴抽取得到精确答案,而必须深入阅读明白原文,基于原文的语义举行推理,从而得出答案。
和 RACE 有异曲同工之妙,本次角逐推出的数据集,同样是来自于教诲体系中的阅读明白题库。
详细而言,该角逐数据会合,每条数据都包罗一篇文章,至少一个题目和多个候选选项。参赛选手必要搭建模子,从候选选项中选出精确的一个。必要再次夸大的是,和 RACE 差别的是,本次角逐的数据集接纳中文,中文阅读明白自己所包罗的更多歧义性和多义性,也将带来更多挑衅。
本次角逐接纳的是单选阅读明白数据,针对这种范例的阅读明白,天然语言处置惩罚范畴的学者已经有了诸多希望。
早期的阅读明白技能重要依靠信息检索技能,也就是试图在原文中匹配题目的关键词,找到相干语句。包罗 Richardson 等人在 MCTest 上提出的滑动窗口算法(sliding window)和基于间隔的滑动窗口算法。这种方法是基于窗口内的词来丈量题目、候选选项和文章的匹配水平。[2]
不外,由于阅读明白许多时间涉及到推理、配景知识、语义明白等,单纯依赖题目和文章的笔墨匹配每每难以找到答案。
乐成改变了这种环境的,是比年来大火的深度学习技能。
截图来自参考文献[14]
一样平常来说,基于深度学习的呆板阅读明白模子,其架构重要包罗编码层、交互层和输出层三部门。在输入端,文章和题目必要编码成保存语义的文本表现,然后输入模子,这部门为编码层;随后,模子必要在文章和题目之间找到接洽,即文章中的哪一部门是应该重点关注的对象,这部门叫做交互层,模子可以综合思量文章和题目的语义相干性;末了,模子要根据在交互层创建的文章和题目的语义接洽完成答案猜测。这一模块被称为输出层。根据题目范例的差别,输出层的详细情势和丧失函数也不雷同。
此中,在交互层的部门,一种名为“留意力机制”的新方法(也是 Transformor 架构的焦点),直接助力 BERT 如许的预练习模子诞生。
留意力机制的紧张头脑,是高效地盘算出输入数据对输出数据的贡献巨细。雷同于人类留意到某种事物的存在(输入数据)时,会有选择地分配留意力,比方把留意力放在某些可以或许把资助人类认知该事物(输出数据)的特质上。
由于留意力机制的存在,BERT 一度称霸我们上文所提到的权势巨子评测 SQUAD,霸占了该评测的前 20 名。
除了 BERT,另有其他基于留意力机制的创新模子曾在 SQUAD 上大放异彩。Match-LSTM& Answer Pointer 模子实范例之一[10],它联合了 Bi-LSTM 和 pointer-network ,借助单向留意力机制对题目和文章举行一维语义匹配。
与 Match-LSTM& Answer Pointer 模子同年问世的 BiDAF,也是围绕留意力机制举行创新,它在在文章和题目的交互中引入了双向留意力机制举行二维匹配,因此能更好地融合题目和文章信息。[11]在这之后,“接力棒”仍在连续,包罗2017年微软研究院提出 R-NET 模子(引入了自留意力机制(Self-Attention),将感受域从局部扩展到全文章)[12]、2018年谷歌提出的QA-Net(聚集多层卷积和自留意力机制,对文章和题目举行局部和全局交互)[13]等等。
固然,随着 NLP 技能的迅猛发展,上述模子的职位也在发生玄妙的变革。好比在SQUAD 上,BERT 已被 ELECTRA、AIBERT 之类的“厥后者”所挑衅乃至代替,这是后话,在此不再赘述。假如你想相识更多关于这类模子的架构知识,可以参考《一文读懂呆板阅读明白》[14]
选择型中文阅读明白角逐
本次角逐利用的是中文阅读明白数据。现在,已经出现了许多研究和角逐模子用于办理中文的阅读明白题目。这里我们分享一个雷同本次海华 AI 挑衅赛题型的 2020 法研杯(司法测验赛道),冠部队伍擎盾数据的模子和方法[15],以飨读者。
2020 年的法研杯(司法测验赛道)的数据来自于国家司法测验,均为选择题。对于每个题目,必要给定这个题的答案,即 A,B,C,D中的哪几项是精确的。擎盾数据团队没有提出太多新方法,而是选择了更妥当的做法 — 简朴修改官方论文中的模子。
截图来自参考文献[15]
在官方模子的底子上, 擎盾数据团队将此中的采样层改成了 concat。从布局而言,模子分为两个部门,第一个部门是找到每一道题所参考的依据,也就是这道标题涉及的知识点详细在原文的哪些片断。第二个部门是将原文、题目和选项输入从而得到答案。
而本次海华 AI 挑衅赛,同样是选择型赛题,数据来自中高考语文阅读明白题库。每条数据都包罗一篇文章,至少一个题目和多个候选选项。参赛选手必要搭建模子,从候选选项中选出精确的一个。
下面给各人看一条数据样例:
参考文献
[1]将57个数据集分门别类,梳理呆板阅读明白使命的挑衅与机会
[2]MCTest: A Challenge Dataset for the Open-Domain Machine Comprehension of Text
http://www.microsoft.com/en-us/research/publication/mctest-challenge-dataset-open-domain-machine-comprehension-text/
[3]Teaching Machines to Read and Comprehend,http://arxiv.org/pdf/1506.03340.pdf
[4] A Thorough Examination of the CNN/Daily Mail Reading Comprehension Task,http://www.aclweb.org/anthology/P16-1223/
[5] SQuAD: 100,000+ Questions for Machine Comprehension of Text
, http://rajpurkar.github.io/SQuAD-explorer/
[6] Know What You Don't Know: Unanswerable Questions for SQuAD
, http://rajpurkar.github.io/SQuAD-explorer/
[7] A Conversational Question Answering Challenge,http://stanfordnlp.github.io/coqa/
[8] Question Answering in Context,http://quac.ai/
[9] RACE Dataset,http://www.cs.cmu.edu/~glai1/data/race/
[10] Machine Comprehension Using Match-LSTM and Answer Pointer,http://arxiv.org/abs/1608.07905
[11] Bidirectional attention flow for machine comprehension,http://arxiv.org/abs/1611.01603
[12] Gated self-matching networks for reading comprehension and question answering,http://www.aclweb.org/anthology/P17-1018/
[13] Qanet: Combining local convolution with global self-attention for reading comprehension,http://arxiv.org/abs/1804.09541
[14] 一文读懂呆板阅读明白,http://www.jiqizhixin.com/articles/2020-04-30-3返回搜狐,检察更多