一种基于多模态预训练融合中文拼写纠正技术

未命名 10-08 阅读:69 评论:0


1.本发明涉及一种中文拼写纠正技术,属于自然语言处理技术领域。


背景技术:

2.随着互联网、移动设备等技术的普及,中文的使用范围越来越广泛,中文拼写纠正技术也越来越受到重视。中文拼写纠正技术的意义在于能够自动检测和纠正中文拼写错误,提高中文文本的准确性和可读性。该技术可以帮助人们在使用中文输入法时自动纠正错误的字词,减少输入错误的概率,提高输入效率;同时,在编辑、写作等场景下,也能够及时发现和纠正拼写错误,保证文本的质量。特别是对于在线搜索、社交网络、电子邮件、电子商务等各种应用场景,中文拼写纠正技术更是不可或缺的重要技术。然而目前的中文文本纠错技术仍存在提升空间,本发明提出的多模态预训练融合的中文拼写纠正技术着重解决以下问题:
3.一、根据领域内统计,中文文本中的拼写错误有76%是使用了与正确字发音相似的字造成的;有46%是使用了与正确字相似字形的字造成的。本发明引入中文字的文本信息、字形信息、字音信息,并将三种信息更合理地融合;
4.二、目前中文文本纠正技术大多使用大规模预训练语言模型来获取语义信息,如bert、roberta等。但是这些模型的预训练数据并非全部与文本纠正领域有关,预训练任务也与中文文本纠正存在差距。因此本发明分别为文本编码、字音编码和字形编码三个预训练过程设置了与中文文本纠正相关的预训练任务,领域内相关的预训练数据,适合建模不同特征的模型结构。


技术实现要素:

5.本发明为解决现有中文拼写错误纠正技术的准确度和发现速度难以满足实际需要的问题,进而提出一种基于多模态预训练融合中文拼写纠正技术。
6.本发明为解决上述问题采取的技术方案是:本发明的步骤如下:
7.步骤1、对于输入的中文句子,从数据库中读取每个字的拼音和音调,并加载该字的黑体字体、小篆字体、该字繁体形式的黑体字体作为字音、字形信息;
8.步骤2、将句子及其对应字的拼音、字体分别映射为向量,再经过不同的编码器和bert获取同维度的编码表示;
9.步骤3、将字的字音字形编码表示和文本编码表示分别输入投影层,对特征做非线性变换和加权和,获取进一步表示;
10.步骤4、将字的字音字形编码表示和文本编码表示输入门控层,对三种特征表示做加权融合,进而获得中文字的表示;
11.步骤5、将字的三个模态融合的表示输入bert,使用词表大小的线性层做分类器,对从bert输出的表示进行分类,视最高得分的类别为系统最终的预测结果。
12.进一步的,步骤2中采用12层bert对中文字做编码,1层gru网络和4层的bert对中
文字的拼音做编码,采用5层resnet和4层的bert对不同字体进行编码。具体过程包括以下步骤:
13.步骤2.1对于输入的每个中文字t,获取其拼音音调序列和黑体、黑体、小篆字体图;
14.步骤2.2将中文字根据bert的词嵌入映射为768维的向量,将字的拼音序列根据可训练嵌入层映射为768维向量,将三种字体转为位图形式的向量并拼接,即通道数为3;
15.步骤2.3使用12层bert对字向量做建模,并取最后三层的输出向量做平均,形成字的语义表示,使用gru的最后一个时间步的向量输入4层bert对拼音向量进行编码,使用5层resnet得到768维向量,并输入4层bert进一步编码,最终三个编码表示的维度都为768。
16.进一步的,步骤3中的投影层提供非线性变换,相当于对编码表示做self-attention,三个表示的投影层共享参数,
17.proj(rep)=(w2(tanh(w1*rep+b1))+b2)
·
rep
ꢀꢀꢀꢀꢀꢀ
(1),
18.公式(1)中rep表示步骤2中获取的各模态编码表示,w1和w2、b1和b2为可训练参数,h为rep的最后一维的维数,tanh为双曲正切函数,提供非线
19.性变换能力,由于投影层含两个线性层,对三个模态的投影头做权重共享可大幅降低参数的同时保证模型的纠错效果。
20.进一步的,步骤4中采用一种门控机制对步骤3获得的三个模态的表示做融合:
21.通过门控层学习如何对不同句子中字的词义、字形和字音信息学习权重,并做加权融合:
[0022][0023][0024][0025]hfuse
=g
t
·ht
+g
p
·hp
+gv·hv
(5),
[0026]
公式(2)、(3)、(4)、(5)中,w
t
、w
p
、wv、b
t
、b
p
、bv均表示可训练参数,w
t
、w
p
、wv均为r
h*3h
,h表示隐藏层维度数,采用sigmoid形成阈值,该阈值随着训练调整,最终三个模态融合的表示为h
fuse

