基于数据增强的高考阅读理解自动答题研究

2021-10-19 08:46杨陟卓钱揖丽
中文信息学报 2021年9期
关键词:选择题滑动答题

张 虎,张 颖,杨陟卓,钱揖丽,李 茹,2

(1. 山西大学 计算机与信息技术学院,山西 太原 030006;2. 山西大学 计算智能与中文信息处理教育部重点实验室,山西 太原 030006)

0 引言

近年来,机器阅读理解任务受到国内外自然语言处理研究领域学者的广泛关注,已成为评价基于自然语言理解的智能系统的核心任务之一。2018年,国家科技部设立了“基于大数据的类人智能关键技术与系统”项目,主要目标是研制出能够参加中国高考并考取大学的智能答题机器人。在该课题的推动下,目前面向高考试卷的阅读理解已成为机器阅读理解任务中的一个重要研究方向。高考语文阅读理解是全国各省语文试卷中占分较高的一种试题类型,其涉及科技文、现代文和文言文三类阅读体裁,主要包括选择题和问答题。从实验数据集上看,高考阅读理解不同于其他阅读理解任务,其具有更小的数据规模和更大程度的复杂性,问题解答过程中通常会用到更多的常识知识和推理。本文主要针对高考语文阅读理解中科技文类的试题进行研究,重点探索文意理解和片段理解类选择题的机器阅读理解方法。

在科技文阅读理解中,文意理解和片段理解类选择题旨在基于对背景材料的“理解”,从多个选项中选出最佳答案,由于提供的背景材料相对较长且关键信息具有隐藏性,答案无法在背景材料中直接找到。同时,选择题中不同选项涉及的问题也不限定所处的段落,即一个问题可能需要理解多个段落,甚至多篇材料。这类试题重点考查考生对文章的理解能力、对题干和选项的判别推理能力、常识的掌握程度和发散思维能力。我国高考语文阅读理解选择题通常包含一篇或多篇背景材料、一个或多个问题,以及每个问题的四个选项A、B、C、D。具体形式如图1所示(斜体选项是正确答案)。

图1 北京2019高考题中文意理解类选择题样题

其中,每个问题的问法也不尽相同,除了提问对原文中部分关键事物的理解是否正确,有些还会提问材料中并未出现过的对象,需要用到更多的常识和推理,使得机器对其“理解”的难度也大大增高。图2是一些高考题题干实例。

图2 北京历年高考题中文意理解类选择题题干样例

近年来,随着深度学习技术的快速发展和广泛应用,机器阅读理解能力有了大幅提高,但高性能往往需要用到大规模和高质量的训练数据,而对于高考语文阅读理解任务,数据资源的匮乏一直是一个制约深度学习方法深入应用的关键性问题。数据增强是扩充数据样本规模的一种有效方法,可以提高模型的泛化能力、提升模型的鲁棒性。目前,在计算机视觉和语音识别等领域中,针对数据不足现象提出的数据增强方法成为提高神经网络模型性能的重要手段,但在高考语文阅读理解任务中数据增强方法的探索还较为有限,因此本文针对真实数据资源缺乏的高考阅读理解任务开展数据增强方法研究具有重要意义。

基于此,本文以我国高考语文阅读理解多项选择题为实验数据,探索了面向高考语文阅读理解的数据增强方法,研究了数据数量和数据质量对实验结果的影响,分析了不同的数据增强方法对高考题阅读理解自动答题的效果。本文的贡献主要有以下三点。

(1) 结合传统的EDA[1](Easy Data Augmentation)数据增强思路提出了适应于高考阅读理解问题的不同EDA策略;

(2) 针对高考阅读材料文本普遍较长的特征提出了基于滑动窗口的材料动态裁剪方式;

(3) 围绕材料中不同句子的重要性差异明显的问题提出了基于相似度计算的材料句质量评价方法。

1 相关工作

目前基于深度学习的方法已在各个领域取得了显著效果,然而深度学习方法对数据资源的规模要求较高,通常训练数据的规模越大,模型的实验结果和泛化能力就会越好。因此为了提升深度学习方法在小规模数据集上的实验效果,很多学者针对特定的任务提出不同的数据增强方法来扩充数据集。

