一种基于拼音特征表征的中文纠错方法及系统技术方案

技术编号:28872583 阅读:22 留言:0更新日期:2021-06-15 23:05
本发明专利技术提出了一种基于拼音特征表征的中文纠错方法及系统,其包括如下步骤:S1、构建汉字的拼音模糊集以及构造含有汉字错别字的中文语句训练样本;S2、利用上述训练样本进行模型训练;以及S3、提取目标中文语句中汉字的汉字字符嵌入序列和拼音字符嵌入序列,并输入到训练模型中,以得到目标中文语句中每个位置的汉字预测结果,最终获得纠错后的中文语句。本发明专利技术通过正确汉字和错别字之间以拼音作为媒介的映射关系来获得拼音模糊集,并基于混合注意力模块建立训练模型,以此提高错别字的学习效率和预测的准确度。

【技术实现步骤摘要】
一种基于拼音特征表征的中文纠错方法及系统
本专利技术涉及数据处理领域,尤其涉及一种基于拼音特征表征的中文纠错方法及系统。
技术介绍
中文汉字纠错一直是国内自然语言处理研究领域的热点。由于深度学习可以使得模型自动学习有效的语言知识,所以近年来在这个问题上,新提出的基于深度学习的方法总体上超过了基于传统机器学习的方法。现阶段,基于BERT(即BidirectionalEncoderRepresentationsfromTransformer)模型的方法在效果上达到了一个新的高度,该方法的优势在于其预训练阶段可以使语言模型学习到非常有效的语言知识。将一个句子视作汉字字符序列,那么利用语言知识来纠正某个错别字其实就是建立句子中该错别字之外的其余字符序列与该错别字对应的正确汉字之间的映射关系。错别字之外的其余字符序列可以称为句子上下文信息,与该错别字对应的正确汉字可以称为预测目标。BERT模型的“遮掩语言模型”机制就是利用句子上下文来对每个位置的汉字进行预测,如果预测结果和输入不一样,则该位置的汉字被视作错别字。但通过BERT模型进行预测时,每次只能遮住15%的汉字,然后仅对这15%的汉字进行预测,所以每个句子至少需要预测7次才能输出整个预测结果,导致学习和预测效率较低。对此,目前通过引入额外的特征加强BERT模型的预测效果,如Soft-MaskedBERT、SpellGCN等。其中,Soft-MaskedBERT通过添加DetectionNetwork来给BERT模型添加错别字位置信息,SpellGCN则通过图嵌入给BERT模型添加与输入汉字近音、近形、近义等汉字的信息。在实践当中,这些改进的模型都达到了比较好预测、纠错效果。由于智能拼音输入法的普及,对于中文纠错而言,句子中的大部分错别字都和该错别字的拼音具有较强的关联性。但上述各种模型多注重汉字语义的增强或加工,均未关注正确汉字与错别字在拼音输入上的联系,因此,在针对和拼音强关联的错别字纠错问题上,上述模型仍然存在预测准确度不高的问题。
技术实现思路
为解决上述技术问题,本专利技术提出了一种基于拼音特征表征的中文纠错方法及系统,其通过正确汉字和错别字之间以拼音作为媒介的映射关系来获得拼音模糊集,并基于混合注意力模块建立训练模型,以此提高错别字的学习效率和预测的准确度。为实现上述目的,本专利技术提供如下技术方案:一方面,提供了一种基于拼音特征表征的中文纠错方法,其包括如下步骤:S1、构建汉字的拼音模糊集以及构造含有汉字错别字的中文语句训练样本;S2、利用上述训练样本进行模型训练;以及S3、提取目标中文语句中汉字的汉字字符嵌入序列和拼音字符嵌入序列,并输入到训练模型中,以得到目标中文语句中每个位置的汉字预测结果,最终获得纠错后的中文语句。优选的,步骤S1中,每个汉字拼音对应的模糊集包括:该拼音声母对应的模糊声母与该拼音韵母对应的模糊韵母组合成的所有拼音;和/或,与该拼音发音相似,并且编辑距离小于2的拼音。优选的,步骤S1中,含有汉字错别字的中文语句语料包含两种输入序列:汉字字符嵌入序列和拼音字符嵌入序列。优选的,步骤S1中,构造含有汉字错别字的中文语句训练样本具体包括如下步骤:S11、抽取一正确中文语句中的若干汉字及其对应的拼音;S12、从抽取汉字拼音对应的拼音模糊集中依概率挑选出模糊拼音,然后从该模糊拼音对应的汉字中依概率挑选出一个汉字,用于替换被抽取的汉字,以获得含有汉字错别字的中文语句;S13、抽取含有错别字的中文语句中每个汉字的拼音,并将每个拼音均拆解成声母和韵母,所述含有汉字错别字的中文语句以及与其对应的每个汉字拼音的声母和韵母即构成一个该正确的中文语句的训练样本;S14、重复步骤S11-S13,以获得与该正确的中文语句对应的若干训练样本,且若干训练样本中,该正确的中文语句中每个汉字都有对应的错别字。优选的,步骤S2具体包括如下步骤:S21、将上述含有汉字错别字的训练样本的汉字字符嵌入序列和拼音字符嵌入序列分别输入多头注意力模块,再分别根据公式(1)-(2)对应输出训练样本中含有汉字错别字的中文语句的汉字字符嵌入的隐状态序列矩阵Z1和拼音字符嵌入的隐状态序列矩阵Z2;其中,WQ、WK、WV分别为三个可学习的参数矩阵;Q、K、V为三个矩阵,且公式(1)中,C+P=K=V,Q=P,公式(2)中S+Y+P=K=V,Q=P;dk是K矩阵的列维数;S22、根据公式(3)输出含有汉字错别字的中文语句的汉字隐状态序列矩阵Z,所述隐状态序列矩阵Z中的每一个行向量均与含有汉字错别字的中文语句中的一个位置的汉字的隐状态对应,该位置的汉字的隐状态含有该位置汉字的汉字上下文信息和拼音上下文信息;所述汉字上下文信息为该含有汉字错别字的中文语句中,除该位置汉字之外的其余汉字的汉字字符嵌入信息;所述拼音上下文信息为该含有汉字错别字的中文语句中,除该位置汉字之外的其余汉字的拼音字符嵌入信息;其中,W为可学习的参数;S23、将隐状态序列矩阵Z导入深度学习模块,并输出结果,且将该输出结果作为新的Q,K和V均保持不变;S24、重复步骤S21-S23若干次,输出最终的隐状态序列矩阵;S25、将最终的隐状态序列矩阵的每一行向量分别输入softmax函数,以计算出含有汉字错别字的中文语句中对应位置出现正确汉字的概率;S26、将每个位置出现正确汉字的概率与正确中文语句中该位置汉字的one-hot输入向量做交叉熵,得出如公式(4)所示的损失函数J:其中,B为批大小,Nb是含有汉字错别字的训练样本的汉字字符序列长度,P为每个位置出现正确汉字的概率;S27、计算出上述损失函数J后,对步骤S21-S26中所有可训练参数进行训练,直至模型收敛。优选的,步骤S21中,输出该汉字的汉字字符嵌入序列的隐状态序列Z1时,该汉字所处位置的注意力设为0,以将其进行遮掩。优选的,步骤S21中,在输出拼音字符嵌入序列的隐状态序列Z2时,无需遮掩任何位置的注意力。优选的,步骤S23中,所述深度学习模块包括Add&Norm模块或全连接神经网络模块。优选的,步骤S27中,采用随机梯度下降法对参数进行训练。还提供一种用于实现上述中文纠错方法的中文纠错系统,其包括:拼音模糊集构建单元,其用于存储每个汉字拼音对应的模糊集;训练样本构造单元,其用于获得与正确的中文语句对应的若干训练样本,且若干训练样本中,该正确的中文语句中每个汉字都有对应的错别字;样本训练单元,其存储有训练模型,用于对上述训练样本进行样本训练;以及语句预测单元,其连接所述样本训练单元,其用于提取目标中文语句中汉字的汉字字符嵌入序列和拼音字符嵌入序列,并输入到所述训练模型中,以得到目标中文语句中每个位置的汉字预测结果,最终获得纠错后的中文语句。本专利技术通过正确汉字和错别字之本文档来自技高网
...

