错别字词的识别方法、装置、设备及计算机可读存储介质

文档序号:1889900 发布日期:2021-11-26 浏览:6次 >En<

阅读说明:本技术 错别字词的识别方法、装置、设备及计算机可读存储介质 (Method, device and equipment for identifying wrongly-distinguished words and phrases and computer-readable storage medium ) 是由 杨韬 于 2021-04-06 设计创作,主要内容包括:本申请提供了一种错别字词的识别方法、装置、设备、计算机可读存储介质及模型训练方法;其中,错别字词的识别方法包括:获取待识别的语句,以及所述语句中待识别字词的编码特征;利用已训练的语言模型,对所述语句中的待识别字词进行特征提取,得到所述待识别字词在所述语句中的上下文特征;利用已训练的深度神经网络模型,对所述语句中待识别字词的编码特征和上下文特征进行识别,得到表征所述待识别字词是否错误的识别结果。本申请中,能够在进行错别字词识别时,利用语言模型泛化性强的特点以及深度神经网络模型识别准确率高的特性,更好地识别出语句中的错别字词,且不需要人工设定和维护大量的模型融合规则,可以减少人工成本。(The application provides a method, a device and equipment for identifying wrongly-distinguished words, a computer-readable storage medium and a model training method; the method for identifying the wrongly-distinguished words comprises the following steps: acquiring a sentence to be recognized and coding characteristics of words to be recognized in the sentence; performing feature extraction on the words to be recognized in the sentences by using the trained language model to obtain the context features of the words to be recognized in the sentences; and identifying the coding features and the context features of the words to be identified in the sentences by using the trained deep neural network model to obtain an identification result representing whether the words to be identified are wrong or not. In the application, when wrongly-written or mispronounced words are recognized, the wrongly-written or mispronounced words in the sentences can be recognized better by utilizing the characteristics of strong generalization of the language model and the characteristic of high recognition accuracy of the deep neural network model, a large number of model fusion rules do not need to be manually set and maintained, and labor cost can be reduced.)

错别字词的识别方法、装置、设备及计算机可读存储介质

技术领域

本申请涉及但不限人工智能领域,尤其涉及一种错别字词的识别方法、装置、设备、计算机可读存储介质及模型训练方法。

背景技术

在如今的自媒体时代,各个内容分发平台上的创造者们每天创造了数以百万计的文章供推荐给数以亿计的用户。在每天产生的数量众多的文章里,经常包含了一些错别字,这极大地影响了用户的阅读体验。和英文相比,汉语表达更丰富多样,文法句法结构也更灵活多变,所以出错的原因更是千差万别,比如:有浅层的拼写错误,例如同音错误、近音错误和形似错误等;也有深层的语法错误,例如介词误用、搭配不当等;更有难以捕捉的逻辑错误,例如“把”字句与“被”字句的混用。这大大增加了中文纠错的难度,使得中文纠错面临的问题更加具有挑战性。因此,如何能快速准确的识别出文章中的错别字是一项重要的但是富有挑战的工作。

相关技术中的错别字识别方法主要有基于语言模型的错别字识别和基于深度神经网络模型的错别字识别。基于语言模型的错别字识别方法泛化性较好,但识别准确率较低,基于深度神经网络模型的错别字识别方法相较于基于语言模型的错别字识别方法,识别准确率更高,但泛化性相对较差。相关技术中,通常分别用这两种模型对文本进行错别字识别,然后在对两个模型的识别结果基于一系列的规则进行融合,得到最终的识别结果。但是,这是对两个模型融合是一种人工浅层融合方式,需要设定大量的阈值和调整大量的规则,使得系统难于维护和进一步优化。

发明内容

本申请实施例提供一种错别字词的识别方法、装置、设备、计算机可读存储介质及模型训练方法,能够在进行错别字词识别时,利用语言模型泛化性强的特点以及深度神经网络模型识别准确率高的特性,更好地识别出语句中的错别字词,并且由于在深度神经网络模型的基础上,深度融合语言模型的特征,进行端到端的错别字词的识别,不需要人工设定和维护大量的模型融合规则,从而可以极大地减少人工成本。

本申请实施例的技术方案是这样实现的:

本申请实施例提供一种错别字词的识别方法,包括:

获取待识别的语句,以及所述语句中待识别字词的编码特征;

利用已训练的语言模型,对所述语句中的待识别字词进行特征提取,得到所述待识别字词在所述语句中的上下文特征;

利用已训练的深度神经网络模型,对所述语句中待识别字词的编码特征和上下文特征进行识别,得到表征所述待识别字词是否错误的识别结果。

在一些实施例中,所述语言模型包括双向语言模型,所述上下文特征包括隐式特征,所述利用已训练的语言模型,对所述语句中的待识别字词进行特征提取,得到所述待识别字词在所述语句中的上下文特征,包括:利用已训练的所述双向语言模型,确定在正向预测的情况下表征所述待识别字词的前N个字的第一向量,以及在逆向预测的情况下表征所述待识别字词的后M个字的第二向量,其中,N和M均为大于或等于0,且小于所述语句的长度的整数;基于所述第一向量和所述第二向量,得到所述待识别字词在所述语句中的隐式特征。

在一些实施例中,所述上下文特征包括显式特征,所述利用已训练的语言模型,对所述语句中的待识别字词进行特征提取,得到所述待识别字词在所述语句中的上下文特征,包括:利用已训练的语言模型,对所述语句中的待识别字词进行预测,得到表征所述待识别字词是否错误的概率参数;基于所述概率参数,确定所述待识别字词在所述语句中的显式特征。

在一些实施例中,所述概率参数包括当前字词概率和最大候选字词概率,所述基于所述概率参数,确定所述待识别字词在所述语句中的显式特征,包括:对所述当前字词概率与所述最大候选字词概率之间的差值进行离散化,得到离散化差值;从预设的第一取值区间列表中确定所述离散化差值所属的第一目标取值区间;基于所述第一目标取值区间,确定所述待识别字词在所述语句中的显式特征。

在一些实施例中,所述概率参数包括所述待识别字词的至少一个困惑度降比,所述利用已训练的语言模型,对所述语句中的待识别字词进行预测,得到表征所述待识别字词是否错误的概率参数,包括:利用已训练的语言模型,确定所述待识别字词所在位置处为当前字词的情况下所述语句的当前困惑度,以及将所述位置处分别替换为所述待识别字词的错别字候选集中的各候选错别字词的情况下所述语句的替换后困惑度;基于所述待识别字词的当前困惑度和至少一个替换后困惑度,确定所述待识别字词的至少一个困惑度降比。

在一些实施例中,所述基于所述概率参数,确定所述待识别字词在所述语句中的显式特征,包括:对所述待识别字词的至少一个困惑度降比进行离散化,得到离散化后的困惑度降比;从预设的第二取值区间列表中确定所述离散化后的困惑度降比所属的第二目标取值区间;基于所述第二目标取值区间,确定所述待识别字词在所述语句中的显式特征。

在一些实施例中,所述利用已训练的深度神经网络模型,对所述语句中待识别字词的编码特征和上下文特征进行识别,得到表征所述待识别字词是否错误的识别结果,包括:将待识别字词的编码特征和上下文特征进行合并,得到所述待识别字词的融合向量;利用已训练的深度神经网络模型,对所述语句中待识别字词的融合向量进行识别,得到表征所述待识别字词是否错误的识别结果。

