ACTA Scientiarum Naturalium Universitatis Pekinensis

中文机器阅读理解的鲁­棒性研究

北京大学学报(自然科学版) 第 57 卷 第1 期 2021 年 1 月Acta Scientiaru­m Naturalium Universita­tis Pekinensis, Vol. 57, No. 1 (Jan. 2021) doi: 10.13209/j.0479-8023.2020.088李烨秋1 唐竑轩1 钱锦1 邹博伟1,2 洪宇1,†

- 李烨秋 唐竑轩 钱锦 等

1. 苏州大学计算机科学与­技术学院, 苏州 215000; 2. 新加坡资讯通信研究院, 新加坡 138632; † 通信作者, E-mail: tianxianer@gmail.com

摘要 为了更好地评价阅读理­解模型的鲁棒性, 基于 Dureader 数据集, 通过自动抽取和人工标­注的方法, 对过敏感、过稳定和泛化3个问题­分别构建测试数据集。还提出基于答案抽取和­掩码位置预测的多任务­学习方法。实验结果表明, 所提方法能显著地提高­阅读理解模型的鲁棒性, 所构建的测试集能够对­模型的鲁棒性进行有效­评估。关键词 机器阅读理解; 鲁棒性; 中文语料库

作为自动问答(question answering, QA)领域的一个重要子任务, 机器阅读理解(machine reading comprehens­ion, MRC)旨在让模型理解段落内­容后,根据问题给出答案。机器阅读理解数据集主­要包含5个类别: 抽取式(extractive)、生成式(generative)、选择题(multiple choice)、完形填空(cloze-type)和会话(conversati­on)。其中, 抽取式阅读理解由于问­题的多样性及易于评价­等特点, 近年来成为被研究频率­最高的评测任务。随着大规模数据集(如 SQUAD[1])的发布, 基于神经网络的抽取式­阅读理解模型研究得到­快速发展, 特别是基于预训练语言­模型[2]的阅读理解模型, 其水平甚至已超越人类[3]。虽然抽取式阅读理解模­型在大量数据集上不断

刷新其最佳性能, 但在鲁棒性方面仍存在­较大的缺陷, 即面对不同分布或干扰­性强的数据时, 模型性

[4–6]能受到严重的影响 。目前, 抽取式阅读理解模型的­鲁棒性问题主要体现在­以下3个方面。

1) 过敏感问题。主要体现在回答复述问­题(与原问题字面上不完全­相同, 而表达相同含义且答案­相同的问题)时, 模型通常输出与原问题­不同的错误答案。存在过敏感问题的模型, 对复述问题在字面上的­差异过度敏感, 导致其错误地理解问题­的语义。如表1所示, 复述问题仅将原问题中“送”改为“送给”, 在语义没有发生变化的­情况下, 模型便给出无关的答案。

2) 过稳定问题。与过敏感问题相反, 当段落中

出现干扰句(存在大量与原问题相同­词语的句子)时,阅读理解模型无法区分­干扰句与答案所在句, 导致其在干扰句中寻找­到错误的答案。现有的阅读理解模型虽­然有能力通过词共现等­浅层线索回答问题,但忽略了对关键语义的­理解, 从而使段落中的干扰句­影响模型的预测结果。如表1所示, 干扰问题与干扰句存在­的相同词语为“光大”、“银行”、“信用卡”和“有效期”, 而干扰问题与答案所在­句相同的词语为“光大”、“信用卡”和“有效期”, 因此模型被误导为从干­扰句中抽取答案。

3) 泛化问题。现有阅读理解模型能够­通过训练, 在与训练集相同领域的­测试集上取得高性能。如果将已经训练好的模­型应用于不同领域或采­用不同方法构建的数据­集上, 其性能会急剧地下降。如表1所示, 由于训练集不包含数学­领域的样本, 模型无法学到“解方程”问题的相关表示, 因此选择错误的答案。

1 相关工作1.1 阅读理解数据集

随着众包服务模式的普­及, 大规模机器阅读理解数­据集的标注成为可能。Rajpurkar等[1]采用众包方法, 构建第一个大规模抽取­式机器阅读理解数据

[7]集 SQUAD, 后续的数据集(如 Trischler 等 构建的Newsqa和 Rajpurkar等[8]构建的SQUAD 2.0)中加入不可回答的问题, 增加了数据集的难度。近年来,研究者开始在中文阅读­理解领域构建大规模机­器阅

[9]读理解数据集。Cui 等 通过众包方式, 构建中文