[0027]
进一步的,步骤5中使用三层bert和词表大小的线性层做分类。
[0028]
进一步的,步骤2中所使用的预训练模型,是采用适用于不同模态的不同数据和不同模型结构训练得到的。
[0029]
本发明的有益效果是:本发明所涉及的基于多模态预训练融合的中文拼写纠正技术,通过对字的文本、字音和字形三个模态的编码器,使用针对性拼写纠正任务、领域内训练数据做预训练,并采用更合理的方式对三个模态的编码信息做融合,进一步整合中文字的三种信息,从而得到更好的融合中文文本字音字形信息的中文拼写纠正系统。由于多数中文文本拼写错误都是使用了与正确字字音字形上相近的混淆字导致的,本发明方法可以让使用者较快地找到文本中出现的拼写错误,提高校正效率。本发明也可以应用于搜索技术中,用以对用户输入的查询信息作校正,更好地帮助检索系统识别用户意图和查询目标,
提升搜索质量并优化用户体验;或是用于文章校验系统中,对于一些准确以来较高的公文稿做校正,确保文章质量;或是用于对于图片转文字文本的校验中,进一步提高文本可读性、可用性;或是用于办公系统中,对基础文稿的拼写错误进行提示,提高文件质量及办公效率。
附图说明
[0030]
图1是本发明的流程框图;
[0031]
图2为本发明中文本纠正预训练任务及模型结构图;
[0032]
图3为本发明中基于多模态预训练融合的中文拼写纠正模型的模型结构图;
[0033]
图4为本发明实施例中的文本纠正效果。
具体实施方式
[0034]
具体实施方式一:结合图1至图4说明本实施方式,本实施方式所述一种基于多模态预训练融合中文拼写纠正技术是通过如下步骤实现的:
[0035]
步骤1、对于输入的中文句子,从数据库中读取每个字的拼音和音调,并加载该字的黑体字体、小篆字体、该字繁体形式的黑体字体作为字音、字形信息;
[0036]
步骤2、将句子及其对应字的拼音、字体分别映射为向量,再经过不同的编码器和bert获取同维度的编码表示;
[0037]
步骤3、将字的字音字形编码表示和文本编码表示分别输入投影层,对特征做非线性变换和加权和,获取进一步表示;
[0038]
步骤4、将字的字音字形编码表示和文本编码表示输入门控层,对三种特征表示做加权融合,进而获得中文字的表示;
[0039]
步骤5、将字的三个模态融合的表示输入bert,使用词表大小的线性层做分类器,对从bert输出的表示进行分类,视最高得分的类别为系统最终的预测结果。
[0040]
本实施方式中,步骤1是前置步骤,在中文拼写纠正领域,大多数错误都是由使用了字音相同或相似、字形相近的字导致的;因此,中文拼写纠正系统不仅要理解中文字的语义表示,还要融合中文字间字音字形的相似关系;例如句子“老师轻常教导我们要诚实守信”,其中“轻”字是一处拼写错误,应当修改为“经”;在字音上,这两个字的韵母是相同的,即为“ing”,在音调上也都为一声;在字形上,两个字的右半部分也是一样的;如果只考虑句子的语义,本句将“轻”替换为“时”也是通顺的,但是因为前面对字音字形的分析,本句改为“轻”是更合理的;由此可见,中文拼写纠正技术需要融合汉字的字音字形信息以获得更好效果;对于字音,享有共同韵母或是共同音调的字更为相似;对于字形,将字映射为字体能最大程度保留字形特征,形状相近,其字形也是相似的,进一步地,为了引入更多特征,多种不同字体可以进一步提高中文拼写纠正系统对中文字形的建模能力。
[0041]
步骤2是将中文字的语义、字音和字形的信息转化为数字构成的向量;每个中文字的字音由拼音及音调构成;每个字的字形表示是其黑体、小篆、繁体形式的黑体三种字体的位图构成;本系统首先分别将字及字音和字形表示映射成向量,再经过不同的编码器和bert获取同维度编码表示。
[0042]
步骤3将步骤2中获得的字音、字形和文本编码表示输入到投影层中,经过一次线
非线性变换和两次线性变换形成编码表示的权重,权重和表示加权和后,获取进一步表示。
[0043]
步骤4将步骤3中获取的三个表示输入门控层做加权融合,对多个模态表示融合,获取中文字的最终表示。
[0044]
步骤5将步骤4中获取的融合表示先输入bert获取进一步编码表示,最后对句子中每个字的表示,做词表大小的分类,若得分最高对应的字为输入的原字,则认为该字无错误;否则视为有错并将其修改为得分最高的字作为。逐字处理后的句子,为系统最终纠错结果。
[0045]
具体实施方式二:结合图1至图4说明本实施方式,本实施方式所述一种基于多模态预训练融合中文拼写纠正技术的步骤2中采用12层bert对中文字做编码,1层gru网络和4层的bert对中文字的拼音做编码,采用5层resnet和4层的bert对不同字体进行编码。具体过程包括以下步骤:
[0046]
步骤2.1对于输入的每个中文字t,获取其拼音音调序列和黑体、黑体(繁体)、小篆字体图;
[0047]
步骤2.2将中文字根据bert的词嵌入映射为768维的向量,将字的拼音序列根据可训练嵌入层映射为768维向量,将三种字体转为位图形式的向量并拼接,即通道数为3;
[0048]
步骤2.3使用12层bert对字向量做建模,并取最后三层的输出向量做平均,形成字的语义表示,使用gru的最后一个时间步的向量输入4层bert对拼音向量进行编码,使用5层resnet得到768维向量,并输入4层bert进一步编码,最终三个编码表示的维度都为768。
[0049]
具体实施方式三:结合图1至图4说明本实施方式,本实施方式所述一种基于多模态预训练融合中文拼写纠正技术的步骤3中的投影层提供非线性变换,相当于对编码表示做self-attention,三个表示的投影层共享参数,
[0050]
proj(rep)=(w2(tanh(w1*rep+b1))+b2)
·
rep
ꢀꢀ
(1),
[0051]
公式(1)中rep表示步骤2中获取的各模态编码表示,w1和w2、b1和b2为可训练参数,h为rep的最后一维的维数,tanh为双曲正切函数,提供非线性变换能力,由于投影层含两个线性层,对三个模态的投影头做权重共享可大幅降低参数的同时保证模型的纠错效果。
[0052]
具体实施方式四:结合图1至图4说明本实施方式,本实施方式所述一种基于多模态预训练融合中文拼写纠正技术的步骤4中采用一种门控机制对步骤3获得的三个模态的表示做融合:
[0053]
通过门控层学习如何对不同句子中字的词义、字形和字音信息学习权重,并做加权融合:
[0054][0055][0056][0057]hfuse
=g
t
·ht
+g
p
·hp
+gv·hv
ꢀꢀ
(5),
[0058]
公式(2)、(3)、(4)、(5)中,w
t
、w
p
、wv、b
t
、b
p
、bv均表示可训练参数,w
t
、w
p
、wv均为rh*3h
,h表示隐藏层维度数,采用sigmoid形成阈值,该阈值随着训练调整,最终三个模态融合的表示为h
fuse

