30 万奖金海华 AI 挑战赛 | 用机器挑战中文阅读理解
大数据文摘出品
在读中学小学的时候,我们都没少为语文考试中的阅读理解题目伤脑筋。这些题目在考验我们对语言是否有准确、深入的理解。所以,这样的题目也是我们测试计算机模型的重要手段。因此,自自然语言处理出现之时起,机器阅读理解也就成了最重要的任务之一。和面向学生的语文考试类似,这项任务要求机器阅读并理解一段或一篇文字,并在此基础上,回答与文字相关的问题。
然而,直到今天,机器阅读理解仍然是整个人工智能领域最富挑战的课题之一,主要的难点包括自然语言的多义性、创新性,以及理解自然语言所需的人类常识、知识和推理能力等。
同时,机器阅读理解作为自然语言处理和人工智能领域的前沿课题,具有极强的应用价值:该技术可以帮助人类从大量文本中快速聚焦相关信息,降低人工信息获取成本,在文本问答、信息抽取、对话系统等领域已有广泛应用。
为了进一步推动机器阅读理解的发展,今年,中关村海华信息技术前沿研究院与清华大学交叉信息研究院联合推出了《2021 海华AI挑战赛·中文阅读理解》大赛。
本次大赛由中关村海华信息技术前沿研究院与清华大学交叉信息研究院联合主办,技术组数据集来自中学语文考试的阅读理解题库,共包含约 8,000 篇阅读理解文章(带答案的训练集约 6000 篇,初赛测试集约 1000 篇,复赛测试集约 1000 篇),其中古文占比约为 25%,现代文占比约为 75%,数据格式为“json”。每条数据都包括 1 篇文章(content),至少 1 个问题(question)和 2 - 4 个候选选项(choices)。中学组赛道的数据集来自小学语文考试的阅读理解题库。每条数据都包括 1 篇文章(content),至少 1 个问题(question)和 2 - 4 个候选选项(choices)。比赛模型需要根据文章和问题,选择正确的选项。
相较于英文,中文阅读理解有着更多的歧义性和多义性,然而璀璨的中华文明得以绵延数千年,离不开每一个时代里努力钻研、坚守传承的人,这也正是本次大赛的魅力与挑战:让机器读懂文字,让机器学习文明。
更多比赛信息,请扫码、复制链接或点击文末的“原文链接”访问:(https://www.biendata.xyz/competition/haihua_2021/)
为了推动阅读理解问题的解决,自然语言理解领域的研究人员构建了大量相关的数据集。因此我们看多有越来越多新型的阅读理解数据集不断涌现。但总体而言,阅读理解数据集仍可以进行大致的分类。例如,按照答案格式分为以下几类:1)选择,2)完形填空,3)自由文本(free text),4)文本片段(span);按照语料素材可以分为:1)文章,2)多模态(如需要理解图片的数据集)。但这些分类标准其实较为模糊,不同类别之间存在交集,有的数据集会同时属于多种类别。[1]
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 挑战赛,同样是选择型赛题,数据来自中高考语文阅读理解题库。每条数据都包括一篇文章,至少一个问题和多个候选选项。参赛选手需要搭建模型,从候选选项中选出正确的一个。
下面给大家看一条数据样例:
[
{
"ID": 1,
"Content": "奉和袭美抱疾杜门见寄次韵 陆龟蒙虽失春城醉上期,下帷裁遍未裁诗。因吟郢岸百亩蕙,欲采商崖三秀芝。栖野鹤笼宽使织,施山僧饭别教炊。但医沈约重瞳健,不怕江花不满枝。",
"Questions": [
{
"Question": "下列对这首诗的理解和赏析,不正确的一项是",
"Choices": [
"A.作者写作此诗之时,皮日休正患病居家,闭门谢客,与外界不通音讯。",
"B.由于友人患病,原有的约会被暂时搁置,作者游春的诗篇也未能写出。",
"C.作者虽然身在书斋从事教学,但心中盼望能走进自然,领略美好春光。",
"D.尾联使用了关于沈约的典故,可以由此推测皮日休所患的疾病是目疾。"
],
"Answer": "A",
"Q_id": "000101"
}
]
}
本次大赛同样向全体参赛者提供 baseline,baseline 模型分享会在 3 月 4 日晚 7 点准时在 biendata B站直播间(https://space.bilibili.com/487467301?from=search&seid=18365426173288838974)开始,欢迎来看!
参考文献
报名参加 2021 海华 AI 挑战赛请点击下方阅读原文↓