在一些实施例中,在所述利用已训练的深度神经网络模型,对所述语句中待识别字词的编码特征和上下文特征进行识别,得到表征所述待识别字词是否错误的识别结果之前,所述方法还包括:获取所述标注样本集中的每一样本语句以及每一所述样本语句中待识别字词的编码特征;所述标注样本集中每一样本语句具有用于标注所述样本语句中的待识别字词是否为错别字的标签序列;针对每一所述样本语句,利用已训练的所述语言模型,对所述样本语句中的待识别字词进行特征提取,得到所述样本语句中的待识别字词在所述样本语句中的上下文特征,并利用所述深度神经网络模型,对所述样本语句中的待识别字词的编码特征和上下文特征进行识别,得到表征所述样本语句中待识别字词是否错误的识别结果;基于每一样本语句对应的识别结果和每一样本语句的标签序列,利用损失函数确定损失值;在根据所述损失值确定所述损失函数未收敛的情况下,基于参数优化算法对所述深度神经网络模型的参数进行更新。

本申请实施例提供一种模型训练方法,包括:

获取标注样本集中的每一样本语句以及每一所述样本语句中的待识别字词的编码特征;所述标注样本集中每一样本语句具有用于标注所述样本语句中的待识别字词是否为错别字的标签序列;

针对每一所述样本语句,利用已训练的语言模型,对所述样本语句中的待识别字词进行特征提取,得到所述样本语句中的待识别字词在所述样本语句中的上下文特征,并利用所述深度神经网络模型,对所述样本语句中的待识别字词的编码特征和上下文特征进行识别,得到表征所述样本语句中待识别字词是否错误的识别结果;

基于每一样本语句对应的识别结果和每一样本语句的标签序列,利用损失函数确定损失值;

在根据所述损失值确定所述损失函数未收敛的情况下,基于参数优化算法对所述深度神经网络模型的参数进行更新。

本申请实施例提供一种错别字词的识别装置,包括:

第一获取模块,用于获取待识别的语句,以及所述语句中待识别字词的编码特征;

第一提取模块,用于利用已训练的语言模型,对所述语句中的待识别字词进行特征提取,得到所述待识别字词在所述语句中的上下文特征;

第一识别模块,用于利用已训练的深度神经网络模型,对所述语句中待识别字词的编码特征和上下文特征进行识别,得到表征所述待识别字词是否错误的识别结果。

在一些实施例中,所述语言模型包括双向语言模型,所述上下文特征包括隐式特征,所述第一提取模块还用于:利用已训练的所述双向语言模型,确定在正向预测的情况下表征所述待识别字词的前N个字的第一向量,以及在逆向预测的情况下表征所述待识别字词的后M个字的第二向量,其中,N和M均为大于或等于0,且小于所述语句的长度的整数;基于所述第一向量和所述第二向量,得到所述待识别字词在所述语句中的隐式特征。

在一些实施例中,所述上下文特征包括显式特征,所述第一提取模块还用于:利用已训练的语言模型,对所述语句中的待识别字词进行预测,得到表征所述待识别字词是否错误的概率参数;基于所述概率参数,确定所述待识别字词在所述语句中的显式特征。

在一些实施例中,所述概率参数包括当前字词概率和最大候选字词概率,所述第一提取模块还用于:对所述当前字词概率与所述最大候选字词概率之间的差值进行离散化,得到离散化差值;从预设的第一取值区间列表中确定所述离散化差值所属的第一目标取值区间;基于所述第一目标取值区间,确定所述待识别字词在所述语句中的显式特征。

在一些实施例中,所述概率参数包括所述待识别字词的至少一个困惑度降比,所述第一提取模块还用于:利用已训练的语言模型,确定所述待识别字词所在位置处为当前字词的情况下所述语句的当前困惑度,以及将所述位置处分别替换为所述待识别字词的错别字候选集中的各候选错别字词的情况下所述语句的替换后困惑度;基于所述待识别字词的当前困惑度和至少一个替换后困惑度,确定所述待识别字词的至少一个困惑度降比。

在一些实施例中,所述第一提取模块还用于:对所述待识别字词的至少一个困惑度降比进行离散化,得到离散化后的困惑度降比;从预设的第二取值区间列表中确定所述离散化后的困惑度降比所属的第二目标取值区间;基于所述第二目标取值区间,确定所述待识别字词在所述语句中的显式特征。

在一些实施例中,所述第一识别模块还用于:将待识别字词的编码特征和上下文特征进行合并,得到所述待识别字词的融合向量;利用已训练的深度神经网络模型,对所述语句中待识别字词的融合向量进行识别,得到表征所述待识别字词是否错误的识别结果。

在一些实施例中,所述装置还包括:第二获取模块,用于获取所述标注样本集中的每一样本语句以及每一所述样本语句中待识别字词的编码特征;所述标注样本集中每一样本语句具有用于标注所述样本语句中的待识别字词是否为错别字的标签序列;第二识别模块,用于针对每一所述样本语句,利用已训练的所述语言模型,对所述样本语句中的待识别字词进行特征提取,得到所述样本语句中的待识别字词在所述样本语句中的上下文特征,并利用所述深度神经网络模型,对所述样本语句中的待识别字词的编码特征和上下文特征进行识别,得到表征所述样本语句中待识别字词是否错误的识别结果;第一确定模块,用于基于每一样本语句对应的识别结果和每一样本语句的标签序列,利用损失函数确定损失值;第一更新模块,用于在根据所述损失值确定所述损失函数未收敛的情况下,基于参数优化算法对所述深度神经网络模型的参数进行更新。

本申请实施例提供一种模型训练的装置,包括:

第三获取模块,用于获取标注样本集中的每一样本语句以及每一所述样本语句中的待识别字词的编码特征;所述标注样本集中每一样本语句具有用于标注所述样本语句中的待识别字词是否为错别字的标签序列;

第三识别模块,用于针对每一所述样本语句,利用已训练的语言模型,对所述样本语句中的待识别字词进行特征提取,得到所述样本语句中的待识别字词在所述样本语句中的上下文特征,并利用所述深度神经网络模型,对所述样本语句中的待识别字词的编码特征和上下文特征进行识别,得到表征所述样本语句中待识别字词是否错误的识别结果;

第二确定模块,用于基于每一样本语句对应的识别结果和每一样本语句的标签序列,利用损失函数确定损失值;

第二更新模块,用于在根据所述损失值确定所述损失函数未收敛的情况下,基于参数优化算法对所述深度神经网络模型的参数进行更新。

本申请实施例提供一种错别字词的识别设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的错别字词的识别方法。

本申请实施例提供一种模型训练设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的模型训练方法。

本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的方法。

本申请实施例具有以下有益效果:

首先,获取待识别的语句以及所述语句中待识别字词的编码特征;然后,利用已训练的语言模型,对所述语句中的待识别字词进行特征提取,得到所述待识别字词在所述语句中的上下文特征;最后,利用已训练的深度神经网络模型,对所述语句中待识别字词的编码特征和上下文特征进行识别,得到表征所述待识别字词是否错误的识别结果。这样,在进行错别字词的识别时,既可以利用语言模型泛化性强的特点,还可以利用深度神经网络模型识别准确率高的特性,从而可以更好地识别出语句中的错别字词。并且由于在深度神经网络模型的基础上,深度融合语言模型的特征,进行端到端的错别字词的识别,不需要人工设定和维护大量的模型融合规则,从而可以极大地减少人工成本。