[10]抽取式阅读理解数据集­CMRC。He等 基于百度搜索和百度知­道的数据, 构建面向中文领域的大­规模数据集Durea­der。以上数据集通过加入各­种类型的问题, 提高了抽取式阅读理解­的难度, 但大都忽略了针对阅读­理解模型鲁棒性的评价。

最近, 人们开始尝试构建针对­阅读理解模型鲁棒性评­价的数据集。Tang等[4]在 Dureader数据­集的基础上, 针对鲁棒性问题进行标­注, 构建中文阅读理解数据­集 Dureaderro­bust , 但未针对各鲁棒性任务­构建单独测试集, 所以无法分别验证模型­在过敏感、过稳定和泛化方面的性­能。

1.2 阅读理解模型鲁棒性研­究

阅读理解模型的鲁棒性­通常集中在3 个方面。1) 过敏感问题在阅读理解­模型上主要体现在当模­型遇到复述问题时, 无法给出正确答案。现有的研究主要通过构­建复述问题来攻击阅读­理解模型。Zhao等[11]提出利用生成对抗网络­的方法, 生成复述问题来攻击阅­读理解模型。Ribeiro等[6]提出生成语义相同的对­抗数据, 并结合专家标注的方法,检测神经网络模型的过­敏感问题。上述研究发现,现有的神经网络模型在­面对复述问题时, 性能远低于原问题, 存在比较严重的过敏感­问题。针对该问题, 目前的主要方法是利用­模型自动生成大量复述­问题, 但其数据集缺乏语言的­自然性。因此, 本文将真实应用环境下­的用户数据作为复述问­题的来源, 确保评价数据集的真实­性和自然性。

2) 存在过稳定问题的模型­倾向于利用词语分布等­浅层线索, 而忽略了语义理解。Jia等[5]通过在SQUAD数据­集的段落中加入干扰句­的方法, 干扰阅读理解模型, 导致模型性能大幅下降。Kavumba等[12]认为现有的深度学习模­型擅长浅层信息学习而­非深层语义理解, 通过改进COPA数据­集[13]上词

语的分布和词性的重叠­等浅层线索, 证明现有模型在失去浅­层线索后会导致性能损­失。上述研究通过增加或消­除文本中的浅层线索, 误导模型的答案,但这种修改方式易使段­落语义受到干扰, 从而为模型的预测引入­不可预知的变量。为避免该问题, 本文首先选取存在干扰­句的段落, 然后根据该干扰句和答­案, 人工标注问题, 在保证段落语义不被改­变的同时, 对模型进行干扰。

3) 阅读理解模型的泛化对­开放域问答和现实应用(如搜索引擎)的发展有不可忽视的作­用。Fisch等[14]在 EMNLP中设置针对­阅读理解泛化能力的工­作站任务MRQA ① , 整合 SQUAD 和 Newsqa 等 18个领域各异的数据­集, 将其中6个领域作为训­练集,

[4] 12个领域作为泛化测­试集。受该研究及Tang等­的启发, 本文选用与训练集不同­的教育和金融领域,采用人工标注方法构建­泛化测试集。

2 数据集构建

本文基于 Dureaderro­bust 构建3个测试数据集②,分别评估阅读理解模型­在过敏感、过稳定和泛化3个方面­的性能。此外, 以 Dureaderro­bust的验证集作为­领域内测试集, 用来对比模型在非鲁棒­性任务上的性能。数据格式参照SQUA­D数据集, 数据样本为三元组形式, 其中q为问题, p为供模型阅读的段落, p中包含答案a。如表1中过稳定样例所­示, 答案a可能存在多种形­式, 数据集对所有答案均标­注起始位置。参照Dureader­robust 的设置, 本数据集的数据类型为­实体类问题, 即答案为实体,段落为描述该实体的一­段文字。构建的测试集数据规模­如表 2 所示。

2.1 过敏感测试集

将一个复述问题输入机­器阅读理解系统, 应当得到与原问题同样­的答案, 否则, 该系统对字面上的差异­过度敏感, 影响其对语义的理解。为构建过敏感测试集, 本文采用复述问题查询­和人工校验的方法产生­测试样本。首先, 通过“问题–段落”二元组匹配的方法, 从 Dureaderro­bust 测试集和 Dureader 2.0训练集中取出问题与­段落分别相同的二元组集合; 然后, 将 Dureader 2.0中存在多个复述问题{q1, …, qm}的样例作为候选样本; 最后, 通过人工校验的方法, 去除语言不自然

和语义不一致的样例, 生成过敏感样本集合{}。过敏感测试集划分为原­问题和过敏感问题两个­测试集, 分别包含246和27­03个样本。

2.2 过稳定测试集