【技术保护点】
1.一种基于拼音特征表征的中文纠错方法,其特征在于,包括如下步骤:/nS1、构建汉字的拼音模糊集以及根据汉字的拼音模糊集构造含有汉字错别字的中文语句训练样本;每个汉字拼音对应的模糊集包括:该拼音声母对应的模糊声母与该拼音韵母对应的模糊韵母组合成的所有拼音;和/或,与该拼音发音相似,并且编辑距离小于2的拼音,且含有汉字错别字的中文语句语料包含两种输入序列:汉字字符嵌入序列和拼音字符嵌入序列;/nS2、利用上述训练样本进行模型训练,其包括如下步骤:/n将上述含有汉字错别字的训练样本的汉字字符嵌入序列和拼音字符嵌入序列分别输入多头注意力模块,以对应输出训练样本中含有汉字错别字的中文语句的汉字字符嵌入的隐状态序列矩阵和拼音字符嵌入的隐序列矩阵;/n根据所述含有汉字错别字的中文语句的汉字字符嵌入的隐状态序列矩阵和拼音字符嵌入的隐状态序列矩阵输出含有汉字错别字的中文语句的汉字隐状态序列矩阵;/n将所述含有汉字错别字的中文语句的汉字隐状态序列矩阵导入深度学习模块,输出最终的隐状态序列矩阵,并根据最终的隐状态序列矩阵计算出含有汉字错别字的中文语句中对应位置出现正确汉字的概率;/n根据每个位置出现正确汉字的概率与正确中文语句中该位置汉字的输入向量得出损失函数;/n重复上述步骤,直至模型收敛;/n以及S3、提取目标中文语句中汉字的汉字字符嵌入序列和拼音字符嵌入序列,并输入到训练模型中,以得到目标中文语句中每个位置的汉字预测结果,最终获得纠错后的中文语句。/n...