附图说明

图1是本申请实施例提供的错别字词的识别系统的一个可选的架构示意图;

图2A是本申请实施例提供的错别字词的识别设备的一个可选的结构示意图;

图2B是本申请实施例提供的模型训练设备的一个可选的结构示意图;

图3是本申请实施例提供的错别字词的识别方法的一个可选的流程示意图;

图4是本申请实施例提供的错别字词的识别方法的一个可选的流程示意图;

图5是本申请实施例提供的错别字词的识别方法的一个可选的流程示意图;

图6是本申请实施例提供的错别字词的识别方法的一个可选的流程示意图;

图7是本申请实施例提供的错别字词的识别方法的一个可选的流程示意图;

图8是本申请实施例提供的模型训练方法的一个可选的流程示意图;

图9A是本申请实施例提供的一种融合双向神经语言模型的基于深度神经网络的错别字识别模型的整体架构示意图;

图9B为本申请实施例提供的一种双向神经语言模型的组成架构示意图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

如果申请文件中出现“第一/第二”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

为了更好地理解本申请实施例提供的错别字词的识别方法,下面先对相关技术中的错别字识别方案进行说明。

相关技术中,有以下两种错别字识别方案:

1)基于语言模型的错别字识别方法。该方法依赖在大规模语料上训练的语言模型,一般包括两种语言模型:一种是基于多源语言模型(N-gram)的统计语言模型,另一种是基于深度学习的神经网络语言模型。在训练好语言模型后,可以通过对语句计算表征语句流畅度的困惑度(Perplexity,PPL)值,来判断语句是否是合理的自然语言表达。具体来讲,输入一个语句,逐词采用多种候选词(包括同音词候选、近音词候选、形似候选等)进行替换,计算这个语句替换前和替换后的PPL得分降比,如果大于一定的阈值就说明这个字或者词就是一个错别字。

2)基于深度神经网络模型的错别字识别方法。该方法中主要是采用序列标注模型,来预测输入的语句中的每个字是否为错别字。常用的基于深度神经网络的序列标注模型主要有双向长短期记忆(Bi-directional Long Short-Term Memory,Bi-LSTM)模型、结合条件随机场(conditional random field,CRF)的长短期记忆(Long Short-TermMemory,LSTM)模型、以及基于转换器的双向编码(Bidirectional EncoderRepresentation from Transformers,BERT)模型等。其中,基于BERT的深度神经网络模型全面更新了多个自然语言处理任务上的最优指标,因此,基于BERT的序列标注模型在错别字识别任务上的使用较多。

上述相关技术的错别字识别方法中,基于语言模型的错别字识别方法的优点在于计算速度快,实现简单,且由于是用大量的无监督文本训练的,所以泛化性较好,但是错别字识别准确率不高;基于深度神经网络模型的错别字识别方法采用具有针对性的标注训练数据来训练模型,对于错别字的识别准确率相较于语言模型更高,但是由于深度神经网络模型只是在少量的标注训练数据上面进行训练,泛化性相较于用大量文本训练的语言模型较差。

本申请实施例提供一种错别字词的识别方法、装置、设备和计算机可读存储介质,能够在进行错别字词的识别时,可以利用神经语言模型泛化性强的特点以及深度神经网络识别模型准确率高的特性,更好地识别出语句中的错别字词,并且由于在深度神经网络模型的基础上,深度融合神经语言模型的特征进行端到端的错别字词的识别,不需要人工设定和维护大量的模型融合规则,从而可以极大地减少人工成本。下面说明本申请实施例提供的错别字词的识别设备的示例性应用,本申请实施例提供的错别字词的识别设备和模型训练设备均可以实施为笔记本电脑,平板电脑,台式计算机,车载导航仪,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。下面,将说明错别字词的识别设备实施为服务器时的示例性应用。

参见图1,图1是本申请实施例提供的错别字词的识别系统100的一个可选的架构示意图,可以实现对待识别的语句的进行错别字词的识别,终端(示例性示出了终端400-1和终端400-2)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。

终端用于:在图形界面(示例性示出了图形界面410-1和图形界面410-2)显示用户进行语句错别字词识别的交互界面,接收用户的针对待识别语句的错别字词识别操作,并向服务器200发送待识别语句。

服务器200用于:获取待识别的语句,以及所述语句中待识别字词的编码特征;利用已训练的语言模型,对所述语句中的待识别字词进行特征提取,得到所述待识别字词在所述语句中的上下文特征;利用已训练的深度神经网络模型,对所述语句中待识别字词的编码特征和上下文特征进行识别,得到表征所述待识别字词是否错误的识别结果。

此外,本申请实施例涉及的错别字词的识别系统也可以是应用于区块链系统的分布式系统,该分布式系统可以是由多个节点和客户端形成的分布式节点,节点可以是接入网络中的任意形式的计算设备,如服务器、用户终端等,节点之间形成点对点(P2P,Peer ToPeer)网络,其中实施为服务器的错别字词的识别设备可以为区块链上的节点。

在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是地图数据自动采集车、智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例中不做限制。

参见图2A,图2A是本申请实施例提供的错别字词的识别设备200的结构示意图,图2A所示的错别字词的识别设备200包括:至少一个处理器210、存储器250、至少一个网络接口220和用户接口230。错别字词的识别设备200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2A中将各种总线都标为总线系统240。

处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。

用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口230还包括一个或多个输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。

存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。

存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me-mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor-y)。本申请实施例描述的存储器250旨在包括任意适合类型的存储器。

在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。

操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;

网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;

呈现模块253,用于经由一个或多个与用户接口230相关联的输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);

输入处理模块254,用于对一个或多个来自一个或多个输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。

在一些实施例中,本申请实施例提供的错别字词的识别装置可以采用软件方式实现,图2A示出了存储在存储器250中的错别字词的识别装置255,其可以是程序和插件等形式的软件,包括以下软件模块:第一获取模块2551、第一提取模块2552和第一识别模块2553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。

将在下文中说明各个模块的功能。

在另一些实施例中,本申请实施例提供的错别字词的识别装置可以采用硬件方式实现,作为示例,本申请实施例提供的错别字词的识别装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的错别字词的识别方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application SpecificIntegrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。

参见图2B,图2B是本申请实施例提供的模型训练设备300的结构示意图,图2B所示的模型训练设备300包括:至少一个处理器310、存储器350、至少一个网络接口320和用户接口330。模型训练设备300中的各个组件通过总线系统340耦合在一起。可理解,总线系统340用于实现这些组件之间的连接通信。总线系统340除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2B中将各种总线都标为总线系统340。

处理器310可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。

用户接口330包括使得能够呈现媒体内容的一个或多个输出装置331,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口330还包括一个或多个输入装置332,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。

存储器350可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器350可选地包括在物理位置上远离处理器310的一个或多个存储设备。

存储器350包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器350旨在包括任意适合类型的存储器。

在一些实施例中,存储器350能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。

操作系统351,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;

网络通信模块352,用于经由一个或多个(有线或无线)网络接口320到达其他计算设备,示例性的网络接口320包括:蓝牙、WiFi和USB等;

呈现模块353,用于经由一个或多个与用户接口330相关联的输出装置331(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);

输入处理模块354,用于对一个或多个来自一个或多个输入装置332之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。