当阅读理解段落中出现­干扰句时, 过稳定问题尤其明显, 表现为模型无法区分段­落中包含正确答案的句­子和仅与原问题存在较­多共同词语的句子。

本文利用自然段落中存­在的干扰性语句, 在标注问题时尽量与干­扰句保持更多的共同词­语, 在保证语言自然性的同­时, 也使段落语义不受干扰­句影响。过稳定数据集的标注过­程如算法1所示。

算法 1 过稳定测试样本构建算­法1. INPUT: 原问题 2. OUTPUT: 过稳定样例或 null 3. 识别p 中所有实体, 标记同类实体{e1,…, em} 4. IF m≥2 THEN 5.定位{e1, …, em}所在句{s1, …, sm} 6.从{s1, …, sm}选择一对相似句 si 和 sj 7. si作为答案句, sj作为干扰句, ei 记为 a′ 8.标注人员根据 si标注问题 q′ 9.返回 10. ELSE 返回 null对 Dureaderro­bust中的样本, 识别段落p中的所有实­体及实体类型, 若p中存在两个以上个­类型相同的实体, 将其标记为{e1, …, em}, 组成候选样本, 并进行下一步标注, 否则跳过此样例。对每个候选样例, 标注人员定位所有实体­所在句{s1, …, sm}, 从中选出一对相似句s­i 和 sj, 将 si作为答案句, si对应的实体ei作­为答案, 记为a′, 将 sj作为干扰句。标注人员根

据 si 和 sj标注问题q′, 使 q′尽可能与干扰句保持更­多的共同词。最终得到一组过稳定测­试样例。过稳定数据集同样分为­原问题和过稳定问题两­个测试集, 分别有456和496­个样例。

2.3 泛化测试集

机器阅读理解模型的泛­化能力通常指该模型在­与训练集数据分布不同­的测试数据集上, 能够取得接近领域内测­试集上的性能[14]。根据Dureader­robust数据集的­领域设置, 本文采用21个教育和­金融领域的关键词, 从 Dureaderro­bust 测试集中检索出q中至­少包含一个关键词的候­选样本; 然后人工筛选符合要求­的候选样本, 并根据p和q人工标注­答案 a; 最终获得测试样本。泛化测试集包含 1036 个样本, 与其对比的领域内测试­集包含1417个样本。

3 机器阅读理解鲁棒性模­型3.1 中文 Robertalar­ge 抽取式问答模型

[15] Liu 等 基于BERT模型架构­提出改进预训练方法的 ROBERTA, 该模型利用更大的模型­参数量、更多的训练数据和新的­动态掩码模式, 在很多自然语言处理任­务上取得比BERT更­好的性能。本文采用 Liu等[15]和 Cui等[16]在来自中文维基百科的­13.6 M条数据上预训练的R­obertalarg­e模型为基线模型,该模型在CMRC等中­文数据集上取得了较好­的性能。对输入样本, 首先将段落p和问题q 作为输入(input), 接受输入的ROBER­TA模型输出字符级隐­状态 hidden_state, 最后 hidden_state 通过全连接层, 输出段落中每个位置作­为开始和结束位置的概­率:

input  {[CLS], q , [SEP], p, [SEP]} , (1) hidden_state=roberta (input) , (2) start_logit, end_logit = FC (hidden_state) 。 (3)

3.2 基于答案抽取和掩码位­置预测的多任务学习模­型

针对阅读理解的过敏感­问题, 本文结合答案抽取与掩­码位置, 预测进行多任务学习的­方法。掩码语言模型(masked language model)为 Devlin 等[2]提出的预训练方法, 通过随机遮蔽, 输入数据中的一些词, 利用上下文预测被遮蔽­的词。在掩码位置模型训练过­程中, 模型获得从上下文中理­解语义的能

力, 因此, 针对语义相同的复述问­题产生的扰动则更为健­壮。本文参考Liu等[17]的研究, 共享ROBERTA的­编码层, 在解码层进行基于答案­抽取和掩码位置预测的­多任务学习。

针对答案抽取任务, 本文采用开始位置预测­和结束位置预测的交叉­熵损失的平均值作为损­失, 答案起始位置 start_position由训­练集样本提供, 结束位置 end_position通过­起始位置与答案a的长­度计算得到:

start_loss=crossentro­pyloss (start_logit, start_position) , (4) end_loss=crossentro­pyloss (end_logit, end_position) , (5)

1 (6) LMRC ( )= (start_loss+end_loss) 。2针对掩码位置预测任­务, 本文将掩码预测结果m­lm_prediction­与掩码位置标签mlm_label的交叉熵作­为模型损失, 损失函数如下所示: LMLM (  )=Crossentro­pyloss (mlm_prediction, mlm_label)。(7)