近年来在计算机视觉和语音识别领域,数据增强已成为提高神经网络模型性能的重要方法。Krizhevsky[2]等人和Cubuk[3]等人利用已有的原图来合成新的图像数据,提出翻转、旋转、缩放、随机裁剪、补零、色彩抖动和加噪声等图像数据增强方法。Cui[4]等人重点增强语音训练数据中说话人和语音的变化,提出了声道长度扰动和随机特征映射两种数据增强方法。Ko[5]等人通过改变音频信号的速度,由不同的速度因子产生不同版本的原始信号来达到直接处理原始信号的音频级语音增强方法。

在自然语言处理领域的文本分类任务中,Wei[1]等人提出了简单的EDA操作来进行数据增强,对于同一个句子: 随机删除一个词;随机选择一个词,用它的同义词替换;随机选择两个词,然后交换它们的位置;随机选择一个词,并随机选择一个它的近义词,然后随机插入句子的任意位置。Kobayashi[6]针对文本分类任务提出一种在双向语言模型中引入标签条件结构的数据增强方法,该方法通过增加标签信息可以预测出大量有效单词。Wu[7]等人借鉴了这种上下文增强方法,通过改变BERT[8]的输入,在原始BERT模型上微调,尝试将预训练语言模型引入到数据增强任务中。尽管这种方法可以利用上下文信息保留语义,但是这种数据扩充方法要生成具有足够丰富的新样本通常就需要多次采样。面向抽取式阅读理解任务,Zhu[9]等人面向现有阅读理解数据集SQuAD 2.0[10]中的可回答问题、原文和答案数据,引入Pair2Seq模型作为问题生成模型,提出了一种自动生成相关的不可答问题的数据增强方法。

针对机器翻译任务,很多学者提出回译(Back Translation)机制,通过双语言互译的结果生成大规模数据,这是机器翻译中目前最常用的数据增强方式。Yu[11]等人通过将句子翻译成法语和英语生成新的数据。Artetxe[12]等人随机交换句子中的单词,但要限制单词的变动范围不超出固定窗口大小。Iyyer[13]等人和Lample[14]等人在源句子中随机添加一些单词以学习自动编码器,以帮助训练无监督的神经机器翻译模型。Xie[15]等人通过推导出神经网络语言模型中的输入噪声与神经网络模型的平滑之间的联系,利用这一联系制定有效的降噪方案,证明了数据去噪对于基于神经网络的序列模型的正则化是有效的。 Fadaee[16]等人提出用目标词中的低频词代替普通词,并在源句中改变其对应词,以提高稀有词的翻译质量。Gao[17]等人提出一种软增强方法,用词汇上的分布代替单词的一个热点表示,即用多个语义相似词的加权组合来替换这个词的嵌入。

除了前面针对不同领域提出的数据增强方法之外,最近,Bergmanis[18]等人提出了基于拐点表和原始文本的上下文敏感神经学习数据增强。Han[19]等人针对社交媒体上的谣言检测所面临的有限标记数据和种类不平衡问题,提出了一种基于语义相关性的离线数据增强方法,利用未贴标签的社交媒体数据来增加有限的标记数据。Xie[20]等人提出了一种基于无监督的数据增强方式,在极少量数据集上,使得六种语言任务和三种视觉任务的性能都得到了明显提升。

显然,目前针对机器阅读理解提出的数据增强方法还相对较少,专门针对高考语文阅读理解自动答题的数据增强方法也还未见相关文献介绍。因此,探索适应于高考语文阅读理解题的数据增强方法具有重要意义。

2 数据增强

目前高考阅读理解任务中真题和模拟题的数量相对较少,基于深度学习的方法受到实验数据规模较小的限制,所得的实验结果相比传统方法无明显优势。基于此,本文从数据增强和质量增强的角度分别研究了三种面向高考语文阅读理解的数据增强方法(图3),主要包括: ①结合传统的EDA数据增强思路提出了适应于高考阅读理解问题的不同EDA策略; ②针对阅读材料普遍较长的特征提出了一种基于滑动窗口的材料动态裁剪方式; ③围绕材料中不同句子的重要性差异明显的问题提出了基于相似度计算的材料句质量评价方法。

