一种基于Transformer和多任务学习的中文语法纠错方法技术

技术编号:34473979 阅读:63 留言:0更新日期:2022-08-10 08:48
本发明专利技术涉及一种基于Transformer和多任务学习的中文语法纠错方法,该方法包括以下步骤:步骤A:利用爬虫技术收集Lang

【技术实现步骤摘要】
一种基于Transformer和多任务学习的中文语法纠错方法


[0001]本专利技术涉及中文文本纠错
,尤其是涉及一种基于Transformer和多任务学习的中文语法纠错方法。

技术介绍

[0002]在互联网时代,每天都要产生海量的文本数据和文本信息,人们需要对这些数据进行核对和校正,否则会干扰后续重要的工作。常规的人工校对方式速度慢、成本高,无法适应现在的信息爆炸时代。随着计算机技术和自然语言处理技术的发展,学术界以及工业界开始自动文本校对的研究,减轻人工校对的负担。早期的文本校对采用基于规则和统计的机器学习方法,随着文本数据的扩增,该方法存在不够灵活、泛化能力差的缺点。随着深度学习的发展,主流更多选择基于深度学习的神经网络模型实现文本校对,进行大规模的文本数据的训练。
[0003]中文语法纠错指的是针对中文文本中的语法错误进行校对,包括错误检测、错误定位和错误纠正等任务,常用的语法纠错方案有两种:一种是把纠错看成错误检测、错误标注和错误纠正等子任务,将多个子模型集成起来,错误标注通常使用序列标注模型,比如BiLSTM+CRF经典模型。这种方法容易产生错误传递,上一个子模型结果影响到下一子模型,从而影响整个纠错系统性能;另一种是将纠错任务直接看成“翻译”任务,由待纠错句“翻译”成正确句,通常选择端到端的神经翻译模型(NMT)实现纠错任务,但是目前纠错的性能的速度都不能满足要求。

技术实现思路

[0004]本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种基于Transformer和多任务学习的中文语法纠错方法。
[0005]本专利技术的目的可以通过以下技术方案来实现:
[0006]一种基于Transformer和多任务学习的中文语法纠错方法,该方法包括以下步骤:
[0007]步骤A:利用爬虫技术收集Lang

8网站母语非中文学习者书写语句和对应批改语句,清洗并筛选语句对,组成语料库;
[0008]步骤B:对语料库中的语句对数据进行预处理;包括去停用词、繁体转简体、以及划分训练集和验证集;
[0009]步骤C:基于编辑操作集合生成训练样本所需的标签;
[0010]步骤D:构建基于Transformer和多任务学习的中文语法纠错模型进并采用训练集行训练;
[0011]步骤E:对完成训练的中文语法纠错模型通过验证集进行验证,根据评价指标评价纠错效果,并利用该模型输入待纠错语句进行纠错。
[0012]所述的步骤A中,对语句对进行清洗筛选的原则具体包括:
[0013]若原语句对应不止一个批改句,则选择其中一个批改句和原语句组成语句对;
[0014]若原语句没有对应批改句,表示该语句正确,则复制其本身组成语句对;
[0015]选取句长范围在20~90的原语句。
[0016]所述的步骤B中,预处理包括去停用词、繁体转简体、以及划分训练集和验证集,所述的去停用词具体为:
[0017]去除包括数字、英文、乱符的非中文字符,以提高语料数据精度;
[0018]所述的繁体转简体具体为:
[0019]将语句中的繁体字符转为简体字符。
[0020]所述的步骤C具体包括以下步骤:
[0021]步骤C1、将语句对按照字粒度切割成token序列;
[0022]步骤C2、计算待纠错语句和对应的正确句的token级别编辑距离,得到编辑操作集合;
[0023]步骤C3、根据编辑操作集合,按照多字、少字、乱序和替换四种语法错误进行分类,对待纠错语句序列中存在的语法错误进行标注,获得错误标签序列。
[0024]所述的步骤C2中,采用工具包MaxMatch(M2)计算编辑距离。
[0025]所述的步骤D中,基于Transformer和多任务学习的中文语法纠错模型包括预训练模型、Transformer和CRF层,所述的Transformer的Encoder端由Embedding层和N个相同的神经模块组成,每个神经模块由Multi

Head Attention和Feed Forward子层组成,每个子层均后接残差连接,Transformer的Decoder端由N个相同的神经模块组成,其比Encoder端多一个额外的编解码多头注意力层。
[0026]所述的中文语法纠错模型包括语法错误标注和语法纠错两个子任务,所述的Encoder端和CRF组成语法错误标注任务,所述的Encoder端和Decoder端组成语法纠错任务,且二者共Encoder端隐层权重,所述的Encoder端Embedding层输入为待纠错句序列,Decoder端Embedding层输入为正确句序列,CRF层输出语句中存在的错误标签,Decoder端输出纠错模型的最终结果,即待纠错句对应的纠正语句,Embedding层用以将输入的语句序列映射为词向量,神经模块的Multi

