机器阅读理解(machine reading comprehension,MRC)属于智能问答[1]研究领域的一项复杂任务,常被用于评测模型对文本的理解性能.采用机器阅读理解技术实现对司法文书的自动阅读理解,可以从非结构化的司法文书中抽取出与问题相关的细粒度信息,帮助法官、律师或公众快速、精准地获取案件信息.虽然司法机器阅读理解研究已取得一些进展,但起步晚、领域性强,仍存在一些须要解决的问题.a. 数据缺乏.现有阅读理解数据集包括CNN/Daily Mail[2],SQuAD[3],DuReader[4]和CMRC 2018[5]等,多数来源于新闻、网络文章等通用领域数据.而由于司法领域专业性较强,对标注人员的专业能力有着很高的要求,因此相关的数据集比较缺乏,目前相对被广泛接受的数据集是CJRC[6]数据集.CJRC数据集参考了SQuAD2.0[7]的标注形式,引入了不可回答类型问题.不可回答问题即给定问题在当前文书段落中无法得到材料、证据支撑,模型须要拒绝回答,不能强行给出答案片段.此类样本须要模型理解段落和问题整体语义才能进一步判定,相比答案抽取任务,对模型提出了更高的要求.并且在CJRC训练集中此类问题样本占比较少,现有的MRC模型无法有效地判定.b. 缺乏针对性的预训练.传统神经网络模型采用长短期记忆网络(LSTM)和注意力机制(attention)等结构组解决MRC任务,如Attentive Reader[2],BiDAF[8]和QANet[9]等经典MRC模型.Google于2018年提出BERT[10]语言模型,MRC任务开始转为预训练-微调的方式进行,极大地提升了各项MRC数据集上的表现.在此基础上,文献[11]提出了中文的RoBERTa-wwm模型,采用中文分词技术构造全词遮蔽任务进行预训练,有效提升了中文任务上的性能.该系列模型通过大规模语料预训练学习通用知识,然而训练任务为预测遮蔽词,与MRC任务相差较大,不能有效地将知识迁移至模型中.c. 存在噪声数据导致泛化性差.当处理司法数据时,模型往往会因为字符的缺失或者写错而出现理解偏差,抽取出错误的答案.如给定“原、被告于2007年3月15日补办结婚登记手续2014年5月4日,原、被告因感情不和,自愿办理离婚登记手续”段落,提问“原告和被告何时登记结婚的?”原有模型会因为段落中“2014年5月4日”之前缺失一个逗号而导致语义理解错误,从而将结婚时间抽取成离婚登记时间,因此我们须要改善模型应对噪声数据的能力,提升模型的鲁棒性和泛化性.针对以上问题,本研究在RoBERTa-wwm[11]预训练模型的基础上,提出不可回答问句增广、任务预训练和对抗训练三种策略进行优化.其中不可回答问句增广采用基于UniLM[12]的生成模型学习裁判文书中不可回答问题的生成机制,生成不可回答问题扩充训练集.任务预训练借助了BERT预训练的思想,使用通用领域的MRC数据集进行预训练,将知识迁移至司法MRC模型中,从而提升模型的性能.最后,借助快速梯度算法(fast gradient method,FGM)[13]提升模型的鲁棒性和泛化能力.本研究在CJRC数据集上进行了实验,证明了三种优化策略的有效性.1 本文方法1.1 基于RoBERTa-wwm机器阅读理解模型构建本研究所使用的基本模型为RoBERTa-wwm,在下游任务层中构造回答类型判定、答案位置抽取两个线性层共同优化,形成端到端的MRC模型,基于RoBERTa-wwm的机器阅读理解模型见图1.10.13245/j.hust.220222.F001图1基于RoBERTa-wwm的机器阅读理解模型给定问句Q={q1,q2,⋯,qn}和段落P={p1,p2,⋯,pm},将其与RoBERTa-wwm模型既定特殊标识符CLS和SEP进行组合.其中CLS置于首位,用于标识整个输入的语义,SEP用于分割问句和段落的字符输入.模型将输入映射为字符特征(token embedding)、位置特征(position embedding)和句子类型(segment embedding)特征,并将三种特征相加作为最终输入序列的嵌入表示.模型一共包含L层Transformer[21]结构,本研究使用base版本的RoBERTa-wwm权重进行实验,该权重的L为12.通过多层Transformer对输入进行交互计算,得到问句、段落之间交互融合后的特征.最终,模型最后一层输出特征表示为O={hCLS,hq1,hq2,⋯,hqn,hSEP,hp1,hp2,⋯,hpm,hSEP}.在下游任务层有答案类型判别和答案片段位置判别两个优化任务.使用CJRC作为训练数据集,该数据集问题类型分为Yes,No,Unanswerable和Span,即回答是、回答否、不可回答和答案片段四种类型.问题类型判别层将CLS位置的特征向量hCLS作为整体输入的表示向量,使用一层全连接层网络(MLP)和Softmax得到四个回答类型的概率分布为a=Softmax(D(hCLS)),式中D为全连接网络.答案片段位置包括开始位置和结束位置,在得到RoBERTa-wwm的输出特征之后,使用一层MLP对段落对应位置的特征进行线性变换,并结合Softmax得到开始和结束位置的概率分布Us,Ue=Softmax(D({hp1,hp2,⋯,hpm})),式中:Us={sp1,sp2,⋯,spm}为段落字符属于开始边界概率;Ue={ep1,ep2,⋯,epm}为段落字符属于结束边界的概率.1.2 基于UniLM的不可回答问题数据增广问题生成是MRC任务中的一种数据增强手段,以往研究采用基于LSTM和Attention的序列生成模型进行问题生成[14-16].然而,传统序列生成模型不具备先验知识,在样本量较小的情况下无法生成具备可读性的问句.为了生成质量更高的问句,选择使用生成式的预训练语言模型搭建问题生成模型.UniLM[12]是微软提出的一个统一预训练语言模型,该模型利用Attention中的遮掩矩阵(Mask),在不同任务上使用不同类型的Mask限制模型的上下文感知,使得统一模型结构在自然语言理解和自然语言生成两种类型任务上都取得了很好的结果.由于微软官方并没有开源UniLM的中文权重,因此本研究借助文献[17]的思想,采用UniLM提出的Mask结构对BERT模型进行改造,搭建不可回答问题生成模型.BERT模型中的Mask只遮蔽填充的字符,限制真实字符到填充字符注意力权重.基于UniLM的问句生成模型如图2所示,将BERT模型改造成文本生成的UniLM,只须限制问句中的字符只可见其往前的字符及输入的段落,这样就达到生成语言模型的要求,即下文不可见.在训练阶段,输入为段落和问句,预测目标则是输入字符的身份标识号(ID)往后移一位的序列,与输入错开一位,目的是构造根据当前序列预测下一个字符的生成任务场景.在预测阶段输入段落,预测下一个字符,即问句的第一个字符,然后将预测字符拼接在原始段落输入中,继续预测下一个字符.重复以上预测操作,直至解码出SEP.10.13245/j.hust.220222.F002图2基于UniLM的问句生成模型不可回答问句生成数据集由原本训练数据集中不可回答问题及其段落组成.基于上述模型,采用构造数据集进行模型训练,保存在训练过程中损失最小的模型.最后对训练集中裁判文书文档进行不可回答问题生成,将生成问题混入训练集中参与机器阅读理解模型训练.1.3 任务预训练本研究的任务预训练的数据集来源于目前开源的中文机器阅读理解数据,包括DuReader[4]和CMRC2018[5]等.其中,DuReader数据集中包含很多类型的问题,与司法机器阅读理解数据最为接近的是实体类型问题,因此本研究只从DuReader中提取了实体类型问题及对应的段落.由通用领域数据构造的预训练数据集中没有不可回答、回答是、回答否三种类型的问题,因此在下游任务层中不包含答案类型判断.在迁移阶段,为了保证模型在司法领域数据集上不产生负优化,先将预训练得到的权重中涉及下游任务层的参数去除,只保留上游特征抽取层参数.然后加载保留参数,随机初始化答案类型判断层的参数及起始位置预测层的参数,在CJRC数据集上进行微调.1.4 基于对抗训练的模型鲁棒性优化本研究使用FGM算法对模型进行对抗训练.对抗训练的本质就是在最大化损失的方向计算扰动,让模型增加扰动后最小化损失[18].对抗训练算法之间的区别在于如何计算扰动值.在FGM算法中,扰动值由词嵌入矩阵当前梯度值计算而来,即radv=ε∇xL(x,y;θ)/||∇xL(x,y;θ)||,式中:ε为设置参数,本研究设为1.0;∇x为对x求取梯度,x为模型输入;L(x,y;θ)为样本对应的损失;y为对应标签;θ为模型参数.将得到的扰动注入词嵌入层的参数中,注入扰动后使用原有样本和标签计算扰动损失,与原有的真实损失一同对模型参数进行优化.2 实验及结果分析2.1 数据集本实验建立在CJRC数据集上,该数据集的问题构造参考了SQuAD2.0[7]和CoQA[19]数据集,包括片段抽取、回答是、回答否及不可回答四种类型.数据涉及刑事和民事两种类型案件,其中刑事案件包括故意伤害罪、盗窃罪、开设赌场罪等十五种案由,民事案件包括变更抚养关系纠纷、保险纠纷、民间借贷纠纷等十五种案由.训练集、验证集、测试集一共包括1.0×104篇裁判文书,5.2×104个问题.CJRC数据集分布如表1所示.10.13245/j.hust.220222.T001表 1CJRC数据集分布表数据集问题总数/103不可回答回答是/否训练集401 9015 108验证集61 246655测试集61 262637从表1可以看出:不可回答问题在验证集和测试集中占比较大,在训练集中占比较少,因此不可回答问题会对模型效果造成一定的影响.2.2 评价指标给定一个正确答案g,预测答案p,F1值(F)计算方式为P=Lcs(g,p)Len(p);R=Lcs(g,p)Len(g);F=2PRP+R,式中:P和R分别为精确率和召回率;Lcs为计算两个字符串最大公共子串长度的操作;Len为计算字符串长度的操作.由于在验证集和测试集中每个问题都对应三个正确答案,因此每个预测答案最终的F1值是与三个正确答案的得分最大值.验证集和测试集最终的F1值为所有预测答案的F1值取平均.2.3 参数设置a. 机器阅读理解模型机器阅读理解模型采用RoBERTa-wwm作为基本模型结构.模型最大输入长度包括问句长度和段落长度,最大问句长度设置为32,最大答案长度为55,优化器使用AdamW,N-best大小设置为20.b. 问句生成模型使用RoBERTa-wwm-ext-base作为基本权重,最大输入长度设置为512,生成最大问句长度为32,学习率为1×10-5,优化器为Adam,迭代20轮.预测解码方式为束搜索算法,每个时间步枚举2个候选词.2.4 实验结果与分析为了全方位对本文模型和本文方法进行评估,在CJRC数据集上设计了四组对比实验.实验A在相同的模型参数下采用原有数据集和混入生成问句数据集进行实验;实验B在保留不同比例训练样本数的条件下测试任务预训练对机器阅读理解性能的影响;实验C在相同的模型参数下验证对抗训练的效果;实验D将本文方法和其他方法进行对比,证明本研究优化策略的有效性.2.4.1 实验A:不可回答问句扩充对模型的影响从表1可以看出:不可回答问题在验证集和测试集中占比较高,但训练数据却不足,因此不可回答问题的分数会严重影响最终的实验结果.本组实验采用原有训练集和混入生成不可回答问题训练集进行对比实验,不可回答问句扩充对模型F1值的影响如表2所示.10.13245/j.hust.220222.T002表 2不可回答问句扩充对模型F1值的影响数据集问题类型扩充前扩充后验证集片段抽取84.982.9回答是88.981.8回答否78.078.7不可回答69.581.9全部81.582.5测试集片段抽取85.083.8回答是89.882.1回答否73.477.0不可回答67.680.4全部81.282.7实验结果表明:添加UniLM生成的不可回答问题后,模型在不可回答问题类型上的F1值提升了10%以上,整体将验证集和测试集上的F1值分别提升了1%和1.5%,这说明使用不可回答问题扩充原有训练集可以减少此类问题样本量不足的影响,进而有效地提升模型的性能.但扩充数据集后片段抽取类型和回答是类型问题稍有下降,这主要是因为增加不可回答问题后,数据集分布被轻微改变,如果对增强数据比例进行精调,模型F1值应该可以进一步提升.2.4.2 实验B:任务预训练对模型的影响本组实验使用任务预训练权重和原本RoBERTa-wwm-ext-base权重在不同训练样本量下的F1值对该方法进行对比评估.任务预训练在不同训练样本量下的影响如图3所示,图中:k为参与训练样本占训练集中总样本量的比例,以0.2为间隔进行实验.实验所使用的训练集为增加不可回答问题后的数据集.10.13245/j.hust.220222.F003图3任务预训练在不同训练样本量下的影响实验结果表明:通用领域机器阅读理解数据预训练后的权重在样本量越少的情况下相较于原始权重的优势越明显.且预训练权重仅使用40%的训练数据集就超过了原有权重的最佳效果,使用全量数据后相比原始权重F1值高出2.72%.这说明模型在通用领域机器阅读理解数据上学习到的推理知识可以采用预训练的方式迁移到司法领域,帮助模型在少样本数据集上更快地拟合;同时,也证明了使用和训练数据集相似的数据进行任务预训练可以在自监督预训练的基础上进一步提升模型的效果.2.4.3 实验C:对抗训练对模型的影响对抗训练通过对嵌入层矩阵添加扰动增强模型在对抗样本下的表现,提升模型整体的鲁棒性和泛化能力.为了验证对抗训练的性能,在实验B中的预训练权重基础上,对比训练阶段无对抗和增加对抗训练的性能.对抗训练对模型F1值的影响如表3所示.10.13245/j.hust.220222.T003表 3对抗训练对模型F1值的影响数据集问题类型无对抗增加对抗验证集片段抽取86.587.0回答是90.188.3回答否61.761.6不可回答82.585.3全部85.085.9测试集片段抽取87.287.6回答是91.989.6回答否61.364.6不可回答82.383.9全部85.686.2实验结果表明:对抗训练在大部分问题类型上都得到了一定的提升,在实验B的迁移学习实验基础上,整体将验证集和测试集上的F1值分别提升了0.9%和0.6%.这说明在模型训练阶段使用真实样本损失和对抗样本损失可以在一定程度上提升模型的性能,增强模型的鲁棒性和泛化能力.在实际应用场景中测试,对抗训练后的模型在问句和段落含有噪声的情况下的表现比不增加对抗训练的模型更为稳定,具有很好的应用价值.2.4.4 实验D:模型对比实验为了进一步验证三种优化策略的有效性,本研究与BiDAF[8]及BERT[10],BERT-wwm[11],BERT-wwm-ext[11]和RoBERTa-wwm[11]等多种预训练模型进行对比实验.模型F1值对比结果如表4所示,其中BiDAF实验结果来自于文献[6],BERT等预训练实验结果来自于文献[20].RoBERTa-wwm相比其他模型,采用了全词Mask的预训练任务,并且使用了更多的预训练数据,在CJRC数据集上取得了较好表现,因此本研究选择RoBERTa-wwm作为基本模型.10.13245/j.hust.220222.T004表4模型F1值对比模型验证集测试集BiDAF[8]62.662.74BERT[10]75.475.2BERT-wwm[11]75.275.4BERT-wwm-ext[11]76.075.8RoBERTa-wwm[20]79.179.0本文模型(优化前)81.581.2本文模型(优化后)85.986.2从表4中可以看出:预训练模型F1值远高于BiDAF模型,这说明经过大规模数据预训练后的模型可以得到很好的语义表示,能够有效地改善模型在特定任务中的性能;同时,预训练模型都基于Transformer[21]结构,可以为段落和问句提供充分交互,从而提升MRC任务性能.本文模型基于RoBERTa-wwm进行设计,采用了多任务联合学习的机制,并对答案进行了后处理操作,相比原有基线模型有较好的表现,F1值提升了2%.增加三种优化策略后,本文模型在CJRC数据集上获得了更好的F1值,表明了不可回答问题、任务预训练及对抗样本对司法MRC任务有重要的影响,本文的优化方法可以有效改善模型的性能.3 结语本研究针对CJRC数据集设计了基于RoBERTa-wwm的机器阅读理解模型,并针对数据集中不可回答问题训练样本不足、整体标注样本较少和模型鲁棒性不足的情况,使用基于UniLM的问句生成、基于迁移学习的任务预训练、对抗训练三种方法进行优化改进,本文优化方法相比基线模型F1值提高了5%.后续将继续增加数据,引入更多训练方式,对机器阅读理解模型进行预训练,提升多种机器阅读理解任务的性能.

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读