图3 面向高考阅读理解题的数据增强策略

本文分别将这三种方法在全国高考语文科技文阅读理解多项选择题上进行了数据增强探索实验,结果表明,三种不同的数据增强方法均在一定程度上提升了自动答题的效果。

2.1 适应于高考阅读理解题的EDA策略

在自然语言处理领域的相关任务中,当数据资源缺乏时,深度学习模型相比传统的机器学习方法所取得的结果无明显优势。在这样的情形下,我们的目标是尽可能使用简单的技术取得更好的结果。同时,由于使用深度学习模型生成的数据较难达到“高考”的难度与要求,所以本文首先立足于同义句生成。目前比较典型的方法是由Wei[1]等人提出的EDA方法,其在保持原句意思基本不变的情况下,对数据进行数量上的扩充。基于此,本文探索了适应于高考阅读理解题的不同EDA策略,并在高考科技文阅读理解选择题上进行了多项实验。

2.1.1 EDA方法介绍

EDA方法的四种简单操作分别是: 同义词替换、随机插入、随机交换和随机删除。EDA方法生成类似于原始数据的增强数据会引入一定程度的噪声,有助于防止过拟合,并且使用EDA可以通过同义词替换和随机插入操作引入新的词汇,允许模型泛化到那些在测试集中但不在训练集中的单词。表1分别是同义词替换和随机插入两种操作的EDA前后对比示例。

表1 两种基础操作的前后对比示例

2.1.2 适应于高考阅读理解的EDA停用词表

传统EDA方法中,同义词替换与随机插入操作均是随机选取n个非停用词进行变换。由于高考语文阅读理解材料相对复杂,而且问题答案通常与数量词、程度词等相关,因此一般的停用词表不能适应高考题的特殊性,基于此,本文依据高考阅读理解试题中不同词的重要性重构了一个适应于高考阅读理解题的EDA停用词表。

实验分析了大量高考科技文阅读理解数据,总结了不同词性的词对答题的影响。在高考科技文阅读理解中,数词在答题方面通常是敏感度较高的词汇,且量词一般会和一定的数字结合;副词会在一定程度、范围、时间、肯定和否定等方面上对动词、形容词做限制或修饰,轻易更改可能会改变整个句子的语义;介词可以表示时间、方式和条件等;代词有固定的用法,它们对答题通常也有一定的影响;连词、助词、叹词和拟声词对于EDA的变换基本没有帮助。因此,本文最终将数词、量词、代词、副词、介词、连词、助词、叹词和拟声词等组合成一个适应于高考科技文阅读理解题的EDA停用词表,具体示例如表2所示。

表2 适应于高考题的EDA停用词表示例

2.1.3 适应于高考阅读理解的EDA参数

Wei[1]等人给出了实际使用EDA方法的建议,表3中Ntrain是数据规模, 中间的α是句子中单词变化的百分比参数,naug表示使用EDA方法从每一个句子拓展出的句子数量。比如同义词替换中,替换的单词数为n=α*l,其中,l是句子长度。

表3 典型EDA参数设置方案

由于高考语文阅读理解自动答题的实验数据规模大于5 000,且高考语文阅读题中背景材料的句子也比较长。因此,本文实验对每句单词变化百分比α进行了微调,分别采用了0.1和0.15;同时,实验中naug表示每篇材料或每个选项所生成的增强数,为了分析参数naug的取值对EDA效果的影响,选取naug={1,2,3,4},并且分别对“材料”“题干选项”“材料题干选项”增强范围进行消融实验。具体参数设置方案如表4所示。

表4 本文参数设置方案

2.2 基于滑动窗口的材料动态裁剪方法

基于EDA的数据增强只是单纯通过同义词替换等策略对数据量进行成倍的扩增,可能对文本分类等任务会有直接提升。然而当面向机器阅读理解特别是高考阅读理解任务时,由于高考阅读题的背景材料篇幅普遍都比较长,且材料中每一个字词对结果都较为重要,可能由于扩充数据中一点点细微差距就会使结果相差甚远。因此,传统的数据增强方法,在高考阅读理解任务上可能效果不太明显。

