本文摘要:摘要:预训练语言模型在机器阅读理解领域表现出色。相比于英文机器阅读理解,基于预训练语言模型的阅读理解模型处理中文文本时的表现稍差,只能学习文本的浅层语义匹配。为此,提出一种基于混合注意力机制的中文机器阅读理解模型。该模型在编码层使用预训练模型得到序
摘要:预训练语言模型在机器阅读理解领域表现出色。相比于英文机器阅读理解,基于预训练语言模型的阅读理解模型处理中文文本时的表现稍差,只能学习文本的浅层语义匹配。为此,提出一种基于混合注意力机制的中文机器阅读理解模型。该模型在编码层使用预训练模型得到序列表示,并经过BiLSTM处理进一步加深上下文交互;再经过由两种变体自注意力组成的混合注意力层处理,旨在学习深层语义表示,而融合层结合多重融合机制获取多层次的表示;最终使用双层BiLSTM处理输入输出层得到答案位置。在CMRC2018数据集上的实验结果表明,该模型与复现的基线模型相比EM值和F1值分别提升了2.05和0.465。
关键词:中文机器阅读理解;注意力机制;融合机制;预训练模型;RoBERTa模型
0概述
机器阅读理解是自然语言处理领域的一个极具挑战性的任务,一直深受研究人员的关注。深度学习技术的成熟以及数据多样化推动机器阅读理解领域快速发展,基于深度学习建立阅读理解模型已成为目前普遍采用的方法。机器阅读理解是指让机器通过阅读文本,回答相应的问题。机器阅读理解技术通过训练模型帮助用户从大量的文本中快速、准确地找到答案。根据答案类型的不同,机器阅读理解任务可分为四类[1]:
1)完形填空式,该类任务要求模型从候选答案集合中选择一个正确的词进行填至问题句,使文章变得完整。2)抽取式,这类任务要求模型能根据提出的问题在文章中抽取一个连续片段作为答案,输出答案在上下文中的起始位置和结束位置。3)多项选择式,这种形式需要从候选答案集合中挑选正确答案。
4)自由作答式,在该类任务中,答案的类型不受限制。其中,抽取式阅读理解任务的形式相对灵活,能够适用于现实中大部分场景,如搜索引擎、智能问答等。本文针对抽取式机器阅读理解任务进行深入研究。 预训练语言模型BERT[2]的出现使得一些模型在阅读理解任务上的表现接近甚至超过了人类,推动机器阅读理解的研究进入新的阶段。BERT模型优秀的表现受到了众多专家、学者的高度关注,近两年涌现出了很多基于BERT改进的模型,如ALBERT[3]、RoBERTa[4]等,使用预训练模型已成为机器阅读理解的发展趋势。
由于预训练模型只能学习到文本的浅层语义匹配信息,目前大多数模型都采取了预训练语言模型与注意力机制结合的方式,即通过预训练模型获取相应表示,再使用注意力机制进行推理,从而捕捉文本的深层语义信息,预测出更加准确的答案。但原始的预训练模型是针对英文语言设计的,无法有效处理中文文本。本文提出了一种基于混合注意力机制的中文机器阅读理解模型。该模型使用混合注意力机制进行推理,并结合多重融合机制丰富序列信息。在CMRC2018中文阅读理解数据集上的实验结果表明,本文模型最终得到的EM值和F1值与复现的基线模型相比分别提高了2.05和0.465。
1相关工作
1.1结合注意力机制的机器阅读理解
Bahdanau等人将注意力机制用于机器翻译任务,这是注意力机制第一次应用于自然语言处理领域。引入注意力机制后,不同形式的注意力机制成为基于神经网络模型在阅读理解任务上取得好成绩的一个关键因素。
2015年,Hermann等人提出了两个基于神经网络的模型TheAttentiveReader和TheImpatientReader,首次将注意力机制应用于机器阅读理解的任务中,通过注意力机制得到问题和文章之间的交互信息。后来提出的AttentionSumReader模型,以及TheStanfordAttentiveReader模型均着重于提升注意力模型中对问题和文章的相似度计算能力。前期模型中使用的注意力机制大多较为简单,对文本理解能力不足,无法对文章和问题进行有效交互。针对这一问题,研究人员开始在深层注意力机制方面做了大量的研究。BiDAF模型同时计算文章到问题和问题到文章两个方向的注意力信息,捕获问题和文章更深层的交互信息。DocumentReader模型10]将词性等语法特征融入词嵌入层,经过模型处理得到答案。
Net模型[1在计算问题和文章的注意力之后加入自匹配注意力层,对文章进行自匹配,从而实现文章的有效编码。FusionNet模型12]融合多个层次的特征向量作为输入。2017年,谷歌的研究人员提出了Transformer模型[1,该模型仅仅依靠自注意力机制就在多个任务上取得了最好结果,证明注意力机制拥有较强的提取文本信息的能力。2018年,谷歌团队提出了基于双向Transformer的预训练语言模型BERT。这种双向的结构能够结合上下文语境进行文本表征,增强了模型的学习能力。BERT的出现刷新了11个自然语言处理任务的最好结果,使得预训练语言模型成为近几年的研究热点。
1.2中文机器阅读理解
中文机器阅读理解领域起步较晚,由于缺少优质中文数据集,发展相对缓慢。在近几年发布的各种中文机器阅读理解数据集的影响下,越来越多的研究人员致力于中文领域的探索。
2016年,Cui等人[1发布了第一个大规模填空型中文机器阅读理解数据集PeopleDailyandChildren’sFairyTale,填补了大规模中文阅读理解数据集的空白。2017年,Cui等人[1在此数据集的基础上提出了CMRC2017数据集,作为第一届“讯飞杯”中文机器阅读理解评测比赛的数据集。2018年,Cui等人16发布抽取型中文机器阅读理解数据集CMRC2018,该数据集作为第二届“讯飞杯”中文机器阅读理解评测比赛使用的数据集,也是本文实验使用的数据集。
该数据集由近两万个人工标注的问题构成,同时发布了一个需要多句推理答案的挑战集。He等人17同样在2018年提出DuReader数据集,该数据集共包含20万个问题、100万篇文章和超过42万个人工总结的答案,数据来源更贴近实际,问题类型丰富,是目前最大的中文机器阅读理解数据集。
徐丽丽等人[1搜集全国各省近10年高考题以及高考模拟题中的981篇科技文语料,构建了4905个问题,同时搜集万篇新闻语料,构造10万个补写句子类选择题语料。Shao等人[1提出了繁体中文机器阅读理解数据集DRCD,该数据集包含从2108篇维基百科文章中摘取的10014篇段落以及超过万个问题。中文机器阅读理解领域受到研究人员越来越多的关注,不断有优秀的方法与模型出现,呈现繁荣发展的趋势。
2模型结构
为了提高模型对中文文本的理解能力,本文提出了一种基于混合注意力机制的中文机器阅读理解模型。首先经过编码层得到序列表示,再使用混合注意力机制提取文本中可能与答案有关的关键信息,然后结合多重融合机制融合多层次的序列信息,经过双层BiLSTM建模后传入输出层,最终输出正确答案所在位置。
2.1编码层
编码层使用中文预训练语言模型RoBERTa[18]对问题和文章进行编码。RoBERTa模型仍使用BERT的基本结构,在模型训练时有如下几个方面的差异:
1)使用动态掩码机制。2)移除BERT中采用的下一句预测训练任务。3)使用更大Byte级别的文本编码方式。4)使用更大批次以及更大规模的数据进行训练。实验结果表明,RoBERTa在多个任务上的表现优于BERT。本层将问题和文章拼接后的文本输入RoBERTa模型中,经过分词器处理后的每一个词称为token,最终RoBERTa模型输入的编码向量为token嵌入、位置特征嵌入以及用以区分问题和文章的分割特征嵌入之和。本文使用的RoBERTa模型由12层Transformer编码器组成,本模型取最后一层编码输出作为文本嵌入表示。
2.混合注意力层
混合注意力层基于混合注意力机制处理编码层得到的上下文向量,进而学习文本中更深层次的语义信息,该层是模型的核心部分。本层的混合注意力机制由Synthesizer20中提出的两种自注意力机制的变体注意力RandomSynthesizer和DenseSynthesizer组成。传统的自注意力机制通过计算序列中每一个token与序列中其他token的相关度得到权重矩阵,再将归一化后的权重和相应的键值进行加权求和,得到最终的注意力表示。这里的相关度一般通过点积得分矩阵体现,点积自注意力的主要作用是学习自对齐信息,即token对的交互信息。自注意力机制通过比较序列本身捕捉序列和全局的联系,获取文本特征的内部相关性。
这种从tokentoken交互中学习到的注意力权重有一定的作用,但也存在缺点。传统自注意力机制中的权重包含实例中token对的交互信息,通过计算点积的方式得到每个token与序列其他token的相对重要度。这种方式过度依赖特定实例,仅通过token对之间的相关度决定答案的概率是不稳定的,缺乏一致的上下文联系,很大程度上会受不同实例影响,不能学习到更多的泛化特征。
在Synthesizer[19]一文中的实验表明,与传统自注意力机制相比,Synthesizer注意力机制得到的权重曲线更加平滑。受其启发,本文认为这种合成权重矩阵的自注意力机制不会从特定的token中获益,可以在提取序列关键信息的同时减小因不同实例产生的影响,因此本层使用这种合成注意力来提取文本深层信息。这种合成矩阵的注意力与点积注意力或考虑上下文的注意力不同,它不依赖于tokentoken交互的方式生成权重矩阵,受特定样本的影响较小,能够学习到较为稳定的权重值。
3实验与分析
3.1数据集
本文使用CMRC2018评测任务数据集以及DRCD数据集进行实验。两个数据集的格式相同,均用于抽取式阅读理解任务。其中,CMRC2018数据集为简体中文数据集,DRCD数据集为繁体中文数据集。除对比实验外,其余几组实验均使用CMRC2018数据集。以CMRC2018数据集为例。[Document]白荡湖位于中国安徽枞阳县境内,紧邻长江北岸,系由长江古河床摆动废弃的洼地积水而成。湖盆位置介于北纬30度47分~30度51分、东经117度19分~117度27分。
白荡湖原有面积近100平方公里,经过近五十年的围垦,目前面积缩小为39.67平方公里,平均水深3.06米,蓄水量1.21亿立方米。通过白荡闸与长江连通,是长江重要的蓄洪湖之一。湖水补给主要依赖降水与长江倒灌,入流的罗昌河、钱桥河等均为季节性溪流,入水量较小。白荡湖是重要的水产养殖基地,盛产各种淡水鱼类与水禽,其中以大闸蟹产量最大。每年冬季开启白荡闸排干湖水捕鱼,次年月左右再引长江水倒灌,水位至、月份达到最高。
3.2实验配置
本文实验采用GPU进行训练,开发语言为Python,深度学习框架为Pytorch。由于本文模型加入注意力层以及BiLSTM,增加了序列之间的交互过程,因此相比基线模型,本文模型的训练速度更加缓慢。
3.3评价指标
本文采用EM值和F1值作为评价指标。EM值为精确匹配度,计算预测答案与真实答案是否完全匹配。F1值为模糊匹配度,计算预测答案与标准答案之间的匹配程度。这两个指标通常作为抽取式机器阅读理解的评价指标。
3.4结果与分析
3.4.1对比实验
为验证本文提出的模型在中文机器阅读理解任务的有效性,将本文模型与以下几个模型进行实验对比。BERTbase(Chinese)和BERTbase(Multilingual)为CMRC2018评测任务选用的基线模型。RoBERTawwmext21为本文选取的基线模型,该模型针对中文改进预训练模型中的全词掩码训练方法。MacBERTbase为文献[2提出的预训练模型,该模型主要针对mask策略对RoBERTa进行改进.
本文模型在CMRC2018数据集的EM值和F1值分别达到69.835和88.037,相比复现的基线模型分别提高了2.05和0.465,在DRCD数据集的EM值和F1相比基线模型分别提高了0.256和0.113,在两个数据集上的表现均优于其他对比模型。实验结果表明本文模型在性能上有显著提升,能够学习到文本的深层语义信息,有效改进了预训练语言模型。
3.4.2消融实验
为研究混合注意力以及多重融合机制对模型的贡献,设计消融实验进一步分析。由于多重融合机制需要混合注意力的输出信息,因此本节实验考虑两部分共同作用的影响。
4结束语
本文针对抽取式中文机器阅读理解任务展开研究,提出了一种基于混合注意力机制的阅读理解模型。该模型主要从以下两个方面来改进中文机器阅读理解模型对文本的理解能力,首先使用两种自注意力机制的变体模型对序列进行处理,加深对文本语义信息的理解,其次对输出的注意力进行多层次的融合,使得输出的序列携带更加丰富的信息。大量实验表明,以上措施提升了模型的理解能力,改进了模型对语义的获取方法,同时保留了原序列的信息特征,提高了预测答案的准确率。
分析发现,目前中文机器阅读理解模型存在答案边界不准确的问题,因此在下一阶段的工作中,考虑将使用分词器优化模型输入,将分词结果作为输入特征加入序列中,从而优化答案边界。此外,结合双向注意力机制,融合文章到问题以及问题到文章双向的注意力,优化模型结构,加深对文本的理解。
参考文献
[1]HENanqi.Neuralreadingcomprehensionandbeyond[D].PaloAlto:StanfordUniversity,2018.
[2]DevlinJ,ChangMW,LeeK,etal.Bert:Pretrainingofdeepbidirectionaltransformersforlanguageunderstanding[EB/OL].(20181011)[202107].
[3]LanZ,ChenM,GoodmanS,etal.Albert:Alitebertforselfsupervisedlearningoflanguagerepresentations[EB/OL].(20190926)[202107].
[4]LiuY,OttM,GoyalN,etal.Roberta:Arobustlyoptimizedbertpretrainingapproach[EB/OL].(201907)[202107].https://arxiv.org/abs/1907.11692.BahdanauD,ChoK,BengioY.NeuralMachineTranslationbyJointlyLearningtoAlignandTranslate[EB/OL].(20140901)[202107].
作者:刘高军,李亚欣,段建勇
转载请注明来自发表学术论文网:http://www.fbxslw.com/jjlw/29156.html