一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

中文拼写纠错方法、系统、设备及存储介质

2022-04-25 00:14:53 来源:中国专利 TAG:


1.本发明涉及中文拼写纠错技术领域,尤其涉及一种中文拼写纠错方法、系统、设备及存储介质。


背景技术:

2.随着语音识别技术、光学字符识别等智能信息转换系统的广泛应用以及键盘写作的普及,识别错误和拼写错误的场景不可避免,那么就越来越需要计算机系统能够更准确地理解和纠正人类语言。另外,在许多自然语言处理领域的应用中,文本纠错都是这些应用的重要组成部分,比如搜索最优化,机器翻译,词性标注。而且相比较其他语言,中文的汉字众多,更加容易出现用词不规范,拼写错误导致的文本错误。因此,中文拼写纠错技术具有很高的研究价值与实用价值。
3.现有的中文拼写纠错技术多采用基于序列到序列模型进行端到端地预测纠正文本的方法,或者先通过一个语言模型检测错误位置,生成候选集,再通过规则或模型过滤。然而普遍存在两个问题:第一,错误文本中的错误字符会对模型的语言建模产生影响,直接将错误文本输入到语言模型中,会使之前在正常文本上进行语言建模的模型感到迷惑,第二,没有利用到拼写错误场景特有的辅助信息来帮助生成纠错文本的过程,拼写错误情形下往往会有错误字符和正确字符语音信息相近的特点,大部分纠错技术没有考虑到这一点。由于存在以上缺陷,导致现有中文拼写纠错技术的纠错能力不佳。


技术实现要素:

4.本发明的目的是提供一种中文拼写纠错方法、系统、设备及存储介质,使用错误字符对应的中文拼音作为辅助信息,帮助生成纠错文本,极大的提升了拼写纠错性能。
5.本发明的目的是通过以下技术方案实现的:一种中文拼写纠错方法,包括:步骤s1:对输入文本依次进行编码与分类,预测出所述输入文本中的错误字符;步骤s2:将所述错误字符映射至中文拼音上,获得所述错误字符对应的中文拼音;步骤s3:将所述错误字符对应的中文拼音替代所述输入文本中的错误字符,获得包含中文拼音的文本;步骤s4:对所述包含中文拼音的文本进行编码,结合所述错误字符的上下文信息与对应的中文拼音,预测出正确字符,并利用所述正确字符替代所述输入文本中的错误字符,生成纠错文本。
6.一种中文拼写纠错系统,包括:错误文本检测模型,用于对输入文本依次进行编码与分类,预测出所述输入文本中的错误字符;文本拼音映射模型,用于将所述错误字符映射至中文拼音上,获得所述错误字符对应的中文拼音;
文本调整单元,用于将所述错误字符对应的中文拼音替代所述输入文本中的错误字符,获得包含中文拼音的文本;纠错文本生成模型,用于对所述包含中文拼音的文本进行编码,结合所述错误字符的上下文信息与对应的中文拼音,预测出正确字符,并利用所述正确字符替代所述输入文本中的错误字符,生成纠错文本。
7.一种处理设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现前述的方法。
8.一种可读存储介质,存储有计算机程序,当计算机程序被处理器执行时实现前述的方法。
9.由上述本发明提供的技术方案可以看出,对输入的文本进行错误字符的预测后并映射至中文拼音上,将错误文本替换为拼音这个语音辅助信息来帮助生成,在中国人学习汉字的过程中是用拼音代替难字或易错字,因此不仅解决了错误文本对语言建模的影响,而且纠错文本生成过程有了拼音的辅助特征更容易生成正确文本,相较于技术而言,本发明极大的提升了拼写纠错性能。
附图说明
10.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
11.图1为本发明实施例提供的一种中文拼写纠错方法的流程图;图2为本发明实施例提供的一种中文拼写纠错示例的流程图图3为本发明实施例提供的一种中文拼写纠错系统的示意图;图4为本发明实施例提供的一种处理设备的示意图。
具体实施方式
12.下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
13.首先对本文中可能使用的术语进行如下说明:术语“包括”、“包含”、“含有”、“具有”或其它类似语义的描述,应被解释为非排它性的包括。例如:包括某技术特征要素(如原料、组分、成分、载体、剂型、材料、尺寸、零件、部件、机构、装置、步骤、工序、方法、反应条件、加工条件、参数、算法、信号、数据、产品或制品等),应被解释为不仅包括明确列出的某技术特征要素,还可以包括未明确列出的本领域公知的其它技术特征要素。
14.下面对本发明所提供的一种中文拼写纠错方法、系统、设备及存储介质进行详细描述。本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。本
发明实施例中未注明具体条件者,按照本领域常规条件或制造商建议的条件进行。本发明实施例中所用试剂或仪器未注明生产厂商者,均为可以通过市售购买获得的常规产品。
15.实施例一本发明实施例提供一种中文拼写纠错方法,中文拼写纠错可以理解为:给定一段可能包含拼写错误的文本作为输入文本,确定错误文本位置(错误检测),然后针对错误位置进行文本纠错,生成对应的正确文本。如图1所示,一种中文拼写纠错方法,主要包括如下步骤:步骤s1:对输入文本依次进行编码与分类,预测出所述输入文本中的错误字符。
16.步骤s2:将所述错误字符映射至中文拼音上,获得所述错误字符对应的中文拼音。
17.步骤s3:将所述错误字符对应的中文拼音替代所述输入文本中的错误字符,获得包含中文拼音的文本。
18.步骤s4:对所述包含中文拼音的文本进行编码,结合所述错误字符的上下文信息与对应的中文拼音,预测出正确字符,并利用所述正确字符替代所述输入文本中的错误字符,生成纠错文本。
19.本发明实施例上述方法,对输入的文本进行错误字符的预测后并映射至中文拼音上,将错误文本替换为拼音这个语音辅助信息来帮助生成,在中国人学习汉字的过程中是用拼音代替难字或易错字,因此不仅解决了错误文本对语言建模的影响,而且纠错文本生成过程有了拼音的辅助特征更容易生成正确文本,相较于技术而言,本发明极大的提升了拼写纠错性能。
20.在实施过程中,所述步骤s1可以利用错误文本检测模型实现,所述步骤s2可以利用文本拼音映射模型实现,所述步骤s4可以利用纠错文本生成模型实现。半监督训练过程中的预微调阶段,获取语料库和汉字混淆集,利用汉字混淆集的易混淆字符按设定比例随机替换语料库中所有文本的字符,获得包含错误文本及其标签的伪中文拼写数据集;举例来说:如果设定的掩码比例是10%,对于一个包含20个字符的文本,随机选取两个字符利用混淆集中对应的混淆汉字之一替换(混淆集里面是一对多的关系),如果所选的字符在混淆集不存在,则不替换或者随即替换成任意汉字。利用所述伪中文拼写数据集对所述错误文本检测模型、文本拼音映射模型与纠错文本生成模型进行预微调。之后,可以针对真实数据(目标域数据),将其转变为训练数据格式输入至预微调后的错误文本检测模型、文本拼音映射模型与纠错文本生成模型进行微调,与前述预微调阶段的方式相同。
21.本领域技术人员可以理解,预微调表示预微调阶段所进行的操作,同样的微调也属于微调阶段进行的操作,预微调与微调均属于行业术语,二者都表示对各个模型的参数进行优化,在本发明中预微调阶段与微调阶段使用的数据集不同。
22.本领域技术人员可以理解,语料库属于无标签的数据, 伪中文拼写数据集中所述的标签,实际上是结合汉字混淆集自动生成的一个中间结果,用作预微调阶段的标签,不属于真正的人工标注数据。需要说明的是,本发明提供的技术方案针对的情况是起始拥有的数据具有一定标签的拼写纠错数据,但是数量很少,直接用于预微调阶段训练,最终效果相当有限。因此,使用额外的语料库来做扩充,生成了一个伪中文拼写数据集,也即:少部分有标签的数据,大部分无标签的数据;因此,属于半监督训练。
23.下面针对各类数据集以及各个模型的训练流程进行介绍。
24.一、数据集。
25.总体而言,由所述错误文本检测模型、文本拼音映射模型与纠错文本生成模型构成的中文拼写纠错可采用半监督的方式进行训练,半监督是指只需要少部分有标签的数据和大部分无标签的数据进行训练,对于本发明而言,先利用混淆集生成把无标签的数据(语料库)转换为有标签的数据(伪中文拼写数据集)进行预微调,之后可以再使用现有的有标签的数据做微调,也就是说,半监督训练包括预微调阶段与微调阶段。
26.半监督训练过程中的预微调阶段使用的数据集可使用语料库和汉字混淆集构建,如之前所述,可以利用汉字混淆集的易混淆字符按设定比例随机替换语料库中的文本,获得包含错误文本及其标签的伪中文拼写数据集。语料库可以使用新闻语料库,其文本质量较高,可以认为是没有拼写错误的文本。
27.二、错误文本检测模型。
28.本发明实施例中,所述错误文本检测模型包括:第一编码器与第一分类器;预微调阶段,将所述伪中文拼写数据集中的文本先通过第一编码器进行编码,再利用第一分类器进行对错分类;表示为:ec(wi)= encoderc(s)i,i=0,1,