2.2.1 滑动窗口原理

滑动窗口方法使用了最近应用很广的BERT预训练模型。因BERT可支持的最大字符长度一般为512,而全国各省高考语文阅读理解文章平均长度约为1 143,因此在使用BERT模型时,材料数据中的大部分信息会因字符长度限制而丢失,从而影响最终的实验结果。

基于此,本文提出一种基于滑动窗口的数据增强方法,通过设置滑动窗口的大小动态裁剪文章,既能将篇章材料缩减到BERT可以适应的范围,又能保证每篇文章裁剪后的子片段之间具有相关性。从而在一定程度上解决了模型预测时面对过长的文本直接截断导致丢失后面重要信息的问题。图4是滑动窗口数据增强的裁剪过程。

图4 基于滑动窗口的材料动态裁剪流程图

定义一篇文章P的字数为n,裁剪后的文章子片段为{p1,p2,…,pn},其中每个子片段pi的字符数不超过512,并且要求前一个子片段的结尾与后一个子片段的开头有10%左右是重复的,以保证相邻子片段之间具有关联,这里采用一个完整的句子sj作为衔接,保证滑动完整个篇章。具体表示如式(1)~式(3)所示。

该方法最终可把一篇阅读理解中的背景材料分成多个文章片段,并将每个片段分别看成一篇独立的阅读材料。这使得模型训练时不会丢失整个材料的信息,能够学习到完整的材料内容。因此基于滑动窗口的材料动态裁剪方法,在一定程度上解决了模型预测过长的文本时,直接截断导致丢失后面重要信息的问题。

2.2.2 滑动窗口实验设置

本文设置滑动窗口的阈值a=512,使得每个子片段pi的字符数控制在512之内,相邻两个子片段会有一个完整的句子sj作为联系,最终把n个字符的原始文章切分为多个部分,并分别将划分后的数据输入到模型当中。

2.3 基于相似度计算的背景材料句质量评价

高考语文阅读理解中每道选择题通常有四个选项,每个选项大多是以文中的一句或几句话为基准进行答案推理,篇幅比较大的材料中会有很多答题并不需要的内容。无关内容被机器学习到会增加很多噪声,降低答题准确率。前边提到的数据增强方法仅仅考虑了数据数量上的扩充,并没有考虑数据质量的好坏,也没有考虑深度模型的学习能力。因此增强后的数据中往往增加了很多噪声,同时也忽略了许多重要内容。为了提高数据质量,提升机器学习效率,本文提出基于相似度计算的材料句质量评价机制,结合一定的规则动态抽取出每篇材料中对答题比较重要的句子,将其作为输入到BERT模型中的答题句子集。

2.3.1 材料句质量评价方法

本文将材料中每个句子对答题的贡献度作为评价方式,实验中使用比较典型的“TF-IDF+余弦相似度”方法分别计算背景材料中的每个语句与四个选项的相似度,并将其作为句子对答题的贡献度,最后将材料中贡献度高的句子依次提取出来,贡献度偏低的甚至为零的句子直接舍弃。具体过程如图5所示。

图5 基于相似度计算的材料句质量评价

(4)

材料子句Si与题干选项句Qi的相似度越高,代表该句子对答题越重要。将背景材料中相似度高的句子组合到一起形成新的答题材料句子集,将其作为新的材料输入到预训练模型中。

2.3.2 材料句质量评价实验设置

实验中如果把所有相关的句子都抽出,答题句子集字符数大多都超出了BERT模型支持的最大字符长度。为了解决这一问题,本文设定一个阈值b=512,使得在选择每个选项的支持句时,可以从相似度结果中由高到低抽取句子,且保证生成的材料长度上限不超过512。

3 实验

3.1 实验数据

实验所使用的数据集为全国各省近10年的语文高考真题、模拟题中的阅读理解多项选择题,其中,北京真题为2004年至2019年共16年的46道真题。根据国家重点研究项目“基于大数据的类人智能关键技术与系统”,我们针对科技文阅读理解进行研究。其中,科技文阅读理解包含选择题和问答题,选择题又分为文意理解题、片段理解题、拟写标题题和补写句子题。本文只对文意理解题和片段理解题做深入研究。