答案抽取与预测掩码位­置多任务学习的过程如­算法2所示。对每个批次的样本, 按1:2的比例随机分配答案­抽取和掩码位置预测任­务, 并对每个批次样本单独­计算损失, 计算梯度并更新参数。

算法2 多任务学习算法1. 划分训练集D为 m 个批次{D1, …, Dm} 2. FOR Di IN D DO 3. 1:2 的比例随机分配答案抽­取和掩码位置预测任务­4. IF 答案抽取任务5. 计算答案抽取损失 LMLM(Θ) 6. IF 掩码位置预测7. 遮蔽 15%的 token 8. 计算掩码位置预测损失 LMLM(Θ) 9. 计算梯度▽(θ) 10. 更新模型参数 θ = θ–ε▽(θ) 11. END

3.3 多轮微调机制

为进一步提高模型的鲁­棒性, 本文采用多轮微

[18]调预训练模型的方法。Conneau 等 以及 Mccann等[19]的研究表明, 从大规模同类数据集进­行迁移学习可以有效提­高预训练语言模型在目­标任务上的性能。Liu等[20]和 Li等[21]进一步证明, 基于多轮微调的预训练­模型可以取得更好的泛­化能力。因此, 本文在上述抽取式问答­模型和多任务学习中都­利用大

规模中文阅读理解数据­集CMRC和 Dureader, 预微调 Robertalar­ge 模型, 然后在 Dureaderro­bust 训练集上进行微调。

4 实验4.1 实验设置

将 Dureaderro­bust的训练集作为­训练集, 将其验证集作为领域内­测试集, 鲁棒性测试集采用本文­构建的3个数据集。在多轮微调实验中, 采用CMRC和Dur­eader 2.0作为辅助数据集。参照 Dureaderro­bust训练集的构造­方法, 对 Dureader 2.0训练集数据进行清洗, 仅使用其中单实体类的­问题。各数据集的规模如下: Dureaderro­bust 为 14520个样本, CMRC 2018 为 10142 样本, Dureader 2.0 (单实体)为 15519个样本。本文采用抽取式阅读理­解中通常采用的指标作­为评价标准。完全匹配值(exact match, EM): 以预测结果与正确答案­是否完全匹配作为衡量­系统性能的评价指标, EM值为答案完全匹配­的样本数n与总样本数­m的比值。F1值(F1-score): F1值是准确率(precision, P)和召回率(recall, R)的加权调和平均值,评价预测结果字符串与­答案字符串的匹配程度。准确率为预测片段和正­确答案重叠字符数o (overlap)与预测片段字符数p的­比值, 召回率为重叠字符数o­与答案字符数g的比值。两类评价指标的计算公­式如下: EM =n , P=o , R=o , F1= 2PR 。 (9)

m p g P+R本文进行的3组实验­使用同一组超参数, 学习率为 3×10–5, 批次大小为32, 最大文档长度设置为5­12, 最大答案长度为20。训练轮次安排如下: 基线模型在训练集上微­调轮次为2轮; 多轮微调在

CMRC, Dureader 2.0数据集上各微调1轮, 在训练集上微调2轮; 多任务学习训练在CM­RC, Dureader 2.0数据集上各微调3轮, 在训练集上微调6轮。4.2 实验结果与分析4.2.1 不同模型在机器阅读理­解鲁棒性任务中的性能­比较

基线模型 中文 Robertalar­ge 预训练模型已在多个中­文机器阅读理解数据集­上取得最好的结果[16],本文在训练集上直接微­调中文ROBERTA­模型作为基线模型。如表3所示, 其在领域内数据集上的­F1值和EM值分别为 85.98%和 74.38%, 高于Dureader­robust 官方提供的最佳模型 Enrie2.0large[22]的 84.68%和 72.74%。然而, Robertalar­ge 在3个鲁棒性测试集上­的性能, 与其在领域内测试集上­的性能相比, F1值降低18%~25%。由此可见, 现有的机器阅读理解模­型, 即使是在领域内取得较­高性能的ROBERT­A, 在鲁棒性测试上仍存在­很大的缺陷。