, lsp(ci=y|s)= softmax(w
c ec(wi) bc) [y] ,y=0,1其中,encoderc(s)i表示通过第一编码器encoderc对文本s中的第i个字符wi进行编码,ec(wi)表示第i个字符wi的编码结果,文本s中的字符数目为ls 1;wc与bc分别表示第一分类器的权重与偏置参数,softmax(.)表示softmax函数,p(ci=y|s)表示文本s中第i个字符wi的预测类别ci为标签y的概率,标签y有0与1两个值,0表示正确字符类别,1表示错误字符类别;[y]相当于一个字符对错类别的标记索引,不参与计算,加个中括号是一种简便的表示,相当于将y所有取值的式子都通过式子p(ci=y|s)表示。
[0029]
在测试阶段,也是按照上述方式对输入文本中各个字符进行对错分类,获得各个字符为错误字符的概率;如果字符为错误字符的概率大于设定的阈值(例如,设置阈值等于50%),则表示相应字符为错误字符,此时根据角标也可以确定错误字符在输入文本中的位置。对于不同的输入文本,错误字符的数目也可能存在一定的区别,错误字符的数目可以是1也可以大于1,当然,也可能为0。
[0030]
示例性的,错误文本检测模型中的第一编码器可以使用序列建模模型gru,预训练模型bert,electra等。
[0031]
三、文本拼音映射模型。
[0032]
在预微调阶段,所述文本拼音映射模型的输入为所述错误文本检测模型的编码结果,利用第二分类器将字符对应的编码结果映射至中文拼音上,表示为:p(pi= j |s) = softmax(w
p ec(wi) b
p
) [j] ,j=0,1,

, n其中,ec(wi)表示第i个字符wi的编码结果,w
p
与b
p
分别表示所述第二分类器的权重与偏置参数,softmax(.)表示softmax函数,p(pi= j |s)表示文本s中的第i个字符wi的预测结果pi为为第j个中文拼音的概率,[j]相当于一个中文拼音的标记索引,不参与计算,所有中文拼音总数为n 1(例如,中文拼音在不考虑声调的情况下共有401个)。
[0033]
在测试阶段,文本拼音映射模型的输入为错误文本检测模型预测的错误字符对应的编码结果,这样也可以减少计算量;同样通过与预微调阶段相同的方式,获得错误字符被
映射为各个中文拼音的概率,最大概率对应的中文拼音即为错误字符对应的中文拼音。通过错误文本检测模型与文本拼音映射模型的处理,可以对输入文本中错误字符进行初步的定位,并且得到语音辅助信息(即中文拼音),为后续纠错文本的生成做好铺垫。
[0034]
四、纠错文本生成模型。
[0035]
通过之前的错误文本检测模型与文本拼音映射模型可以初步定位错误字符,并获得错误字符对应的中文拼音,可以直接将所述错误字符对应的中文拼音替代所述输入文本中的错误字符,下面以错误字符数目为1作为示例,错误字符对应的中文拼音用[pinyin]表示,则输入至纠错文本生成模型的包含中文拼音的文本表示为:input
ec
=[cls],w1,w2,