实验所用的高考真题和模拟题数据集共包括试题7 652道,即7 652条数据,数据集的来源与数量如表5所示。其中,每条数据都由一篇背景材料、一个题干、四个选项和一个标准答案组成。本实验将各个省市的真题、模拟题打乱,从中随机截取6 500条作为训练集,652条作为验证集,剩余500条作为测试集。

表5 实验数据集

3.2 评价指标

根据任务定义的不同,各测试数据集所用的评价指标也不尽相同。完形填空和多项选择式机器阅读理解可以直接用准确率衡量,区域预测形式可以用F1衡量,自由形式的阅读理解评价指标有多种,用BLEU和ROUGE-L的相对较多一些。本文采用的数据是高考语文阅读理解多项选择题,因此评价指标用一般的准确率衡量,如式(5)所示。

(5)

3.3 基线模型选择

BERT[8]是2018年提出的一种新的语言模型,自Google公布其在11项NLP任务中的卓越表现后,就引起了各类研究人员的广泛关注与讨论,它被认为是 NLP 领域的一项极大突破。BERT是一种预训练语言表示的方法,在大量文本语料上训练一个通用的“语言理解”模型,然后用这个模型去执行各类下游子任务,它是第一个用在预训练NLP上的无监督、深度双向系统,使任何人都可以构建一个包含语言处理的机器学习模型,并将其作为一个随时可用的组件使用,可为使用者大大节省从零开始训练语言处理模型所需的时间、精力、知识和资源。

BERT发表以后,学术界和产业界涌现出一大批类似于“BERT”的预训练(Pre-trained)模型,如RoBERTa和SpanBERT等。BERT-wwm[21]是由哈工大开源的基于全词遮盖(Whole Word Masking)技术的中文预训练模型,它在原始BERT-base的基础上引入全词Mask,对中文文本进行全词遮盖,即遮盖整个单词而不是遮盖单独汉字。简单来说,原有基于字粒度的分词方式会把一个完整的词切分成若干个子词,在生成训练样本时,这些被分开的子词会随机被Mask。 在全词Mask中,如果一个完整的词的部分子词被Mask,则同属该词的其他部分也会被Mask,即全词Mask。因此对于我国高考语文阅读理解题来说,使用对中文文本更有利的基于全词Mask的BERT-wwm预训练模型可能较为适合。

表6显示了分别使用BERT模型和BERT-wwm模型在高考语文阅读理解选择题数据集上的实验结果。可以看出,对于高考语文阅读理解数据集,BERT-wwm模型有更好的适应性,因此将其实验结果作为本文实验的baseline。

表6 使用BERT模型与BERT-wwm模型的结果对比

3.4 实验参数设置

本实验使用BERT-wwm预训练模型作为基线,最大输入长度限制设置为512,学习率设置为1e-5,在8个epoch的训练下,得到最终实验结果。

3.5 三种方法的高考阅读理解实验结果分析

3.5.1 EDA实验结果分析

表7展示了面向高考语文科技文阅读理解时不同EDA策略对应的实验结果。结果显示,当句子变化百分比α统一设置为0.1时,不论增强数naug为多少,仅对“题干选项”部分做EDA都是效果最差的,而对“材料”采用EDA增强的结果普遍较好,并且随着naug增大,准确率有下降趋势。由于高考语文阅读理解的材料篇章中平均句子都比较长,实验还将句子变化百分比α统一设置为0.15,得到增强数naug为1时效果最佳,同时也有随着naug增大准确率降低的表现。

表7 基于EDA策略的高考阅读理解实验结果

EDA方法在全国高考语文阅读理解选择题中的表现可概括为三点: ①EDA增强数量naug达到一定程度以后,增强量再多反而效果会变差; ②EDA应用于“题干选项”时反而会降低准确率,单独对“材料”部分做EDA增强是最为有效的; ③对于高考语文科技文阅读理解选择题,使用传统EDA参数设置可能会限制增强效果,结合高考材料特性研究适应于高考语文科技文阅读理解问题的EDA策略是必要的。

3.5.2 基于滑动窗口的实验结果分析