在一些实施例中,本申请实施例提供的模型训练装置可以采用软件方式实现,图2B示出了存储在存储器350中的模型训练装置355,其可以是程序和插件等形式的软件,包括以下软件模块:第三获取模块3551、第三识别模块3552、第二确定模块3553和第二更新模块3554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。

将在下文中说明各个模块的功能。

在另一些实施例中,本申请实施例提供的模型训练装置可以采用硬件方式实现,作为示例,本申请实施例提供的模型训练装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的模型训练方法,例如,硬件译码处理器形式的处理器可以采用一个或多个ASIC、DSP、PLD,、复杂CPLD、FPGA或其他电子元件。

下面将结合本申请实施例提供的终端或服务器的示例性应用和实施,说明本申请实施例提供的错别字词的识别方法。

参见图3,图3是本申请实施例提供的错别字词的识别方法的一个可选的流程示意图,下面将结合图3示出的步骤进行说明,下述步骤的执行主体可以是前文的终端或服务器。

在步骤S101中,获取待识别的语句,以及所述语句中待识别字词的编码特征。

这里,待识别的语句为需要进行错别字识别的语句,可以包括但不限于中文语句、英文语句等中的一种或多种。待识别字词可以为语句中需要进行错别字识别的字词,语句中的每个字词可以是该语句中的单个字,例如单个汉字、单个单词等,也可以是该语句中的一个词组,例如汉字词语、单词短语等。待识别的语句中可以包括至少一个待识别字词。在实施时,待识别的语句可以是用户或其他系统输入的语句,也可以是从预设的文本中获取的,这里并不限定。语句中的待识别字词可以是语句中全部的字词,也可以是基于预设的字词筛选策略从语句中筛选出的部分字词。在实施时,可以根据语句中字词的词性筛选出待识别字词,例如,通常语句中的介词或语气词出现错别字的概率较低,因此可以仅对语句中除介词和语气词以外的字词进行错别字识别;也可以根据语句中字词所处的位置筛选出待识别字词,例如,若句首和句尾的字词出现错别字的概率较低,则可以仅对语句中处于中间位置的字词进行错别字识别。

待识别字词的编码特征为待识别字词对应的可以唯一表征该字词的编码信息,可以采用向量、矩阵、数值标识等任意合适的方式表示。在实施时,可以通过查询预设的编码特征表,如字向量表、词向量表等,得到语句中待识别字词的编码特征,也可以采用预设的编码规则、映射算法等对语句中的待识别字词进行编码或向量化等,得到待识别字词的编码特征,这里并不限定。在一些实施例中,还可以通过预设的自然语言处理模型对待识别的字词进行处理,得到待识别字词的编码特征,例如,可以基于BERT模型生成待识别字词的字向量,作为待识别字词的编码特征。

在步骤S102中,利用已训练的语言模型,对所述语句中的待识别字词进行特征提取,得到所述待识别字词在所述语句中的上下文特征。

这里,语言模型可以是任意合适的能够表示自然语言文本在语料中的概率分布,用于判断语句是否为正常描述的模型,可以预先采用合适的训练方式对语言模型进行训练。在实施时,语言模型可以是统计语言模型,如基于N-gram的一元语言模型(Uni-gram)、二元语言模型(Bi-gram)、三元语言模型(Tri-gram)等,也可以是神经语言模型,如概率前馈神经网络语言模型、循环神经网络语言模型、基于转换器结构的语言模型、基于LSTM结构的语言模型、基于卷积神经网络的语言模型等。此外,语言模型可以是单向语言模型,也可以是双向语言模型。本领域技术人员可以在实施时根据实际情况选择合适的语言模型,这里并不限定。

在一些实施例中,已训练的语言模型可以是基于无标注预料库进行训练得到的。利用无标注预料库中大量的文本对语言模型进行训练,得到的训练好的语言模型具有很好的泛化性。

待识别字词在语句中的上下文特征可以包括任意合适的与待识别字词在该语句中的上下文相关的特征,可以包括但不限于待识别字词在该语句的上下文中的表征向量、待识别字词在该语句的上下文中出现的概率、待识别语句对应的上下文语境信息、待识别字词在该语句的上下文语境中的词性特征等中的一种或多种。语言模型可以通过对待识别字词在语句中的上下文的表征向量进行处理、或者对当前待识别字词的概率分布或整体语句的困惑度等进行预测,实现待识别字词在语句中的上下文特征的提取。在实施时,本领域技术人员可以根据实际情况确定合适的上下文特征以及上下文特征的提取方式,这里并不限定。

在步骤S103中,利用已训练的深度神经网络模型,对所述语句中待识别字词的编码特征和上下文特征进行识别,得到表征所述待识别字词是否错误的识别结果。

这里,深度神经网络模型可以是任意合适的分类模型,可以预先采用合适的训练方式对深度神经网络模型进行训练。在实施时,深度神经网络模型可以是基于深度神经网络的序列标注模型,可以包括但不限于Bi-LSTM模型、LSTM-CRF模型、BERT模型等中的一种或多种,也可以是其他神经网络模型,如卷积神经网络(Convolutional Neural Network,CNN)模型,循环神经网络(Recurrent Neural Network,RNN)模型等中的一种或多种。本领域技术人员可以在实施时根据实际情况选择合适的语言模型,这里并不限定。

在一些实施例中,已训练的深度神经网络模型可以是基于预设的标注样本集训练得到的。标注样本集中可以包括多个样本语句,标注样本集中每一样本语句具有用于标注该样本语句中的待识别字词是否为错别字的标签序列。利用标注样本集训练对深度神经网络模型进行训练,得到的训练好的语言模型具有较高的错别字词识别准确率。

深度神经网络模型可以通过对语句中待识别字词的编码特征和上下文特征进行分类,来识别待识别字词是否错误。识别结果可以包括待识别字词错误的概率和正确的概率,基于待识别字词错误的概率和正确的概率,可以确定待识别字词是否错误。识别结果也可以包括待识别字词为错误的结果或者待识别字词为正确的结果。

本申请实施例中,首先,获取待识别的语句以及所述语句中待识别字词的编码特征;然后,利用已训练的语言模型,对所述语句中的待识别字词进行特征提取,得到所述待识别字词在所述语句中的上下文特征;最后,利用已训练的深度神经网络模型,对所述语句中待识别字词的编码特征和上下文特征进行识别,得到表征所述待识别字词是否错误的识别结果。这样,在进行错别字词的识别时,既可以利用语言模型泛化性强的特点,还可以利用深度神经网络模型识别准确率高的特性,从而可以更好地识别出语句中的错别字词。并且由于在深度神经网络模型的基础上,深度融合语言模型的特征,进行端到端的错别字词的识别,不需要人工设定和维护大量的模型融合规则,从而可以极大地减少人工成本。

在一些实施例中,参见图4,图4是本申请实施例提供的错别字词的识别方法的一个可选的流程示意图,基于图3,所述语言模型包括双向语言模型,所述上下文特征包括隐式特征,图3中示出的步骤S102可以通过如下步骤S401至步骤S402实现,下面将结合各步骤进行说明,下述步骤的执行主体可以是前文的终端或服务器。

在步骤S401中,利用已训练的所述双向语言模型,确定在正向预测的情况下表征所述待识别字词的前N个字的第一向量,以及在逆向预测的情况下表征所述待识别字词的后M个字的第二向量,其中,N和M均为大于或等于0,且小于所述语句的长度的整数。