[0059]
具体实施方式五:结合图1至图4说明本实施方式,本实施方式所述一种基于多模态预训练融合中文拼写纠正技术的步骤5中使用三层bert和词表大小的线性层做分类。
[0060]
本实施方式中字的语义编码bert包含丰富的字法信息和句法信息,因此用其权重初始化分类的线性层,提高训练效率,在获取步骤4中获得的融合表示后,使用三层bert对多模态信息做编码,并用线性层做词表大小级别的分类。
[0061]
具体实施方式六:结合图1至图4说明本实施方式,本实施方式所述一种基于多模态预训练融合中文拼写纠正技术的步骤2中所使用的预训练模型,是采用适用于不同模态的不同数据和不同模型结构训练得到的。
[0062]
本发明提出三个适用于中文文本纠正的预训练任务,分别侧重与建模文字的语义信息、文字的字音信息、文字的字形信息:
[0063]
语义编码器的预训练:定义为对句子中的单字做分类,目标是对出现错误的字预测出对应的正确字,对于无误的字预测为原字。具体的,使用一种类似掩码语言模型的mask策略,对于语料中15%的中文字,以30%的概率替换成与其同音同调的混淆字,以30%的概率替换成与其同音异调的混淆字,15%的概率替换为与其字形相似的形近字,为了加入噪音,以15%的概率保持不变,以10%的概率替换为词表中的任意字。以上述策略对大规模中文语料做字的替换,形成错误-正确句对作为预训练数据。在模型结构方面,使用12层bert作为语义编码器,使用投影层为模型提供非线性能力,使用一个词表级分类的线性层对获取的编码表示做预测,通过大规模数据的领域内预训练来提高模型对出现拼写错误的句子的语义理解能力和对中文字的词法信息的建模能力,并将预训练模型中的bert及投影层权重加载到微调中。
[0064]
字音编码器的预训练:定义为对由错误字拼音音调构成的序列,预测其对应的正确的中文字,对于无误的字的拼音序列,预测为原字。具体的,此预训练任务是建模拼音与字之间的关系,预训练数据使用微调阶段的数据,在预训练任务的设计上也是与微调阶段保持一致,不仅让模型学会如何用拼音还原原字,还能让模型学会如何根据错误字的拼音还原为正确字。在模型结构上,使用一层gru编码拼音序列,取gru最后时间步输出作为字音表示,为了提高编码能力,使用4层bert做进一步编码,最终表示进入词表大小的分类器做预测。通过较难的拼音-字的预测,提升模型对字的字音关系的建模,使得在字音的向量空间中,相近字音、音调的向量表示距离更近。最终选择预训练中的gru及bert层的权重加载到微调中。
[0065]
字形编码器的预训练:定义为对单字的黑体、繁体形式的黑体、小篆三种字体,预测对应的中文字。具体的,考虑到引入中文字的多种特征,考虑使用风格相差较大的三类字体,以引入更丰富特征给模型建模。由于是对中文单字做预测,因此使用与微调相关联的bert的词表进行预测,对于词表中的中文字,首先加载对应字体,然后转为位图形成向量表示,对于非中文字,使用全0的同等大小的向量表示。在模型结构上,使用5层resnet将3通道输入转为768维的特征,再输入bert获取进一步表示,同样使用词表大小的线性层做字分类,使得在字形的向量空间中,形近字之间的字形向量表示距离更近。最终选择预训练中的resnet和bert层的权重加载到微调中。
[0066]
实施例
[0067]
本发明中按照上述步骤可实现一个简单的自动化中文拼写纠正模块,该模块可以嵌入到任何现存的系统中,达到即插即用的效果,具体验证发明有益效果如下:
[0068]
本实施例按照如图1所示流程进行,搭建一个基于多模态预训练融合的中文拼写纠正系统。本发明所实现的系统启动之后,会先加载预训练模型和拼音、黑体字体、黑体(繁体)字体及小篆字体至内存中。之后系统会根据用户输入的文本,从数据库中取出文本对应的拼音和三种字体,然后将文本和拼音、字体的位图形式分别输入如图3的各模态编码模型中。各模型输出对应模态的编码表示后,进入门控层做加权融合得到字的最终表示,指导模型给出句中逐字的纠正结果。
[0069]
本发明节选中学生议论文的一段内容,发明的纠正结果如图4所示。根据图中给出的纠正结果和纠正意见可以看到,本发明使用的基于多模态融合的中文拼写纠正技术,可以实现对形近字的纠正:“拆
”‑“
折”;也可以实现对近音字的纠正:“翻
”‑“
帆”。同时,对于容易混淆的“的地得”也可以做纠正。通过本发明方法,使用者可以直观的看到文章中出现的拼写错误,并作快速改正。
[0070]
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。