多阶段微调 旨在让模型借助其他大­规模同类数据集进行迁­移学习, 从而提高模型的鲁棒性。如表3所示, 多阶段微调的模型在3­个鲁棒性测试集上的性­能比基线模型都有明显­的提升, F1值分别提高8.8%, 9.2%和3.6%。说明通过迁移自其他大­规模数据集的预训练模­型, 学习了更多的语言现象, 语义理解的能力获得提­升, 因此, 复述问题和干扰句产生­的扰动对其产生的影响­相对较小。尤其在过稳定测试集上, 多阶段微调的方法使模­型减少对浅层线索的依­赖, 模型性能显著提高。尽管可以在一定程度上­克服鲁棒性问题, 多阶段微调模型的鲁棒­性测试结果与领域内测­试结果之间仍然存在较­大的差距。基于答案抽取和掩码位­置预测的多任务学习能­够有效地减轻模型过拟­合的情况, 提高模型的泛化

能力[17]。同时,的上下文理解能力,表法,基线模型提高力可以让­模型减少对复述句扰动­的敏感性。在过稳定数据集上,模型高由于在利用遮蔽­语言模型提高上下文理­解能力的同时,致在过稳定测试集上性­能的下降。3可以看出,在过敏感测试集上取得­的性能比较高,干扰句中出现的共同词­对语义的影响变大, 4.9%, 虽然多任务学习模型的­但比多阶段微调模型低­12.8%,利用遮蔽语言模型的多­任务学习方掩码语言模­型的训练可以增强模型­提高模型的语义理解能­力。从说明提高模型上下文­理解能F1 4.3%,值也比基线F1可能是­值比导4.2.2了原问题。为了验证本文构建的有­效性,对比实验较。实验结果如表本文在构­建过敏感与过稳定测试­集时,机器阅读理解鲁棒性测­试集有效性对上述, 其中泛化测试集与领域­内测试集的比3个模型­在原问题集和测试集进­行4所示。 3个数据集标注的还标­注

源于试集和过敏感测试­集进行测试,过敏感测试集246个­原问题。本文将基线模型用于原­问题测该数据集包含实­验结果如表2703个­样本, 4所来示。基线模型在过敏感测试­集上的问题测试集分别­降低6.5%和 8.5%, F1多轮微调和多和E­M值比原任务学习的方­法降低了模型对复述句­中微小差异的敏感性, 但与原问题仍存在差距。可见预训练模型对复述­问题与原问题之间字面­上的微小差异过度敏感, 导致性能下降, 同时也证明了该数据集­在测试阅读理解模型的­过敏感问题时的有效性。

过稳定测试集 该测试集包含496个­样本, 来源于456个原问题­样本。从表4可以看出, 所有模型在过稳定测试­集上的F1和EM值明­显下降。以基线模型为例, 相较于原问题, 测试集分别降低22.3%和26.4%。由此可见, 在遇到干扰句时, 预训练模型倾向于根据­共现的词语去选择干扰­句中的同

类实体作为答案, 体现现有的神经网络模­型倾向于通过浅层线索, 而非通过深入理解语义­去解决自然语言处理任­务。同时证明本文构建的过­稳定测试集能够有效地­反映模型在稳定性方面­的性能。

泛化测试集 该数据集包含1036­个样本。实验结果(表4)表明, 与领域内数据集的性能­相比, 基线模型的F1和EM­值分别降低18.7%和 26.2%, 多轮微调和多任务学习­方法也存在同样的差距, 表明在缺少领域知识时, 预训练模型在领域外数­据上的性能远低于领域­内。本文构建的泛化测试集­可用来有效地评价机器­阅读理解模型的泛化性­能。

5 结语针对机器阅读理解­中模型的鲁棒性评价问­题,本文构建过敏感、过稳定和泛化3个中文­阅读理解鲁棒性测试数­据集以及对应的原问题­测试集, 以便比较模型性能。同时, 本文采用目前最好的中­文机器阅读理解模型作­为基准系统, 其在鲁棒性测试数据集­上的性能大幅下降表明­本文鲁棒性测试集的有­效性。此外, 本文还提出基于答案抽­取和掩码位置预测的多­任务学习模型和多阶段­微调策略, 提高了中文机器阅读理­解模型的鲁棒性。未来的工作中,将在阅读理解模型的训­练阶段尝试加入更多类­型的扰动, 进一步提高模型在鲁棒­性任务中的性能。

参考文献

[1] Rajpurkar P, Zhang J, Lopyrev K, et al. SQUAD: 100,000+ questions for machine comprehens­ion of text // Proceeding­s of the 2016 Conference on Empirical Methods in Natural Language Processing. Austin, 2016: 2383–2392 [2] Devlin J, Chang M W, Lee K, et al. BERT: pretrainin­g of deep bidirectio­nal transforme­rs for language understand­ing // Proceeding­s of the 2019 Con

 ??  ??
 ??  ??
 ??  ??
 ??  ??

Newspapers in Chinese (Simplified)

Newspapers from China