这里,双向语言模型可以为任意合适的能对语句中的文字从前往后进行概率预测(也即正向预测)以及从后往前进行概率预测(也即逆向预测)的模型。在对待识别字词进行正向预测时,双向语言模型可以确定在待识别的语句中,待识别字词之前的N个字的表征向量,也即表征待识别字词的前N个字的第一向量,在对待识别字词进行逆向预测时,双向语言模型可以确定在待识别的语句中,待识别字词之后的M个字的表征向量,也即表征所述待识别字词的后M个字的第二向量。

在一些实施例中,双向语言模型可以由两个单向语言模型确定,也即可以包括一个正向预测的语言模型和一个逆向预测的语言模型。正向预测的语言模型对待识别字词进行预测时,可以确定表征待识别字词的前N个字的第一向量,逆向预测的语言模型对待识别字词进行预测时,可以确定表征所述待识别字词的后M个字的第二向量。

在步骤S402中,基于所述第一向量和所述第二向量,得到所述待识别字词在所述语句中的隐式特征。

这里,待识别字词在语句中的隐式特征可以包括待识别字词在该语句的上下文中的表征向量。在实施时,可以对第一向量和第二向量进行合并,得到待识别字词在语句中的隐式特征。在实施时,对第一向量和第二向量进行合并的方式,可以包括但不限于相加、拼接等中的一种或多种。

本申请实施例中,利用已训练的双向语言模型,确定在正向预测的情况下表征待识别字词的前N个字的第一向量,以及在逆向预测的情况下表征待识别字词的后M个字的第二向量,其中,N和M均为大于或等于0,且小于所述语句的长度的整数,并基于第一向量和第二向量,得到待识别字词在语句中的隐式特征。这样,待识别字词在语句中的隐式特征可以同时反映待识别字词在语句中的上文信息和下文信息,从而基于该隐式特征,可以进一步提升错别字词识别的准确性。

在一些实施例中,参见图5,图5是本申请实施例提供的错别字词的识别方法的一个可选的流程示意图,基于图3,所述上下文特征包括显式特征,图3中示出的步骤S102可以通过如下步骤S501至步骤S502实现,下面将结合各步骤进行说明,下述步骤的执行主体可以是前文的终端或服务器。

在步骤S501中,利用已训练的语言模型,对所述语句中的待识别字词进行预测,得到表征所述待识别字词是否错误的概率参数。

这里,语言模型可以对语句中的待识别字词的概率分布进行预测,得到表征待识别字词是否错误的概率参数。概率参数可以包括但不限于语句中待识别字词所在位置处为该待识别字词的概率、该位置处可能的字词以及每一可能的字词的概率、该位置处为该待识别字词时表示该语句的流畅程度的参数等中的一种或多种。本领域技术人员可以根据实际情况确定合适的概率参数,这里并不限定。

在步骤S502中,基于所述概率参数,确定所述待识别字词在所述语句中的显式特征。

这里,待识别字词在语句中的显式特征可以包括任意合适的与待识别字词在语句中的预测概率分布相关的特征。例如,待识别字词在语句中的显式特征可以包括语句中待识别字词所在位置处为该待识别字词的概率、该位置处概率最大的字词的概率与该位置处为该待识别字词的概率之间的差值或比值、该位置处为该待识别字词时该语句的PPL值、该位置处替换为其他字词时该语句的PPL降比等,也可以包括与表征所述待识别字词是否错误的概率参数相对应的预设的特征向量等。

在一些实施例中,可以将概率参数直接确定为待识别字词在语句中的显式特征。在一些实施例中,还可以将概率参数映射为预设的特征向量,将该特征向量确定为待识别字词在语句中的显式特征。

在一些实施例中,所述概率参数包括当前字词概率和最大候选字词概率,上述步骤S502中可以通过如下步骤S511至步骤S513实现:

步骤S511,对所述当前字词概率与所述最大候选字词概率之间的差值进行离散化,得到离散化差值;

这里,当前字词概率为语言模型预测的语句中当前字词所在位置处为当前字词的概率。最大候选字词概率为语言模型预测的语句中当前字词所在位置处的可能字词中概率最大的字词对应的概率。

在实施时,可以采用任意合适的离散化方式对当前字词概率与最大候选字词概率之间的差值进行离散化,可以对差值进行平均离散化,也可以对差值进行不均等离散化,这里并不限定。离散化的区间可以是根据实际情况确定的,例如可以是[0,1]区间上的离散化,也可以是[0,100]区间上的离散化。

步骤S512,从预设的第一取值区间列表中确定所述离散化差值所属的第一目标取值区间;

这里,第一取值区间列表中可以包括预先设置的多个取值区间,可以是根据对当前字词概率与最大候选字词概率之间的差值进行离散化的方式确定的。对差值进行离散化后得到的离散化差值有且属于一个唯一的取值区间,这个取值区间即为第一目标取值区间。

步骤S513,基于所述第一目标取值区间,确定所述待识别字词在所述语句中的显式特征。

这里,第一取值区间列表中的每一取值区间可以对应一个预设的特征,在确定第一目标取值区间后,则可将第一目标取值区间对应的特征确定为待识别字词在语句中的显示特征。

在一些实施例中,所述概率参数包括所述待识别字词的至少一个困惑度降比,上述步骤S501可以通过如下步骤S521至步骤S522实现:

步骤S521,利用已训练的语言模型,确定所述待识别字词所在位置处为当前字词的情况下所述语句的当前困惑度,以及将所述位置处分别替换为所述待识别字词的错别字候选集中的各候选错别字词的情况下所述语句的替换后困惑度;

这里,待识别字词的错别字候选集包括容易与待识别的错别字混淆或者出错的字词,例如,待识别字词的形近字、同音字等。在实施时,待识别字词的错别字候选集可以是基于开源的字典库确定的,也可以是预先基于人工经验总结的,这里并不限定。

待识别字词的错别字候选集中可以包括至少一个候选错别字词。针对每一候选错别字词,可以将语句中待识别字词所在位置处替换为该候选错别字词,并计算替换后的困惑度,得到一个替换后困惑度。

步骤S522,基于所述待识别字词的当前困惑度和至少一个替换后困惑度,确定所述待识别字词的至少一个困惑度降比。

这里,困惑度降比可以是当前困惑度与替换后困惑度之差,也可以是当前困惑度与替换后困惑度之比,这里并不限定。困惑度降比可以反映语句中的待识别字词是否错误的可能性,困惑度降比越大,语句中的待识别字词错误的可能性越大。

在一些实施例中,上述步骤S502可以通过如下步骤S531至步骤S533实现:步骤S531,对所述待识别字词的至少一个困惑度降比进行离散化,得到离散化后的困惑度降比;步骤S532,从预设的第二取值区间列表中确定所述离散化后的困惑度降比所属的第二目标取值区间;步骤S533,基于所述第二目标取值区间,确定所述待识别字词在所述语句中的显式特征。这里,步骤S531至步骤S533的实施方式与前述步骤S511至步骤S513类似,在实施时,可以参照前述步骤S511至步骤S513的具体实施方式。

在一些实施例中,所述上下文特征包括显式特征和隐式特征,上述步骤S102可以通过如下步骤S541至步骤S544实现:步骤S541,利用已训练的所述双向语言模型,确定在正向预测的情况下表征所述待识别字词的前N个字的第一向量,以及在逆向预测的情况下表征所述待识别字词的后M个字的第二向量,其中,N和M均为大于或等于0,且小于所述语句的长度的整数;步骤S542,基于所述第一向量和所述第二向量,得到所述待识别字词在所述语句中的隐式特征;步骤S543,利用已训练的语言模型,对所述语句中的待识别字词进行预测,得到表征所述待识别字词是否错误的概率参数;步骤S544,基于所述概率参数,确定所述待识别字词在所述语句中的显式特征。