技术特征:
1.一种基于多模态预训练融合中文拼写纠正技术,其特征在于:所述一种基于多模态预训练融合中文拼写纠正技术是通过如下步骤实现的:步骤1、对于输入的中文句子,从数据库中读取每个字的拼音和音调,并加载该字的黑体字体、小篆字体、该字繁体形式的黑体字体作为字音、字形信息;步骤2、将句子及其对应字的拼音、字体分别映射为向量,再经过不同的编码器和bert获取同维度的编码表示;步骤3、将字的字音字形编码表示和文本编码表示分别输入投影层,对特征做非线性变换和加权和,获取进一步表示;步骤4、将字的字音字形编码表示和文本编码表示输入门控层,对三种特征表示做加权融合,进而获得中文字的表示;步骤5、将字的三个模态融合的表示输入bert,使用词表大小的线性层做分类器,对从bert输出的表示进行分类,视最高得分的类别为系统最终的预测结果。2.根据权利要求1所述的一种基于多模态预训练融合中文拼写纠正技术,其特征在于:步骤2中采用12层bert对中文字做编码,1层gru网络和4层的bert对中文字的拼音做编码,采用5层resnet和4层的bert对不同字体进行编码。具体过程包括以下步骤:步骤2.1对于输入的每个中文字t,获取其拼音音调序列和黑体、黑体、小篆字体图;步骤2.2将中文字根据bert的词嵌入映射为768维的向量,将字的拼音序列根据可训练嵌入层映射为768维向量,将三种字体转为位图形式的向量并拼接,即通道数为3;步骤2.3使用12层bert对字向量做建模,并取最后三层的输出向量做平均,形成字的语义表示,使用gru的最后一个时间步的向量输入4层bert对拼音向量进行编码,使用5层resnet得到768维向量,并输入4层bert进一步编码,最终三个编码表示的维度都为768。3.根据权利要求1所述的一种基于多模态预训练融合中文拼写纠正技术,其特征在于:步骤3中的投影层提供非线性变换,相当于对编码表示做self-attention,三个表示的投影层共享参数,proj(rep)=(w2(tanh(w1*rep+b1))+b2)
·
rep (1),公式(1)中rep表示步骤2中获取的各模态编码表示,w1和w2、b1和b2为可训练参数,h为rep的最后一维的维数,tanh为双曲正切函数,提供非线性变换能力,由于投影层含两个线性层,对三个模态的投影头做权重共享可大幅降低参数的同时保证模型的纠错效果。4.根据权利要求1所述的一种基于多模态预训练融合中文拼写纠正技术,其特征在于:步骤4中采用一种门控机制对步骤3获得的三个模态的表示做融合:通过门控层学习如何对不同句子中字的词义、字形和字音信息学习权重,并做加权融合:合:合:
h
fuse
=g
t
·
h
t
+g
p
·
h
p
+g
v
·
h
v (5),公式(2)、(3)、(4)、(5)中,w
t
、w
p
、w
v
、b
t
、b
p
、b
v
均表示可训练参数,w
t
、w
p
、w
v
均为r
h*3h
,h表示隐藏层维度数,采用sigmoid形成阈值,该阈值随着训练调整,最终三个模态融合的表示为h
fuse
。5.根据权利要求1所述的一种基于多模态预训练融合中文拼写纠正技术,其特征在于:步骤5中使用三层bert和词表大小的线性层做分类。6.根据权利要求1所述的一种基于多模态预训练融合中文拼写纠正技术,其特征在于:步骤2中所使用的预训练模型,是采用适用于不同模态的不同数据和不同模型结构训练得到的。

技术总结
一种基于多模态预训练融合中文拼写纠正技术,它涉及一种中文拼写纠正技术。本发明为了解决现有中文拼写错误纠正技术的准确度和发现速度难以满足实际需要的问题。本发明的步骤为:对于输入的中文句子,从数据库中读取每个字的拼音和音调,并加载该字的黑体字体、小篆字体、该字繁体形式的黑体字体作为字音、字形信息;将句子及其对应字的拼音、字体分别映射为向量,再经过不同的编码器和BERT获取同维度的编码表示;对特征做非线性变换和加权和,获取进一步表示;将字的字音字形编码表示和文本编码表示输入门控层,对三种特征表示做加权融合,进而获得中文字的表示;将字的三个模态融合的表示输入BERT。本发明属于自然语言处理技术领域。技术领域。技术领域。


技术研发人员:赵铁军 朱聪慧 徐冰 刘梓航 曹海龙 杨沐昀
受保护的技术使用者:哈尔滨工业大学
技术研发日:2023.05.31
技术公布日:2023/10/6
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