【技术特征摘要】
1.一种基于拼音特征表征的中文纠错方法,其特征在于,包括如下步骤:
S1、构建汉字的拼音模糊集以及根据汉字的拼音模糊集构造含有汉字错别字的中文语句训练样本;每个汉字拼音对应的模糊集包括:该拼音声母对应的模糊声母与该拼音韵母对应的模糊韵母组合成的所有拼音;和/或,与该拼音发音相似,并且编辑距离小于2的拼音,且含有汉字错别字的中文语句语料包含两种输入序列:汉字字符嵌入序列和拼音字符嵌入序列;
S2、利用上述训练样本进行模型训练,其包括如下步骤:
将上述含有汉字错别字的训练样本的汉字字符嵌入序列和拼音字符嵌入序列分别输入多头注意力模块,以对应输出训练样本中含有汉字错别字的中文语句的汉字字符嵌入的隐状态序列矩阵和拼音字符嵌入的隐序列矩阵;
根据所述含有汉字错别字的中文语句的汉字字符嵌入的隐状态序列矩阵和拼音字符嵌入的隐状态序列矩阵输出含有汉字错别字的中文语句的汉字隐状态序列矩阵;
将所述含有汉字错别字的中文语句的汉字隐状态序列矩阵导入深度学习模块,输出最终的隐状态序列矩阵,并根据最终的隐状态序列矩阵计算出含有汉字错别字的中文语句中对应位置出现正确汉字的概率;
根据每个位置出现正确汉字的概率与正确中文语句中该位置汉字的输入向量得出损失函数;
重复上述步骤,直至模型收敛;
以及S3、提取目标中文语句中汉字的汉字字符嵌入序列和拼音字符嵌入序列,并输入到训练模型中,以得到目标中文语句中每个位置的汉字预测结果,最终获得纠错后的中文语句。


2.如权利要求1所述的中文纠错方法,其特征在于,步骤S1中,构造含有汉字错别字的中文语句训练样本具体包括如下步骤:
S11、抽取一正确中文语句中的若干汉字及其对应的拼音;
S12、从抽取汉字拼音对应的拼音模糊集中依概率挑选出模糊拼音,然后从该模糊拼音
对应的汉字中依概率挑选出一个汉字,用于替换被抽取的汉字,以获得含有汉字错别字的中文语句;
S13、抽取含有错别字的中文语句中每个汉字的拼音,并将每个拼音均拆解成声母和韵母,所述含有汉字错别字的中文语句以及与其对应的每个汉字拼音的声母和韵母即构成一个该正确的中文语句的训练样本;
S14、重复步骤S11-S13,以获得与该正确的中文语句对应的若干训练样本,且若干训练样本中,该正确的中文语句中每个汉字都有对应的错别字。


3.如权利要求1所述的中文纠错方法,其特征在于,步骤S2具体包括如下步骤:
S21、将上述含有汉字错别字的训练样本的汉字字符嵌入序列和拼音字符嵌入序列分别输入多头注意力模块,再分别根据公式(1)-(2)对应输出训练样本中含有汉字错别字的中文语句的汉字字符嵌入的隐状态序列矩阵Z1和拼音字符嵌入的隐状态序列矩阵Z2;






其中,WQ、WK、WV分别为三个可学习的参数矩阵;Q、K、V为三个矩阵,且...

【专利技术属性】
技术研发人员:许振兴曾庆斌庞洵朱留锋
申请(专利权)人:灯塔财经信息有限公司
类型:发明
国别省市:湖北;42

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

1