在一些实施例中,所述概率参数包括当前字词概率、最大候选字词概率以及所述待识别字词的至少一个困惑度降比,所述显式特征包括第一显式特征和第二显式特征,上述步骤S102可以通过如下步骤S551至步骤S556实现:步骤S551,对所述当前字词概率与所述最大候选字词概率之间的差值进行离散化,得到离散化差值;步骤S552,从预设的第一取值区间列表中确定所述离散化差值所属的第一目标取值区间;步骤S553,基于所述第一目标取值区间,确定所述待识别字词在所述语句中的显式特征;步骤S554,对所述待识别字词的至少一个困惑度降比进行离散化,得到离散化后的困惑度降比;步骤S555,从预设的第二取值区间列表中确定所述离散化后的困惑度降比所属的第二目标取值区间;步骤S556,基于所述第二目标取值区间,确定所述待识别字词在所述语句中的显式特征。

本申请实施例中,利用已训练的语言模型,对语句中的待识别字词进行预测,得到表征待识别字词是否错误的概率参数,并基于概率参数,确定待识别字词在语句中的显式特征。这样,可以基于语言模型对语句中的待识别字词的预测结果确定待识别字词的语句中的显示特征。从而得到的显示特征可以更好地反映待识别字词在语句中的上下文语境,进而能够进一步提升错别字词识别的准确性,并能有效提高错别字词识别的泛化性。进一步地,上下文特征可以同时包括显式特征和隐式特征,从而可以进一步地提升上下文特征对待识别字词在语句中的上下文语境的表达能力。

在一些实施例中,参见图6,图6是本申请实施例提供的错别字词的识别方法的一个可选的流程示意图,基于图3,上述步骤S103可以通过如下步骤S601至步骤S602实现,下面将结合各步骤进行说明,下述步骤的执行主体可以是前文的终端或服务器。

在步骤S601中,将待识别字词的编码特征和上下文特征进行合并,得到所述待识别字词的融合向量;

这里,可以采用任意合适的方法对待识别字词的编码特征和上下文特征进行合并,这里并不限定。例如,可以将编码特征和上下文特征相加,得到待识别字词的融合向量;也可以将编码特征和上下文特征进行拼接,得到待识别字词的融合向量。

在步骤S602中,利用已训练的深度神经网络模型,对所述语句中待识别字词的融合向量进行识别,得到表征所述待识别字词是否错误的识别结果。

这里,深度神经网络模型可以通过对语句中待识别字词的融合特征进行分类,来识别待识别字词是否错误。

本申请实施例中,将待识别字词的编码特征和上下文特征进行合并,得到待识别字词的融合向量,利用已训练的深度神经网络模型,对语句中待识别字词的融合向量进行识别,得到表征待识别字词是否错误的识别结果。这样,可以融合待识别字词的编码特征和上下文特征进行错别字词的识别,可以进一步提高对错别字词的识别准确率。

在一些实施例中,参见图7,图7是本申请实施例提供的错别字词的识别方法的一个可选的流程示意图,基于图3,在上述步骤S103之前还可以执行如下步骤S701至步骤S704,下面将结合各步骤进行说明,下述步骤的执行主体可以是前文的终端或服务器。

步骤S701中,获取所述标注样本集中的每一样本语句以及每一所述样本语句中待识别字词的编码特征;所述标注样本集中每一样本语句具有用于标注所述样本语句中的待识别字词是否为错别字的标签序列。

这里,标注样本集可以是预先通过人工或自动化方式标注的,标注样本集中可以包括至少一个样本语句。样本语句中可以包括至少一个待识别字词,样本语句的标签序列中可以包括与每一待识别字词对应的标签,用于标注赌赢的待识别字词是否为错别字。

步骤S702中,针对每一所述样本语句,利用已训练的所述语言模型,对所述样本语句中的待识别字词进行特征提取,得到所述样本语句中的待识别字词在所述样本语句中的上下文特征,并利用所述深度神经网络模型,对所述样本语句中的待识别字词的编码特征和上下文特征进行识别,得到表征所述样本语句中待识别字词是否错误的识别结果。

这里,步骤S702与前述步骤S102和步骤S103相对应,在实施时,可以参照前述步骤S102和步骤S103的具体实施方式。

步骤S703,基于每一样本语句对应的识别结果和每一样本语句的标签序列,利用损失函数确定损失值。

这里,可以采用任意合适的损失函数确定损失值,例如绝对值损失函数、平方损失函数、交叉熵损失函数、指数损失函数等。

步骤S704,在根据所述损失值确定所述损失函数未收敛的情况下,基于参数优化算法对所述深度神经网络模型的参数进行更新。

这里,参数优化算法可以为任意合适的算法,例如梯度下降法、共轭梯度法、牛顿算法等。

需要说明的是,上述步骤S701至步骤S704在实施时不限于如图7所示的执行顺序,例如还可以在步骤S101之前执行上述步骤S701至步骤S704。

在一些实施例中,在步骤S704之后,还可以包括:步骤S705,针对每一所述样本语句,利用已训练的所述语言模型,对所述样本语句中的待识别字词进行特征提取,得到所述样本语句中的待识别字词在所述样本语句中的上下文特征,并利用参数更新后的所述深度神经网络模型,对所述样本语句中的待识别字词的编码特征和上下文特征进行识别,得到表征所述样本语句中待识别字词是否错误的更新后的识别结果;步骤S706,基于每一样本语句对应的更新后的识别结果和每一样本语句的标签序列,利用损失函数确定更新后的损失值;步骤S707,在根据所述更新后的损失值确定所述损失函数未收敛的情况下,基于参数优化算法对所述深度神经网络模型的参数进行更新。

在一些实施例中,在步骤S704之后,还可以包括:步骤S708,在根据所述损失值确定所述损失函数收敛的情况下或者在所述参数的更新次数达到预设的次数阈值的情况下,将当前的深度神经网络模型确定为训练好的深度神经网络模型。

本申请实施例中,采用预设的标注样本集,并融合已训练的语言模型的特征对深度神经网络模型进行训练,实现端到端的学习。这样,训练得到的深度神经网络模型既可以利用语言模型泛化性强的特点,还可以利用深度神经网络模型识别准确率高的特性,从而可以更好地识别出语句中的错别字词。并且由于在深度神经网络模型的基础上,深度融合语言模型的特征,进行端到端的学习,不需要人工设定和维护大量的模型融合规则,从而可以极大地减少人工成本

下面将结合本申请实施例提供的终端或服务器的示例性应用和实施,说明本申请实施例提供的模型训练方法。

参见图8,图8是本申请实施例提供的模型训练方法的一个可选的流程示意图,下面将结合图8示出的步骤进行说明,下述步骤的执行主体可以是前文的终端或服务器。

在步骤S801中,获取标注样本集中的每一样本语句以及每一所述样本语句中的待识别字词的编码特征;所述标注样本集中每一样本语句具有用于标注所述样本语句中的待识别字词是否为错别字的标签序列;

