一种文本纠错方法及装置、设备、存储介质
文献发布时间:2023-06-19 09:49:27
技术领域
本申请实施例涉及自然语言处理领域,涉及但不限于一种文本纠错方法及装置、设备、存储介质。
背景技术
目前,文本纠错方法包括以下三种:利用词典的文本纠错、基于编辑距离的文本纠错和基于深度学习模型的文本纠错。其中,利用深度学习模型的文本纠错方法能够可以避免人工提取特征,减少人工参与,准确度也较基于词典或编辑距离的文本纠错方法要高。
利用深度学习模型的文本纠错方法中使用的深度学习模型包括:循环神经网络(Recurrent Neural Network,RNN)+条件随机场模型(Conditional Random Field,CRF)、基于转换的双向语言模型(Bidirectional Encoder Representations fromTransformers,BERT)+CRF等,是利用RNN或BERT提取输入文本的特征,利用CRF输出错别字标签即进行错误识别,再利用分类器改正错别字即错别字纠正。这些深度学习模型在建模过程即训练过程中,也是利用RNN或BERT提取输入文本的特征,利用CRF输出错别字标签即进行错误识别,再利用分类器改正错别字即错别字纠正,根据纠正结果对模型进行监督,因此,整体纠错准确率会比较低。
发明内容
有鉴于此,本申请实施例为解决相关技术中存在的至少一个问题而提供一种文本纠错方法及装置、设备、存储介质,能够提高纠错准确率。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种文本纠错方法,所述方法包括:
获取待纠错文本;
将所述待纠错文本输入文本纠错模型,得到所述文本纠错模型输出的第一输出和第二输出;所述第一输出表征所述待纠错文本的错误识别结果;所述第二输出表征所述待纠错文本的纠错结果;其中,所述文本纠错模型的参数基于训练数据对应的第一预测结果和第二预测结果得到,所述第一预测结果表征所述训练数据的错误识别结果;所述第二预测结果表征所述训练数据的纠错结果。
第二方面,本申请实施例提供一种文本纠错装置,所述装置包括:
接收单元,用于获取待纠错文本;
纠错单元,用于将所述待纠错文本输入文本纠错模型,得到所述文本纠错模型输出的第一输出和第二输出;所述第一输出表征所述待纠错文本的错误识别结果;所述第二输出表征所述待纠错文本的纠错结果;其中,所述文本纠错模型的参数基于训练数据对应的第一预测结果和第二预测结果得到,所述第一预测结果表征所述训练数据的错误识别结果;所述第二预测结果表征所述训练数据的纠错结果。
第三方面,本申请实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述文本纠错方法中的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述文本纠错方法中的步骤。
本申请实施例中,提供了一种文本纠错方法,获取待纠错文本;将待纠错文本输入文本纠错模型,得到所述文本纠错模型输出的第一输出和第二输出;所述第一输出表征所述待纠错文本的错误识别结果;所述第二输出表征所述待纠错文本的纠错结果;其中,所述文本纠错模型的参数基于训练数据对应的第一预测结果和第二预测结果得到,所述第一预测结果表征所述训练数据的错误识别结果;所述第二预测结果表征所述训练数据的纠错结果;从而将文本纠错任务拆分为错别字识别和错别字纠正两个任务,通过两个任务的执行结果共同对文本纠错模型进行训练,使得文本纠错模型的训练结果受两个任务的结果的监督,使得两个任务相互影响,提高纠错结果的准确性。
附图说明
图1为本申请实施例信息处理系统的可选地结构示意图;
图2为本申请实施例信息处理系统的可选地结构示意图;
图3为本申请实施例提供的文本纠错方法的可选地流程示意图;
图4为本申请实施例提供的文本纠错模型的可选地结构示意图;
图5为本申请实施例提供的文本纠错方法的可选地流程示意图;
图6为本申请实施例提供的文本纠错方法的可选地流程示意图;
图7为本申请实施例提供的特征提取模块的可选地结构示意图;
图8为本申请实施例提供的文本纠错方法的可选地流程示意图;
图9为本申请实施例提供的文本纠错方法的可选地流程示意图;
图10为本申请实施例提供的文本纠错方法的可选地流程示意图;
图11为本申请实施例提供的文本纠错装置的一种可选的结构示意图;
图12为本申请实施例提供的电子设备的一种可选的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
本申请实施例可提供为文本纠错方法及装置、设备和存储介质。实际应用中,文本纠错方法可由文本纠错装置实现,文本纠错装置中的各功能实体可以由计算机设备(如终端设备、服务器或服务器集群)的硬件资源,如处理器等计算资源、通信资源(如用于支持实现光缆、蜂窝等各种方式通信)协同实现。
本申请实施例的文本纠错方法可应用于图1所示的信息处理系统,信息处理系统中的文本纠错设备能够对待纠错文本进行处理,得到第一输出和第二输出,所述第一输出表征所述待纠错文本的错误识别结果;所述第二输出表征所述待纠错文本的纠错结果;
在一示例中,如图1所示,该信息处理系统包括客户端10和服务端20;其中,客户端10中安装有能够接收用户输入操作的输入应用程序APP或提供输入页面的浏览器,用户可通过输入应用程序APP或输入页面接收用户输入的待纠错文本。服务端20为客户端10的服务,服务端20中包括有文本纠错模型,服务端20能够接收待纠错文本,并基于文本纠错模型201对待纠错文本进行纠错。客户端10和服务端20之间通过网络30进行交互。
服务端20可实施为实现文本纠错方法的文本纠错设备。服务端20获取待纠错文本;将待纠错文本输入文本纠错模型,得到所述文本纠错模型输出的第一输出和第二输出;所述第一输出表征所述待纠错文本的错误识别结果;所述第二输出表征所述待纠错文本的纠错结果;其中,所述文本纠错模型的参数基于训练数据对应的第一预测结果和第二预测结果得到,所述第一预测结果表征所述训练数据的错误识别结果;所述第二预测结果表征所述训练数据的纠错结果,将所述第一输出和所述第二输出推送至客户端10。客户端10中可通过显示器呈现待纠错文本、第一输出和第二输出给用户。
在一示例中,如图2所示,信息处理系统中仅包括客户端40,且客户端40实施为实现文本纠错方法的文本纠错设备。客户端40中包括有文本纠错模型。
客户端通过输入应用程序APP或输入页面接收用户输入的待纠错文本,并将待纠错文本输入文本纠错模型,得到所述文本纠错模型输出的第一输出和第二输出,并呈现待纠错文本、第一输出和第二输出给用户。
结合上述信息处理系统,本实施例提出一种文本纠错方法,能够提高纠错准确率。
下面,结合图1或图2所示的信息处理系统的示意图,对本申请实施例提供的文本纠错方法、装置、设备和存储介质的各实施例进行说明。
本实施例提供一种文本纠错方法,该方法应用于文本纠错设备,其中,文本纠错设备可为计算机设备或计算机设备组成的分布式网络。该方法所实现的功能可以通过计算机设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该计算机设备至少包括处理器和存储介质。
图3为本申请实施例的一种文本纠错方法的实现流程示意图,如图3所示,该方法可以包括如下步骤:
S301、获取待纠错文本。
这里,纠错设备获取待纠错文本,待纠错文本为包括至少一个字符,其中,字符可为文字、数字、英文字母、符号等具有一定语义的内容。
在一示例中,纠错设备为服务端。客户端基于用户的输入操作接收待纠错文本,且将接收的带纠错文本发送至服务端。
在一示例中,纠错设备为客户端,客户端基于用户的输入操作接收待纠错文本,从而得到待纠错文本。
其中,客户端接收待纠错文本的方式可包括以下至少之一:
接收方式一、接收用户针对文本的选择操作,将选择操作对应的文本作为待纠错文本;
接收方式二、接收用户输入的文本文件,将文件中的内容作为待纠错文本;
接收方式三、接收用户输入的非文本文件,对非文本文件进行识别,将识别的内容作为待纠错文本;其中,非文本文件可包括:图片、语音、视频等内容。
需要说明的是,本申请实施例中,对客户端接收待纠错文本的方式不进行任何的限定。
S302、将所述待纠错文本输入文本纠错模型,得到所述文本纠错模型输出的第一输出和第二输出。
其中,所述第一输出表征所述待纠错文本的错误识别结果;所述第二输出表征所述待纠错文本的纠错结果;其中,所述文本纠错模型的参数基于训练数据对应的第一预测结果和第二预测结果得到,所述第一预测结果表征所述训练数据的错误识别结果;所述第二预测结果表征所述训练数据的纠错结果。
纠错设备获取待纠错文本后,将待纠错文本输入文本纠错模型中,通过文本纠错模型对待纠错文本的处理,得到第一输出和第二输出。其中,第一输出为由表征各字符是否为错别字的概率构成的概率集合,第二输出由表征各字符对应的纠错字构成的文本即纠正后的正确的文本。
纠错设备中的文本纠错模型可为纠错设备自身训练得到,也可由纠错设备以外的其他设备训练,并将训练完成的纠错设备模型发送至纠错设备。
本申请实施例中,待纠错文本集合同时输出两个结果:第一输出和第二输出,从而将对待纠错文本进行纠错的任务拆分为两个子任务:错误识别任务和错误纠正任务,且错误识别任务的输出为第一输出,错误纠正任务的输出为第二输出。
文本纠错模型的训练可基于训练数据及其对应的标签集合完成,标签集合由训练数据中各字符对应的标签构成,且各标签表征对应的字符是否为错别字。
在文本纠错模型的训练过程中,纠错设备将训练数据输入文本纠错模型,得到第一预测结果和第二预测结果,并基于第一预测结果和第二预测结果计算文本纠错模型当前的损失即第一损失,并基于计算的第一损失对文本纠错模型的参数进行调整,使得文本纠错模型的参数同时受到第一预测结果和第二预测结果的制约,从而使得训练完成的文本纠错模型所输出的第一输出和第二输出为相互影响的结果,从而提高文本纠错模型的纠错率。
本申请实施例提供的文本纠错方法,获取待纠错文本;将待纠错文本输入文本纠错模型,得到所述文本纠错模型输出的第一输出和第二输出;所述第一输出表征所述待纠错文本的错误识别结果;所述第二输出表征所述待纠错文本的纠错结果;其中,所述文本纠错模型的参数基于训练数据对应的第一预测结果和第二预测结果得到,所述第一预测结果表征所述训练数据的错误识别结果;所述第二预测结果表征所述训练数据的纠错结果;从而将文本纠错任务拆分为错别字识别和错别字纠正两个任务,通过两个任务的执行结果共同对文本纠错模型进行训练,使得文本纠错模型的训练结果受两个任务的结果的监督,使得两个任务相互影响,提高纠错结果的准确性。
在一些实施例中,如图4所示,文本纠错模型400包括:特征提取模块401、识别模块402和纠错模块403。
在输入为待纠错文本的情况下,特征提取模块401用于提取输入的待纠错文本的特征序列,识别模块402用于基于特征序列识别待纠错文本中是否包括错别字,从而输出第一输出,纠错模块403用于基于第一输出识别待纠错文本的错别字对应的纠正字,从而输出第二输出。
在输入为训练数据的情况下,特征提取模块401用于提取输入的训练数据的特征序列,识别模块402用于基于特征序列识别训练数据中是否包括错别字,从而输出第一预测结果,纠错模块403用于基于特征序列识别训练数据的错别字对应的纠正字,从而输出第二预测结果。
在一示例中,特征提取模块401的结构为BERT、CNN等能够提取输入的文本的特征的结构。其中,将实际预测时输入的文本称为待纠错文本,将训练过程中输入的文本称为训练数据。
在一示例中,识别模块402的结构为CRF等能够进行二分类判断的结构。识别模块402的输入为特征提取模块401的输出。
在一示例中,纠错模块403的结构为全连接等能够进行多分类判断的结构。在实际预测时,纠错模块403的输入为识别模块402的输出。在训练过程中,纠错模块403的输入为特征提取模块401的输出。
基于图4所示的文本纠错模型,如图5所示,S302的实施包括:
S3021、将所述待纠错文本输入所述特征提取模块,得到所述特征提取模块输出的特征序列;
S3022、将所述特征序列输入所述识别模块,得到所述识别模块输出的所述第一输出;
S3023、将所述第一输出输入所述纠错模块,得到所述纠错模块输出的所述第二输出。
这里,将待纠错文本输入特征提取模块401,得到特征提取模块401输出的特征序列,将特征序列输入至识别模块402,得到识别模块402输出的第一输出,并将第一输出输入纠错模块403,得到纠错模块403输出的第二输出。
在一些实施例中,如图6所示,特征提取模块401包括:特征向量层4011和至少一个转换层4012;这里,特征向量层4011能够将输入的文本中各字符转换为向量,转换层4012能够对特征向量层4011输出的向量进行编码。
在一示例中,特征向量层4011输出的向量可包括:表征字符的词向量、表征字符的位置的位置信息以及用来区别句子的段向量。
基于图6所示的特征提取模块,如图7所示,S3021的实施包括:
S701、将所述待纠错文本输入所述特征向量层,得到所述特征向量层输出的文本向量序列;
S702、将所述文本向量序列输入所述至少一个转换层,得到所述至少一个转换层中每一转换层输出的编码序列;
S703、根据所述每一转换层对应的权重对相应的编码序列进行加权求和,得到所述特征序列。
在一示例中,待纠错文本为x=([CLS],?x
其中,λ
在一些实施例中,文本纠错方法中使用的文本纠错模型的训练方法包括:
将所述训练数据输入所述文本纠错模型,得到所述文本纠错模型输出的所述第一预测结果和所述第二预测结果;
基于所述第一预测结果、所述第二预测结果和所述训练文本对应的标签集,确定所述文本纠错模型的第一损失;所述标签集中的标签表征所述训练数据中对应字符是否为错别字;
当所述第一损失不满足停止训练条件时,根据所述第一损失对所述文本纠错模型的参数进行调整,并继续将所述训练数据输入所述文本纠错模型,以得到新的第一损失,直到所述文本纠错模型的第一损失满足停止训练条件。
如图8所示,包括:
S801、将训练数据输入文本纠错模型,根据文本纠错模型的输出计算第一损失;
将训练数据输入文本纠错模型,得到第一预测结果和第二预测结果,并基于第一预测结果和第二预测结果得到第一损失。
S802、判断第一损失是否满足停止训练条件;
当满足,执行S803;当不满足,执行S904,
S803、结束训练;
S804、根据当前的第一损失对文本纠错模型的参数进行调整。
在对文本纠错模型的参数调整后,执行S801,以将训练数据输入参数调整后的文本纠错模型。
这里,通过训练数据以及对应的标签集合对文本纠错模型进行多次的迭代更新,并在每一次的迭代更新中对文本纠错模型的参数进行调整,使得训练数据输入参数调整后的文本纠错模型后的输出结果对应的第一损失向停止训练条件靠近,当第一损失满足停止训练条件时,文本纠错模型收敛,停止对文本纠错模型的参数的调整。
本申请实施例中,停止训练条件为判断文本纠错模型是否收敛的条件。在一示例中,停止训练条件为:第一损失小于设定的损失阈值。在一示例中,停止训练条件为:当前第一损失和上一次迭代的第一损失之间的差值小于设定的损失差阈值。停止训练条件可根据实际需求进行设置,本申请对停止训练条件的内容不进行限定。
在实际应用中,可通过不具有对应的标签的预训练数据对文本纠错模型中特征提取模块进行预训练,并在特征提取模块完成预训练后,将特征提取模块和识别模块、纠错模块连接,得到初始文本纠错模型,并基于训练数据以及对应的标签集合对初始文本纠错模型进行微调,这里,进行的微调为有监督训练。
在一些实施例中,文本纠错模型的结构如图4所示,此时,所述将所述训练数据输入所述文本纠错模型,得到所述文本纠错模型输出的所述第一预测结果和所述第二预测结果,包括:
将所述训练数据输入所述特征提取模块,得到所述特征提取模块输出的训练特征序列;
将所述训练特征序列分别输入所述识别模块和所述纠错模块,得到所述识别模块输出的所述第一预测结果,和所述纠错模块输出的所述第二预测结果。
这里,如图9所示,将训练数据901输入特征提取模块401,得到特征提取模块401输出的训练特征序列902,将训练特征序列902分别输入至识别模块402和纠错模块403,得到识别模块402输出的第一预测结果903,并得到纠错模块403输出的第二预测结果904。
在一些实施例中,当特征提取模块的结构如图6所示,此时,将所述训练数据输入所述特征提取模块,得到所述特征提取模块输出的训练特征序列,包括:将所述训练数据输入所述特征向量层,得到所述特征向量层输出的训练文本向量序列;将所述向量文本向量序列输入所述至少一个转换层,得到所述至少一个转换层中每一转换层输出的训练编码序列;根据所述每一转换层对应的权重对相应的训练编码序列进行加权求和,得到所述训练特征序列。
在一示例中,向量层4011输出的训练向量序列可包括:表征字符的词向量、表征字符的位置的位置信息以及用来区别句子的段向量。
在一些实施例中,基于第一预测结果和第二预测结果确定第一损失的确定方式包括:
方式一、通过第二损失、第三损失得到第一损失;
方式二、通过第二损失、第三损失和第四损失得到第一损失;
其中,第二损失与第一预测结果有关,第三损失与第二预测结果有关,第四损失与第一预测结果和第二预测结果都有关。
基于所述第一预测结果和所述第二预测结果,确定所述文本纠错模型的第一损失的确定方式包括:
基于所述第一预测结果和所述训练数据中各字符对应的第一标签,计算所述文本纠错模型的第二损失;基于所述第二预测结果在生成字典上的概率分布,计算所述文本纠错模型的第三损失;根据所述第二损失和所述第三损失,确定所述第一损失。
在方式一中,根据所述第二损失和所述第三损失,确定所述第一损失,包括:直接通过第二损失和第三损失计算得到所述第一损失。
在一示例中,通过公式(2)所示的损失函数计算第一损失,
loss=μloss
此时,计算的loss为第一损失。
在一示例中,loss
其中,y
需要说明的是,生成字典是文本纠错模型的输出字的候选集合。一个输出字在生成字典上的概率分别指的是这个字符被输出的概率值,其中,概率值高的会优先被文本纠错模型输出。比如,生成字典包括:3万个字符,这3万个字符中每个字符都被赋予了一个概率值即概率分布。概率高的会优先被文本纠错模型输出。
在方式二中,根据所述第二损失和所述第三损失,确定所述第一损失,包括:根据所述第二损失、所述第三损失和所述第四损失,确定所述第一损失。
在一示例中,通过公式(6)所示的损失函数计算第一损失,
LOSS=loss
其中,loss
在一示例中,可通过公式(5)所示的函数计算第四损失:
在一些实施例中,对文本纠错模型进行训练的训练数据的构造方法包括:
确定训练语料中,设定构造比例的文本为被替换文本;将所述训练语料中的所述被替换文本替换为训练文本,得到训练数据;将所述训练数据中,所述训练文本中各字符对应的标签设置为第一值;所述第一值表征对应的字符为错别字;将所述训练数据中,除所述训练文本以外的文本中各字符对应的标签设置为第二值;所述第二值表征对应的字符不是错别字。
本申请实施例中,通过构造训练数据以及训练数据中各字符对应的标签,以通过训练数据和标签构成的标签集对纠错模型进行有监督的训练。其中,第一值和第二值为标签的不同的值,当标签的值为第一值,则表征对应的字符为错别字,当标签的值为第二值,则表征对应的字符不是错别字。在一示例中,第一值为1,第二值为0。
这里,构造比例为小于1的比例,比如:10%、30%等。通过构造比例,对训练语料中的部分数据进行替换,替换为错误文本,得到训练数据。
在一示例中,被替换文本可为根据构造比例随机选取的训练语料。在一示例中,以固定语料判断为间隔来选取被替换文本,所选取的所有的被替换文本所占训练语料的比例为构造比例。本申请实施例对选取被替换文本的选取方式不进行任何的限定。
在一示例中,可对特征提取模块进行无监督的预训练,并将完成预训练的特征提取模块与识别模块和纠错模块进行连接,得到未经训练的文本纠错模型即初始文本纠错模型,并通过训练数据和训练数据对应的标签集合对初始文本纠错模型进行训练得到收敛的文本纠错模型。
在一些实施例中,所述将所述训练语料中的所述被替换文本替换为训练文本,得到训练数据,包括:获取至少一种替换方式中每一替换方式对应的替换比例;通过所述至少一种替换方式中每一替换方式,以相应的替换比例,将所述训练语料中的所述被替换文本替换为训练文本。
在对训练语料中的被替换文本进行替换时,替换方式可包括以下替换方式中的一种或多种:随机替换、同音字替换、同形字等替换。其中,同音字为音同形不同的字符,比如:“恒”与“横”,将“清”和“轻”。同形字为形状相似的字符,比如:“访”和“纺”,“请”和“清”。
在替换方式包括一种的情况下,该替换方式的替换比例小于或等于1。在替换方式包括多个的情况下,多个替换方式对应的替换比例的和小于或等于1。比如:对训练语料中的被替换文本进行替换的替换方式包括:随机替换和同音字替换,且随机替换对应的替换比例为60%,同音字替换对应的替换比例为40%。又比如:对训练语料中的被替换文本进行替换的替换方式包括:随机替换、同音字替换、和同形字替换,且随机替换对应的替换比例为30%,同音字替换对应的替换比例为40%。同音字替换对应的替换比例为40%。
在一示例中,将一批大规模中文文本作为训练语料,随机将中文文本中10%的文字作为被替换文本进行替换,并通过这部分文字对应的标签将这部分文字标记为错别字,其中,被替换的文字中,20%的文字进行随机替换,40%的文字通过同音字词典替换为同音字,40%的文字通过同形字典替换为同形字。
下面,以商品详细描述文本信息作为输入,并输出商品摘要的场景为例对本申请实施例提供的文本纠错方法进行进一步说明。
本申请实施例使用的文本纠错模型可为BERT+CRF的文本纠错模型。BERT是一种使用转换(Transformer)双向编码器表征语义的语言表征模型。由于BERT的结构易于并行训练,BERT模型通过在大规模无监督数据预训练的方式学习到知识,然后再在文本纠错任务上进行微调。
本申请实施例中,将文本纠错任务拆分为错别字识别任务和错别字改正任务,这两个任务可以通过多任务学习的方式进行训练,从而为了简化任务。
本书申请实施例提供的文本纠错方法,在建模过程中,包括以下三个方面:
第一方面、通过大规模的文本纠错算法训练数据构造方法,拟合实际的错别字出现特性。
将预训练好的BERT模型与CRF连接后,得到初始文本纠错模型,并通过训练数据对初始文本纠错模型继续进行训练,得到文本纠错模型。训练数据的构造过程包括:对于一批大规模中文文本,随机将文本中10%的字进行替换,并将这部分字标记为错别字,其中,被替换的字中,20%的字进行随机替换,40%的字通过同音字词典替换为同音字,40%的字通过同形字典替换为同形字。
第二方面、综合使用BERT各个层输出的特征进行文本纠错。
本申请实施例中,将文本纠错任务拆分成两个子任务:错别字识别任务和纠错任务。其中,错别字识别任务用于判断某个位置的字是否正确,是一个二分类任务,任务较简单。而纠错任务是针对错别字,识别出其对应的正确词,需要在全量汉字中做分类任务,相比二分类任务来说,难度更高。如果直接做错别字纠错任务,即需要对文本中的每个字在全量汉字中做分类任务,整体纠错准备率会比较低。采用先找错别字再纠错的方式,符合人类的改错习惯,可以大幅度降低文本纠错复杂度,提高文本纠错模型的准确度。
文本纠错模型的结构如图10所示,输入文本序列x=([CLS],x
其中,λ
将特征序列H=(H
其中,文本纠错模型的损失函数如下:
loss=μloss
其中,loss
其中,y
第三方面、在错别字识别和错别字纠错这两个任务之间建立相关性。
若纠错模型中的CRF判断x
此时,文本纠错模型最终的损失如公式(6)所示:
LOSS=loss
本申请实施例提供的文本纠错方法,具有以下技术效果:
1、基于监督训练的文本纠错算法需要大规模的训练数据,数据获取难度较大。
2、传统的基于BERT+CRF的模型使用BERT最上层特征向量输入CRF进行预测错别字标签及使用最上层特征向量改正错别字。实际上,BERT每一层的特征向量还有的语义是不同的,只使用最上层导致了信息的缺失。
3、判断错别字和改正错别字任务是非常相关的任务,而传统的模型对这两个任务建模时的互动不足,没有深入挖掘这两个任务的相关性。
图11为本申请实施例的一种文本纠错装置的实现流程示意图,如图11所示,装置1100包括:
接收单元1101,用于获取待纠错文本;
纠错单元1102,用于将所述待纠错文本输入文本纠错模型,得到所述文本纠错模型输出的第一输出和第二输出;所述第一输出表征所述待纠错文本的错误识别结果;所述第二输出表征所述待纠错文本的纠错结果;其中,所述文本纠错模型的参数基于训练数据对应的第一预测结果和第二预测结果得到,所述第一预测结果表征所述训练数据的错误识别结果;所述第二预测结果表征所述训练数据的纠错结果。
在一些实施例中,所述文本纠错模型包括:特征提取模块、识别模块和纠错模块;纠错单元1102,用于:
提取单元,用于将所述待纠错文本输入所述特征提取模块,得到所述特征提取模块输出的特征序列;
识别单元,用于将所述特征序列输入所述纠错模块,得到所述识别模块输出的所述第一输出;
改正单元,用于将所述第一输出输入所述纠错模块,得到所述纠错模块输出的所述第二输出。
在一些实施例中,所述特征提取模块包括:特征向量层和至少一个转换层;所述提取单元,用于:
将所述待纠错文本输入所述特征向量层,得到所述特征向量层输出的文本向量序列;
将所述文本向量序列输入所述至少一个转换层,得到所述至少一个转换层中每一转换层输出的编码序列;
根据所述每一转换层对应的权重对相应的编码序列进行加权求和,得到所述特征序列。
在一些实施例中,装置1100还包括:训练单元,用于:
将所述训练数据输入所述文本纠错模型,得到所述文本纠错模型输出的所述第一预测结果和所述第二预测结果;
基于所述第一预测结果、所述第二预测结果和所述训练文本对应的标签集,确定所述文本纠错模型的第一损失;所述标签集中的标签表征所述训练数据中对应字符是否为错别字;
当所述第一损失不满足停止训练条件时,根据所述第一损失对所述文本纠错模型的参数进行调整,并将所述训练数据输入参数调整后的文本纠错模型,以得到新的第一损失,直到所述文本纠错模型的第一损失满足停止训练条件。
在一些实施例中,所述文本纠错模型包括:特征提取模块、识别模块和纠错模块;训练单元,还用于:
将所述训练数据输入所述特征提取模块,得到所述特征提取模块输出的训练特征序列;
将所述训练特征序列分别输入所述识别模块和所述纠错模块,得到所述识别模块输出的所述第一预测结果,和所述纠错模块输出的所述第二预测结果。
在一些实施例中,训练单元,还用于:
基于所述第一预测结果和所述训练数据中各字符对应的第一标签,计算所述文本纠错模型的第二损失;
基于所述第二预测结果在生成字典上的概率分布,计算所述文本纠错模型的第三损失;
根据所述第二损失和所述第三损失,确定所述第一损失。
在一些实施例中,训练单元,还用于:
基于所述第一预测结果和所述第二预测结果在生成字典上的概率分布,计算所述文本纠错模型的第四损失;
对应的,根据所述第二损失和所述第三损失,确定所述第一损失,包括:
根据所述第二损失、所述第三损失和所述第四损失,确定所述第一损失。
在一些实施例中,装置1100还包括:构造单元,用于:
确定训练语料中,设定构造比例的文本为被替换文本;
将所述训练语料中的所述被替换文本替换为训练文本,得到训练数据;
将所述训练数据中,所述训练文本中各字符对应的标签设置为第一值;所述第一值表征对应的字符为错别字;
将所述训练数据中,除所述训练文本以外的文本中各字符对应的标签设置为第二值;所述第二值表征对应的字符不是错别字。
在一些实施例中,构造单元,还用于:
获取至少一种替换方式中每一替换方式对应的替换比例;
通过所述至少一种替换方式中每一替换方式,以相应的替换比例,将所述训练语料中的所述被替换文本替换为训练文本。
需要说明的是,本申请实施例提供的文本纠错装置包括所包括的各单元,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro ProcessorUnit)、数字信号处理器(DSP,Digital Signal Processor)或现场可编程门阵列(FPGA,Field-Programmable Gate Array)等。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的文本纠错方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中提供的文本纠错方法中的步骤。其中,该电子设备可为客户端,也可为服务端。
对应地,本申请实施例提供一种存储介质,也就是计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的文本纠错方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,图12为本申请实施例电子设备的一种硬件实体示意图,如图12所示,所述电子设备1200包括:一个处理器1201、至少一个通信总线1202、至少一个外部通信接口1204和存储器1205。其中,通信总线1202配置为实现这些组件之间的连接通信。在一示例中,电子设备1200还包括:用户接口1203、其中,用户接口1203可以包括显示屏,外部通信接口1204可以包括标准的有线接口和无线接口。
存储器1205配置为存储由处理器1201可执行的指令和应用,还可以缓存待处理器1201以及电子设备中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
- 文本纠错方法、文本纠错装置、存储介质和电子设备
- 一种文本纠错方法、装置、设备及计算机可读存储介质