基于滑动窗口的动态裁剪材料方法实验结果如表8所示。

表8 基于滑动窗口的高考阅读理解实验结果

结果表明,通过滑动窗口裁剪进行数据增强后,实验结果会有轻微提升。提升不明显的原因可能有两个方面: ①虽然模型把背景材料中所有内容全部都学习到了,但也会学到大量与答题无关的信息,这些信息对答题效果会有重要影响; ②一篇完整的阅读材料在裁剪后可能会将材料中关联的信息丢失,这将影响模型有效选择正确答案。

3.5.3 基于阅读材料句质量评价的实验结果分析

基于相似度计算的材料句质量评价方法的高考阅读理解实验结果如表9所示。

表9 基于材料句质量评价的高考阅读理解实验结果

表9的实验结果表明,从完整的阅读材料中进行数据筛选是非常有价值的。单纯的数据增强往往没有考虑机器的学习效率,大量与答题无关的语句也会被学习,这大大降低了模型的答题效果。同时, BERT预训练模型受最大输入字符长度的限制,因此,结合这一特性进行背景材料句的选择是非常有必要的。

3.5.4 三种不同数据增强方法的比较与分析

本文在全国高考语文科技文阅读理解选择题上进行了数据增强实验,三种不同的数据增强方法的实验结果比较如表10所示。

表10 三种不同数据增强方法的实验结果比较

实验结果表明,相比基线模型,三种数据增强方法在高考语文科技文阅读理解任务上均有一定程度的提升。

其中,基于相似度计算的材料句质量评价方法可以抽取出与试题相关的高质量的关键句子,结合BERT预训练模型时会有很明显的优势,准确率可以达到41.6%。

基于滑动窗口数据增强方法的性能提升不明显,可能是因为采用滑动窗口方法的模型会学到太多与答题无关的信息。EDA方法的不足在于其仅仅是在词汇上进行变换,没有缩减篇章的长度,而所用的BERT预训练模型会自动截掉超出512字符的部分,这可能会导致模型学不到与答题相关的关键信息。以2016年北京高考真题为例,统计分析后发现试题中每个选项所需背景材料中的答题候选句大多不超过两句,且一些答案候选句在材料的512字符之后,并且部分试题还会出现命题者故意设置的“无中生有”类错误选项,即选项并没有在原文材料中提及。因此,滑动窗口方法会将过多非答题候选句重复学习,EDA方法可能会学不到与答题相关的关键信息,这会导致模型参数偏离,并影响最终的实验结果。

总体来看,本文提出的三种不同的数据增强方法均在一定程度上改善了数据数量与数据质量对高考语文阅读理解自动答题效果的限制。

4 结论

本文探索了面向高考语文阅读理解的数据增强方法,主要包括: ①结合传统的EDA数据增强思路提出了适应于高考阅读理解问题的不同EDA策略; ②针对阅读材料普遍较长的特征提出基于滑动窗口的动态裁剪材料方法; ③围绕材料中不同句子的重要性差异明显的问题,提出了基于相似度计算的材料句质量评价方法。实验结果表明,三种不同的数据增强方法均在一定程度上提升了自动答题的效果。

显然,数据增强方法对高考语文阅读理解自动答题效果的提升具有重要的作用,以此为着手点仍然有很多值得开展的研究。接下来我们将着重探索以下几个方面: ①目前很多学者利用生成对抗网络(GAN)模型生成新的图像或文本,接下来将尝试利用GAN模型来扩充阅读理解数据集,并探究其可行性; ②从我国高考语文科技文阅读理解试题来看,很多题目重在考核“人”而不是“机器”,出题者往往会设定一些特殊类型的题目,比如偷换概念、以偏概全、张冠李戴、无中生有、因果倒置等。因此,未来可以结合高考题的出题特性,尝试融入高考题错误选项设计规则等方面的因素来扩充数据。

猜你喜欢
选择题滑动答题
邀你来答题
邀你来答题
邀你来答题
单项选择题狂练
邀你来答题
数列选择题精选精练
例说速解选择题的几种有效方法
一种新型滑动叉拉花键夹具
Big Little lies: No One Is Perfect
十种妙招握在手 破解选择题无忧