在步骤S802中,针对每一所述样本语句,利用已训练的语言模型,对所述样本语句中的待识别字词进行特征提取,得到所述样本语句中的待识别字词在所述样本语句中的上下文特征,并利用所述深度神经网络模型,对所述样本语句中的待识别字词的编码特征和上下文特征进行识别,得到表征所述样本语句中待识别字词是否错误的识别结果;

在步骤S803中,基于每一样本语句对应的识别结果和每一样本语句的标签序列,利用损失函数确定损失值;

在步骤S804中,在根据所述损失值确定所述损失函数未收敛的情况下,基于参数优化算法对所述深度神经网络模型的参数进行更新。

在一些实施例中,在步骤S804之后,还可以包括:步骤S805,针对每一所述样本语句,利用已训练的所述语言模型,对所述样本语句中的待识别字词进行特征提取,得到所述样本语句中的待识别字词在所述样本语句中的上下文特征,并利用参数更新后的所述深度神经网络模型,对所述样本语句中的待识别字词的编码特征和上下文特征进行识别,得到表征所述样本语句中待识别字词是否错误的更新后的识别结果;步骤S806,基于每一样本语句对应的更新后的识别结果和每一样本语句的标签序列,利用损失函数确定更新后的损失值;步骤S807,在根据所述更新后的损失值确定所述损失函数未收敛的情况下,基于参数优化算法对所述深度神经网络模型的参数进行更新。

在一些实施例中,在步骤S804之后,还可以包括:步骤S808,在根据所述损失值确定所述损失函数收敛的情况下或者在所述参数的更新次数达到预设的次数阈值的情况下,将当前的深度神经网络模型确定为训练好的深度神经网络模型。

需要说明的是,步骤S801至步骤S808分别对应于前述步骤S701至步骤S708,在实施时,可以参照前述步骤S701至步骤S708的具体实施方式。

本申请实施例中,采用预设的标注样本集,并融合已训练的语言模型的特征对深度神经网络模型进行训练,实现端到端的学习。这样,训练得到的深度神经网络模型既可以利用语言模型泛化性强的特点,还可以利用深度神经网络模型识别准确率高的特性,从而可以更好地识别出语句中的错别字词。并且由于在深度神经网络模型的基础上,深度融合语言模型的特征,进行端到端的学习,不需要人工设定和维护大量的模型融合规则,从而可以极大地减少人工成本。

下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。本申请实施例提供的错别字词的识别方法可以应用于对单个语句或文章进行错别字识别的场景。例如,可以在天天快报、QQ看点等信息流产品上,自动识别并提示文章中的错别字信息,辅助人工审查识别错别字,拦截错别字过多或包含恶劣错别字的低质文章进入推荐池;还可以在企鹅号发文助手中,辅助自媒体作者发文,在发文前帮助用户检查文章中的疑似错别字,并提示纠正信息,从而帮助作者减少或避免文章中的错别字。

在实际应用场景中,错别字的种类众多,以中文错别字识别为例,参见如下表1,表1中列出了常见的中文错别字的错误类型及示例,可以包括同音错误、近音错误、形近错误及其他错误,并示例性示出了每一错误类型的错别字示例,并在相应的错别字位置后的括号内给出了正确的字:

表1常见的中文错别字的错误类型

有鉴于此,本申请实施例提出了一种融合双向神经语言模型的基于深度神经网络的错别字识别模型,在传统的基于深度神经网络的错别字识别模型的基础上,深度融合了神经语言模型的特征,做端到端的学习。由于深度利用了大量文本训练的神经语言模型,基于深度神经网络的错别字识别模型可以更好的识别出文章中的错别字。通过这种深度融合的方式,将两个模型融合为了一个模型,既利用上了大量文本训练的神经语言模型泛化性强的特点,也保持了深度神经网络准确率高的特性,使模型可以更好的识别出文章中的错别字。

参见图9A,图9A为本申请实施例提供的一种融合双向神经语言模型的基于深度神经网络的错别字识别模型的整体架构示意图。如图9A所示,该模型包括基于转换器的双向语言模型910和BERT序列标注模型920,该模型的输入是一个语句,输出为BERT序列标注模型920输出的序列标注结果,输出的序列标注结果中包括输入语句中每个字是否为错别字的标注。

利用基于转换器的双向语言模型910和BERT序列标注模型920对输入的语句进行错别字识别的过程包括如下步骤S901至步骤S903:

步骤S901,将输入的语句输入基于转换器的双向语言模型910,针对该语句中的每个字,得到两类特征向量,一类是在语言模型(Language Model,LM)进行预测的过程中得到的中间表示向量,称为隐式特征向量,另一个是基于LM的预测结果确定的特征向量,称为显式特征向量;

这里,输入的语句可以按照如下规则拼接成一个字符序列后,输入双向语言模型:

[CLS]Char1 Char2...CharL[SEP];

其中,[CLS]和[SEP]是预定义的标记符号,Char1、Char2及CharL分别为输入的语句中依次出现的每个字,L为该语句的总字数。

由于单向神经语言模型只能利用单边的上下文,因而本申请实施例中提出一种双向神经语言模型。参见图9B,图9B为本申请实施例提供的一种双向神经语言模型的组成架构示意图,该模型由两个单向LM模型构成,包括从前往后进行预测的LM模型911和从后往前进行预测的LM模型912。在对输入的语句中当前位置的字进行预测时,LM模型911可以确定该当前字的前一个字在从前往后进行预测的过程中的表征向量,LM模型912可以确定该当前字的后一个字在从后往前进行预测的过程中的表征向量,对LM模型911确定的该当前字的前一个字的表征向量和LM模型912确定的该当前字的后一个字的表征向量进行拼接,可以得到该当前字的隐式特征向量,基于该隐式特征向量,可以对当前位置的字进行预测。例如,假设输入的语句为“让市民获得辛福感”,要预测“辛”这个位置的字,就是用前一个字“感”的表征向量和后一个字“福”的表征向量拼接得到。

本申请实施例提供的双向神经语言模型可以基于预设的无标注语料库训练得到。在对双向神经语言模型进行训练时,不是分别对从前往后的单向模型和从后往前的单向模型进行训练,而是对两个模型一起训练的。这样,双向神经语言模型在训练过程中可以同时利用上完整的两个方向的上下文,并且只需要对输入的语句进行一遍模型预测,就可以得到语句中每个字的隐式特征向量。

输入语句中每个字的显式特征向量可以包括双向语言模型在当前位置预测的top1字的概率、当前字的概率、以及top1字的概率与当前字的概率的差值离散化后对应的特征向量。这里,top1字的概率为双向语言模型预测的当前位置概率最大的字的概率,当前字的概率为当前位置为双向语言模型预测的当前字的概率。top1字的概率与当前字的概率的差值离散化后对应的特征向量,可以通过如下方式获取:确定top1字的概率与当前字的概率的差值,然后将该差值平均离散化到预设的多个桶(例如20个桶)中,每个桶对应一个特征向量,该差值离散化后落入的桶对应的特征向量可以作为当前位置处top1字的概率与当前字的概率的差值离散化后对应的特征向量。

输入语句中每个字的显式特征向量还可以包括双向语言模型在当前位置预测的PPL降比对应的特征向量。这里,针对输入语句中的每个字,可以用该字对应的错别字候选集中的每一候选错别字替换后,计算每次替换前后句子的PPL降比。对于每一PPL降比,可以将该PPL降比平均离散化到预设的多个桶(例如20个桶)中,每个桶对应一个特征向量,该PPL降比离散化后落入的桶对应的特征向量可以作为当前位置预测的PPL降比对应的特征向量。在实施时,可以采用如下公式1-1计算句子的PPL:

其中,s代表待计算的句子,n是句子的长度,w1w2…wn分别表示句子s中每一位置处的字,P(w1w2…wn)表示句子s中的字为w1w2…wn时的概率,p(wi|w1w2…wi-1)表示在第1至i-1位置处的字分别为w1w2…wi-1时,位置i处为wi时的概率。PPL(s)越小,句子s出现错别字的概率就越大。

步骤S902,针对该语句中的每个字,将LM得到的两类向量和该字对应的原始BERT字向量加和到一起,得到加和后的向量;

这里,每个字对应的原始BERT字向量可以是针对每个字采用任意合适的向量化编码方式进行编码得到的,也可以是通过查询特定的字向量表得到的。

步骤S903,将每个字对应的加和后的向量输入BERT序列标注模型920,得到包括输入的语句中每个字是否为错别字的标注的序列标注结果。

上述基于转换器的双向语言模型可以预先通过大量的无标注语料库训练得到。BERT序列标注模型920可以基于预先标注的训练样本集,并利用已经训练好的基于转换器的双向语言模型的特征进行训练。训练BERT序列标注模型时可以采用输入语句中各位置处的交叉熵之和作为损失值,例如,可以采用如下公式1-2计算损失值Loss:

其中,n为输入语句的长度,Pk为输入语句中位置k处是否为错别字的概率分布。

在一些实施例中,双向语言模型可以替换成BERT模型,BERT序列标注模型也可以替换成其他神经网络模型,例如卷积神经网络(Convolutional Neural Networks,CNN),循环神经网络(Recurrent Neural Network,RNN)等。

下面继续说明本申请实施例提供的错别字词的识别装置255的实施为软件模块的示例性结构,在一些实施例中,如图2A所示,存储在存储器250的错别字词的识别装置255中的软件模块可以包括:

第一获取模块2551,用于获取待识别的语句,以及所述语句中待识别字词的编码特征;

第一提取模块2552,用于利用已训练的语言模型,对所述语句中的待识别字词进行特征提取,得到所述待识别字词在所述语句中的上下文特征;

第一识别模块2553,用于利用已训练的深度神经网络模型,对所述语句中待识别字词的编码特征和上下文特征进行识别,得到表征所述待识别字词是否错误的识别结果。

在一些实施例中,所述语言模型包括双向语言模型,所述上下文特征包括隐式特征,所述第一提取模块还用于:利用已训练的所述双向语言模型,确定在正向预测的情况下表征所述待识别字词的前N个字的第一向量,以及在逆向预测的情况下表征所述待识别字词的后M个字的第二向量,其中,N和M均为大于或等于0,且小于所述语句的长度的整数;基于所述第一向量和所述第二向量,得到所述待识别字词在所述语句中的隐式特征。

在一些实施例中,所述上下文特征包括显式特征,所述第一提取模块还用于:利用已训练的语言模型,对所述语句中的待识别字词进行预测,得到表征所述待识别字词是否错误的概率参数;基于所述概率参数,确定所述待识别字词在所述语句中的显式特征。

在一些实施例中,所述概率参数包括当前字词概率和最大候选字词概率,所述第一提取模块还用于:对所述当前字词概率与所述最大候选字词概率之间的差值进行离散化,得到离散化差值;从预设的第一取值区间列表中确定所述离散化差值所属的第一目标取值区间;基于所述第一目标取值区间,确定所述待识别字词在所述语句中的显式特征。

在一些实施例中,所述概率参数包括所述待识别字词的至少一个困惑度降比,所述第一提取模块还用于:利用已训练的语言模型,确定所述待识别字词所在位置处为当前字词的情况下所述语句的当前困惑度,以及将所述位置处分别替换为所述待识别字词的错别字候选集中的各候选错别字词的情况下所述语句的替换后困惑度;基于所述待识别字词的当前困惑度和至少一个替换后困惑度,确定所述待识别字词的至少一个困惑度降比。

在一些实施例中,所述第一提取模块还用于:对所述待识别字词的至少一个困惑度降比进行离散化,得到离散化后的困惑度降比;从预设的第二取值区间列表中确定所述离散化后的困惑度降比所属的第二目标取值区间;基于所述第二目标取值区间,确定所述待识别字词在所述语句中的显式特征。

在一些实施例中,所述第一识别模块还用于:将待识别字词的编码特征和上下文特征进行合并,得到所述待识别字词的融合向量;利用已训练的深度神经网络模型,对所述语句中待识别字词的融合向量进行识别,得到表征所述待识别字词是否错误的识别结果。

在一些实施例中,所述装置还包括:第二获取模块,用于获取所述标注样本集中的每一样本语句以及每一所述样本语句中待识别字词的编码特征;所述标注样本集中每一样本语句具有用于标注所述样本语句中的待识别字词是否为错别字的标签序列;第二识别模块,用于针对每一所述样本语句,利用已训练的所述语言模型,对所述样本语句中的待识别字词进行特征提取,得到所述样本语句中的待识别字词在所述样本语句中的上下文特征,并利用所述深度神经网络模型,对所述样本语句中的待识别字词的编码特征和上下文特征进行识别,得到表征所述样本语句中待识别字词是否错误的识别结果;第一确定模块,用于基于每一样本语句对应的识别结果和每一样本语句的标签序列,利用损失函数确定损失值;第一更新模块,用于在根据所述损失值确定所述损失函数未收敛的情况下,基于参数优化算法对所述深度神经网络模型的参数进行更新。

下面继续说明本申请实施例提供的模型训练装置555的实施为软件模块的示例性结构,在一些实施例中,如图2B所示,存储在存储器350的错别字词的识别装置355中的软件模块可以包括:

第三获取模块3551,用于获取标注样本集中的每一样本语句以及每一所述样本语句中的待识别字词的编码特征;所述标注样本集中每一样本语句具有用于标注所述样本语句中的待识别字词是否为错别字的标签序列;

第三识别模块3552,用于针对每一所述样本语句,利用已训练的语言模型,对所述样本语句中的待识别字词进行特征提取,得到所述样本语句中的待识别字词在所述样本语句中的上下文特征,并利用所述深度神经网络模型,对所述样本语句中的待识别字词的编码特征和上下文特征进行识别,得到表征所述样本语句中待识别字词是否错误的识别结果;

第二确定模块3553,用于基于每一样本语句对应的识别结果和每一样本语句的标签序列,利用损失函数确定损失值;

第二更新模块3554,用于在根据所述损失值确定所述损失函数未收敛的情况下,基于参数优化算法对所述深度神经网络模型的参数进行更新。

本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的错别字词的识别方法或模型训练方法。

本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的错别字词的识别方法或模型训练方法,例如,如图3示出的方法。

在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。

在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。

作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。

作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。

综上所述,通过本申请实施例能够在进行错别字词的识别时,既可以利用语言模型泛化性强的特点,还可以利用深度神经网络模型识别准确率高的特性,从而可以更好地识别出语句中的错别字词。并且由于在深度神经网络模型的基础上,深度融合语言模型的特征,进行端到端的错别字词的识别,不需要人工设定和维护大量的模型融合规则,从而可以极大地减少人工成本。

以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

29页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:医学事件的编码方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!