, [pinyin],

,w
l
,[sep]上式中,w表示单个字符,角标为字符的序号(也即字符在文本中的位置),l为字符数目,[cls]与[sep]分别表示开始符号与分隔符号。
[0036]
预微调与测试阶段,纠错文本生成模型的输出是纠错文本(即正确文本),对照上面提供的文本示例,纠错文本生成模型需要结合[pinyin]的上下文,以及[pinyin]本身的拼音信息预测出相应位置正确的字符,并与文本中其他位置的字符组成纠错文本。
[0037]
本发明实施例中,所述纠错文本生成模型可以使用自编码模型(bert模型)顶部再加上分类器预测每个位置每个字符的可能性,也可以用自回归或者seq2seq生成对应的正确文本。
[0038]
本发明实施例中,所述纠错文本生成模型为预训练模型,也即在进行本发明提出的半监督训练之前预先进行训练得到的模型。
[0039]
下面以bert模型作为纠错文本生成模型为例介绍预训练过程。
[0040]
目前存在一个阻碍当前中文拼写纠错领域发展的问题——拼写纠错数据集匮乏,尤其是缺乏高质量的纠错数据集。而本发明实施例中的预训练过程中,可以使用任意领域的没有任何人为标注文本语料进行自监督训练,也可以解决中文拼写数据集匮乏的问题。
[0041]
预训练时,获取原始未标注文本语料(如之前所述,可以是任意领域的),对所述原始未标注文本语料中的文本按照设定比例进行字符随机变换,替换为字符对应的中文拼音,构造出预训练的数据集,将所述原始未标注文本语料作为标签。示例性的,bert模型预训练掩码任务时采用的15%对文本中的字符进行随机替换,替换为其相对应的拼音例如:友-》[you]。此外,还需要将所有中文拼音作为特殊字符添加至纠错文本生成模型的单词表中,使所述纠错文本生成模型在预训练时将所有中文拼音作为整体进行处理,具有识别拼音的能力,从而得到预期的序列编码。
[0042]
本发明实施例中,所有些拼音加上中括号作为特殊字符加入单词表,作用是为了使纠错文本生成模型具有识别拼音的能力,模型可以将输入的拼音正确识别,生成针对于拼音的向量表示。预测输出肯定不能输出特殊字符。举例来说,输入“世界[he]平”,至纠错文本生成模型中,它可以分词分成:世,界,[he],平,这四个字符;而不是世,界,[,h,e,],平,七个字符。
[0043]
所述纠错文本生成模型的编码过程表示为:eo(uk)= encodero(u)k,k=0,1,

, lu其中,encodero(u)k表示通过第二编码器encodero对文本u中的第k个字符uk进行编码,eo(uk)表示第k个字符uk的编码结果,文本u中的字符数目为lu 1。
[0044]
之后,所述纠错文本生成模型利用编码结果预测每个字符为单词表中各个字符的概率,简单起见,可以使用线性层加上softmax计算每个位置的字符为单词表中每个字符的概率,预测过程表示为:p(ok= l |u) = softmax(w
o eo(uk) bo) [l] ,l=0,1,