Head Attention用于计算注意力,Feed Forward用于对输入数据进行线性变换,残差连接用以防止模型过拟合以及加快收敛速度,CRF层用以添加约束保证预测的标签序列合法。
[0027]所述的预训练模型具体采用Hugging Face的开源中文预训练模型Chinese

RoBERTa

wwm

ext。
[0028]所述的步骤D中,训练基于Transformer和多任务学习的中文语法纠错模型具体为:
[0029]使用预训练模型权重初始化Transformer的Encoder端,其他部分随机初始化,进行超参数微调训练,超参数包括batch size、epoch、learning rate和drop rate,在训练过程中,每次输入一批次的语句对数据。
[0030]所述的步骤E具体为:
[0031]利用验证集验证训练好的中文语法纠错模型,并使用评价指标对模型纠错效果进行评价,所述的评价指标包括精确率、召回率和综合指标F值。
[0032]与现有技术相比,本专利技术具有以下优点:
[0033]一、本专利技术提出一种基于编辑操作集合的错误标签生成方法,扩增了语料数据的
多样性。
[0034]二、本专利技术采用基于注意力机制的Transformer模型能够更好地捕捉上下文语义信息,并且实现并行处理,加快计算速度。
[0035]三、本专利技术提出一种多任务学习的中文语法纠错方法,相较于单任务模型,进一步提高纠错模型的性能和泛化能力,提升纠错效果。
[0036]四、本专利技术通过结合预训练模型的微调训练有效加快模型收敛速度,进一步提高了模型的性能。
附图说明
[0037]图1为本专利技术的步骤结构框图。
[0038]图2为本专利技术的语料预处理流程图。
[0039]图3为本专利技术的Transformer模型结构图。
[0040]图4为本专利技术的基于Transf本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Transformer和多任务学习的中文语法纠错方法,其特征在于,该方法包括以下步骤:步骤A:利用爬虫技术收集Lang

8网站母语非中文学习者书写语句和对应批改语句,清洗并筛选语句对,组成语料库;步骤B:对语料库中的语句对数据进行预处理;包括去停用词、繁体转简体、以及划分训练集和验证集;步骤C:基于编辑操作集合生成训练样本所需的标签;步骤D:构建基于Transformer和多任务学习的中文语法纠错模型进并采用训练集行训练;步骤E:对完成训练的中文语法纠错模型通过验证集进行验证,根据评价指标评价纠错效果,并利用该模型输入待纠错语句进行纠错。2.根据权利要求1所述的一种基于Transformer和多任务学习的中文语法纠错方法,其特征在于,所述的步骤A中,对语句对进行清洗筛选的原则具体包括:若原语句对应不止一个批改句,则选择其中一个批改句和原语句组成语句对;若原语句没有对应批改句,表示该语句正确,则复制其本身组成语句对;选取句长范围在20~90的原语句。3.根据权利要求1所述的一种基于Transformer和多任务学习的中文语法纠错方法,其特征在于,所述的步骤B中,预处理包括去停用词、繁体转简体、以及划分训练集和验证集,所述的去停用词具体为:去除包括数字、英文、乱符的非中文字符,以提高语料数据精度;所述的繁体转简体具体为:将语句中的繁体字符转为简体字符。4.根据权利要求1所述的一种基于Transformer和多任务学习的中文语法纠错方法,其特征在于,所述的步骤C具体包括以下步骤:步骤C1、将语句对按照字粒度切割成token序列;步骤C2、计算待纠错语句和对应的正确句的token级别编辑距离,得到编辑操作集合;步骤C3、根据编辑操作集合,按照多字、少字、乱序和替换四种语法错误进行分类,对待纠错语句序列中存在的语法错误进行标注,获得错误标签序列。5.根据权利要求4所述的一种基于Transformer和多任务学习的中文语法纠错方法,其特征在于,所述的步骤C2中,采用工具包MaxMatch(M2)计算编辑距离。6.根据权利要求1所述的一种基于Transformer和多任务学习的中文语法纠错方法,其特征在于,所述的步骤D中,基于Transformer和多任务学习的中文语法纠错模型包括预训练模型、Transformer和CRF层,所述的Transformer的Encoder端由Embedding层和N个相同的神经...

【专利技术属性】
技术研发人员:黄继风冯雅
申请(专利权)人:上海师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1