, m其中,p(ok= l |u)表示文本u中的第k个字符uk的预测结果ok为第l个字符的概率,[l]相当于一个字符的标记索引,不参与计算,m 1为单词表中的字符总数;单词表中所有字符总数为m 1,wo与bo分别表示预测时使用的第三分类器的权重与偏置参数,softmax(.)表示softmax函数。
[0045]
需要说明的是,单词表中字符总数可以是出去中文拼音之外的字符总数,也可以是包含单词表中包含所有中文拼音的字符总数,实验表明作为特殊字符的拼音不会有很高的预测概率,将中文拼音加入单词表的目的是为了使纠错文本生成模型模型可以处理带有拼音的句子,正确识别,编码。
[0046]
上述预训练过程中选取每个位置上述概率最高的字符作为预测结果,标签是原文本,可以使用交叉熵损失来训练纠错文本生成模型。在以上过程中,由于标签来自文本数据本身的,所以预训练的过程是自监督的。
[0047]
通过上述预训练后得到的纠错文本生成模型作为本发明的初始模型,参与半监督训练的预微调阶段,其输入为包含中文拼音的文本,它是由文本拼音映射模型得到错误字符的拼音替代输入文本中错误字符得到,纠错文本生成模型对包含中文拼音的文本进行编码,结合错误字符的上下文信息与对应的中文拼音,预测出正确字符,并利用所述正确字符替代所述输入文本中的错误字符,生成纠错文本;至此完成一个预微调的前向传播流程,结合设定的损失函数反向更新前述三个模型的参数,直至损失函数收敛。本发明中可使用目前已有的损失函数并使用已有的方式进行模型的参数更新,故不做赘述。
[0048]
基于本发明实施例介绍的上述方案提供了一个中文拼写纠错的示例,如图2所示,输入文本为:对不气,最近我很忙;先通过前述步骤s1对输入文本进行序列建模,即通过错误文本检测模型中的第一编码器encoderc对输入文本进行编码,再通过错误文本检测模型中的第一分类器预测出输入文本中的错误字符(即:气)及其所在的位置(序号为3),通过步骤s2可以得到对应的中文拼音(即:qi),通过步骤s3获得包含中文拼音的文本:对不[qi],最近我很忙;最后通过步骤s4进行编码预测生成纠错文本:对不起,最近我很忙。
[0049]
与现有方法相比,本发明提出了一中中文拼写纠错方法,包括错误文本检测、文本拼音映射、纠错文本生成三部分。为了使得生成的文本更加贴合拼写错误情景,以提高所生成文本的准确度,本发明对输入文本中的每个词进行错误检测和拼音映射,以获取每个词的正确性及其语音辅助信息,最后将字符正误信息与语音辅助特征添加到预训练的纠错文本生成模型之中用来更准确的生成目标文本。该中文拼写纠错技术在训练过程中是半监督的,对于数据集缺乏的拼写错误领域有很好的适应性。另外,纠错文本生成过程和学习中文汉字过程相似,可以尝试应用到中文汉字学习中,具有良好的应用前景。
[0050]
实施例二本发明还提供一种中文拼写纠错系统,其主要基于前述实施例一提供的方法实现,如图3所示,该系统主要包括:错误文本检测模型,用于对输入文本依次进行编码与分类,预测出所述输入文本
中的错误字符;文本拼音映射模型,用于将所述错误字符映射至中文拼音上,获得所述错误字符对应的中文拼音;文本调整单元,用于将所述错误字符对应的中文拼音替代所述输入文本中的错误字符,获得包含中文拼音的文本;纠错文本生成模型,用于对所述包含中文拼音的文本进行编码,结合所述错误字符的上下文信息与对应的中文拼音,预测出正确字符,并利用所述正确字符替代所述输入文本中的错误字符,生成纠错文本。
[0051]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0052]
实施例三本发明还提供一种处理设备,如图4所示,其主要包括:一个或多个处理器;存储器,用于存储一个或多个程序;其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现前述实施例提供的方法。
[0053]
进一步的,所述处理设备还包括至少一个输入设备与至少一个输出设备;在所述处理设备中,处理器、存储器、输入设备、输出设备之间通过总线连接。
[0054]
本发明实施例中,所述存储器、输入设备与输出设备的具体类型不做限定;例如:输入设备可以为触摸屏、图像采集设备、物理按键或者鼠标等;输出设备可以为显示终端;存储器可以为随机存取存储器(random access memory,ram),也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。
[0055]
实施例四本发明还提供一种可读存储介质,存储有计算机程序,当计算机程序被处理器执行时实现前述实施例提供的方法。
[0056]
本发明实施例中可读存储介质作为计算机可读存储介质,可以设置于前述处理设备中,例如,作为处理设备中的存储器。此外,所述可读存储介质也可以是u盘、移动硬盘、只读存储器(read-only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
[0057]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献