掌桥专利:专业的专利平台
掌桥专利
首页

文本纠错模型建立方法、装置、介质及电子设备

文献发布时间:2023-06-19 10:16:30


文本纠错模型建立方法、装置、介质及电子设备

技术领域

本公开涉及自然语言处理技术领域,特别涉及一种文本纠错模型建立方法、装置、介质及电子设备。

背景技术

在一些文本处理的任务场景中,需要对人工撰写或者语音录入的文本进行纠错(主要表现为输入法拼写错误、专业名词使用错误等),并将纠错后的文本重新输出。此类任务的典型实现方式,是通过监督学习方法对输入文本进行序列标注,发现错误的字符并将其替换。这类方法虽然能够获得不错的效果,但是必须提供质量较高的标注数据,而并非所有项目都能具备这样的条件。

比如,目前存在这样的场景,即能够提供相应领域的大量语料,并且这些语料不包含错误,但是并没有提供进行了纠错标注的语料数据,因此无法直接通过上述监督学习方式进行建模,导致难以训练文本纠错模型。因此,对于缺乏有错误标注的语料数据的场景,目前无法建立一个能够有效完成文本纠错任务的模型。

发明内容

在自然语言处理技术领域,为了解决上述技术问题,本公开的目的在于提供一种文本纠错模型建立方法、装置、介质及电子设备。

根据本公开的一方面,提供了一种文本纠错模型建立方法,所述方法包括:

获取文本语料;

利用第一损失函数对ELECTRA模型执行训练步骤,包括:

获取经随机遮盖处理后的所述文本语料中保留的字符对应的第一字符向量,其中,所述文本语料包括多个字符;

将所述保留的字符对应的第一字符向量输入至ELECTRA模型,以便所述ELECTRA模型中的生成器模块输出与所述文本语料对应的多个第二字符向量,并由所述ELECTRA模型中的鉴别器模块输出各第二字符向量是否与所述文本语料中相应字符匹配的第一预测结果;

基于所述文本语料、所述第二字符向量和所述第一预测结果计算第一损失函数;

若所述第一损失函数未达到对应的第一收敛条件,则执行所述获取经随机遮盖处理后的所述文本语料中保留的字符对应的第一字符向量的步骤及之后的步骤;

利用第二损失函数对所述鉴别器模块执行训练步骤,包括:

获取经随机替换处理后的所述文本语料中字符对应的第三字符向量;

将所述第三字符向量输入至所述鉴别器模块,得到由所述鉴别器模块输出的第二预测结果,其中,所述第二预测结果表示各所述第三字符向量是否与所述文本语料中相应字符匹配;

基于所述文本语料和所述第二预测结果计算第二损失函数;

若所述第二损失函数未达到对应的第二收敛条件,则执行所述获取经随机替换处理后的所述文本语料中字符对应的第三字符向量的步骤及之后的步骤;

执行对接步骤,所述对接步骤包括:将所述鉴别器模块与预先训练好的文本填充模块对接,得到文本纠错模型。

根据本公开的另一方面,提供了一种文本纠错模型建立装置,所述装置包括:

获取模块,被配置为获取文本语料;

第一训练步骤执行模块,被配置为利用第一损失函数对ELECTRA模型执行训练步骤,包括:

获取经随机遮盖处理后的所述文本语料中保留的字符对应的第一字符向量,其中,所述文本语料包括多个字符;

将所述保留的字符对应的第一字符向量输入至ELECTRA模型,以便所述ELECTRA模型中的生成器模块输出与所述文本语料对应的多个第二字符向量,并由所述ELECTRA模型中的鉴别器模块输出各第二字符向量是否与所述文本语料中相应字符匹配的第一预测结果;

基于所述文本语料、所述第二字符向量和所述第一预测结果计算第一损失函数;

若所述第一损失函数未达到对应的第一收敛条件,则执行所述获取经随机遮盖处理后的所述文本语料中保留的字符对应的第一字符向量的步骤及之后的步骤;

第二训练步骤执行模块,被配置为利用第二损失函数对所述鉴别器模块执行训练步骤,包括:

获取经随机替换处理后的所述文本语料中字符对应的第三字符向量;

将所述第三字符向量输入至所述鉴别器模块,得到由所述鉴别器模块输出的第二预测结果,其中,所述第二预测结果表示各所述第三字符向量是否与所述文本语料中相应字符匹配;

基于所述文本语料和所述第二预测结果计算第二损失函数;

若所述第二损失函数未达到对应的第二收敛条件,则执行所述获取经随机替换处理后的所述文本语料中字符对应的第三字符向量的步骤及之后的步骤;

对接步骤执行模块,被配置为执行对接步骤,所述对接步骤包括:将所述鉴别器模块与预先训练好的文本填充模块对接,得到文本纠错模型。

根据本公开的另一方面,提供了一种计算机可读程序介质,其存储有计算机程序指令,当所述计算机程序指令被计算机执行时,使计算机执行如前所述的方法。

根据本公开的另一方面,提供了一种电子设备,所述电子设备包括:

处理器;

存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如前所述的方法。

本公开的实施例提供的技术方案可以包括以下有益效果:

对于本公开所提供的文本纠错模型建立方法、装置、介质及电子设备,该方法包括如下步骤:获取文本语料;利用第一损失函数对ELECTRA模型执行训练步骤,包括:获取经随机遮盖处理后的所述文本语料中保留的字符对应的第一字符向量,其中,所述文本语料包括多个字符;将所述保留的字符对应的第一字符向量输入至ELECTRA模型,以便所述ELECTRA模型中的生成器模块输出与所述文本语料对应的多个第二字符向量,并由所述ELECTRA模型中的鉴别器模块输出各第二字符向量是否与所述文本语料中相应字符匹配的第一预测结果;基于所述文本语料、所述第二字符向量和所述第一预测结果计算第一损失函数;若所述第一损失函数未达到对应的第一收敛条件,则执行所述获取经随机遮盖处理后的所述文本语料中保留的字符对应的第一字符向量的步骤及之后的步骤;利用第二损失函数对所述鉴别器模块执行训练步骤,包括:获取经随机替换处理后的所述文本语料中字符对应的第三字符向量;将所述第三字符向量输入至所述鉴别器模块,得到由所述鉴别器模块输出的第二预测结果,其中,所述第二预测结果表示各所述第三字符向量是否与所述文本语料中相应字符匹配;基于所述文本语料和所述第二预测结果计算第二损失函数;若所述第二损失函数未达到对应的第二收敛条件,则执行所述获取经随机替换处理后的所述文本语料中字符对应的第三字符向量的步骤及之后的步骤;执行对接步骤,所述对接步骤包括:将所述鉴别器模块与预先训练好的文本填充模块对接,得到文本纠错模型。

此方法下,基于ELECTRA模型进行文本纠错模型的训练,通过利用两组训练步骤对模型进行训练,可以充分利用正确的语料数据来训练文本纠错模型,在不利用标注了错误的语料数据也能够建立一个有效完成文本纠错任务的模型,降低了数据标注成本,也可以使得训练后的文本纠错模型能够获得较佳的训练效果,提高了文本纠错模型的纠错效果。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种文本纠错模型建立方法的系统架构示意图;

图2是根据一示例性实施例示出的一种文本纠错模型建立方法的流程图;

图3是根据图2实施例示出的一实施例的步骤220的细节的流程图;

图4是根据一示例性实施例示出的一种文本纠错模型建立装置的框图;

图5是根据一示例性实施例示出的一种实现上述文本纠错模型建立方法的电子设备示例框图;

图6是根据一示例性实施例示出的一种实现上述文本纠错模型建立方法的程序产品。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。

本公开首先提供了一种文本纠错模型建立方法。文本纠错是指确定给定的文本中的错误文本内容并将错误文本内容修改为正确的文本内容的过程。此处给定的文本可以是任意长度的,比如可以是一个短语、一句话,也可以是一个段落甚至一篇文章,同时此处给定的文本也可以是利用各种语言书写的,这些语言包括但不限于中文、英文、法文等。本公开提供的文本纠错模型建立方法可以建立一个能自动进行文本纠错的模型,也就是训练得到一个文本纠错模型,利用建立得到的该模型可以自动完成文本纠错任务。

本公开的实施终端可以是任何具有运算、处理以及通信功能的设备,该设备可以与外部设备相连,用于接收或者发送数据,具体可以是便携移动设备,例如智能手机、平板电脑、笔记本电脑、PDA(Personal Digital Assistant)等,也可以是固定式设备,例如,计算机设备、现场终端、台式电脑、服务器、工作站等,还可以是多个设备的集合,比如云计算的物理基础设施或者服务器集群。

可选地,本公开的实施终端可以为服务器或者云计算的物理基础设施。

图1是根据一示例性实施例示出的一种文本纠错模型建立方法的系统架构示意图。如图1所示,该系统架构包括个人计算机110和服务器120,个人计算机110和服务器120之间通过通信链路相连,可以用于发送或接收数据。服务器120为本实施例中的实施终端,个人计算机110上部署有用于建立文本纠错模型的文本语料,而服务器120设有给定的ELECTRA模型和预先训练好的文本填充模块。当本公开提供的一种文本纠错模型建立方法应用于图1所示的系统架构中时,一个过程可以是这样的:首先,服务器120获取由个人计算机110上传的文本语料;接着,服务器120利用获得的文本语料给定的ELECTRA模型进行第一训练步骤以及第二训练步骤的训练,其中,第一训练步骤对ELECTRA模型中的生成器和鉴别器分别进行训练,而第二训练步骤对ELECTRA模型中的鉴别器进行训练;最后,当训练结束,将训练好的鉴别器与预先训练好的文本填充模块对接,得到文本纠错模型。

值得一提的是,图1仅为本公开的一个实施例。虽然在本实施例中的实施终端为服务器,但在其他实施例中,实施终端可以为如前所述的各种终端或设备;虽然在本实施例中,文本语料位于实施终端之外的个人计算机上,即文本语料是从实施终端之外的个人计算机获得的,但在其他实施例或者具体应用中,文本语料可以位于实施终端本地,也就是说文本语料可以从本地直接获得。本公开对此不作任何限定,本公开的保护范围也不应因此而受到任何限制。

图2是根据一示例性实施例示出的一种文本纠错模型建立方法的流程图。本实施例提供的文本纠错模型建立方法可以由服务器执行,如图2所示,包括以下步骤:

步骤210,获取文本语料。

此处的文本语料可以为通用文本语料,即可以是与文本纠错模型所应用的场景不同的文本语料。具体来说,此处的文本语料可以为中文互联网上各种网页上的文本语料,而文本纠错模型所应用的场景下的语料比如可以是聊天语料,也可以是医学文献的语料,也可以是文学书籍上的语料。

文本语料包括多个字符(token)。

利用第一损失函数对ELECTRA模型执行训练步骤,包括如下的步骤220至步骤250,具体为:

步骤220,获取经随机遮盖处理后的所述文本语料中保留的字符对应的第一字符向量。

其中,所述文本语料包括多个字符。

遮盖(MASK)处理即用单一的字符或字符串将训练用文本语料中的字符进行屏蔽的过程,随机遮盖处理是指在训练用文本语料中随机选择字符进行屏蔽。比如训练用文本语料可以为“我是地球人”,经遮盖处理后,可以变成“我[MASK]地球人”,在这个例子中,“是”这个字符由[MASK]遮盖。

图3是根据图2实施例示出的一实施例的步骤220的细节的流程图。如图3所示,步骤220具体包括以下步骤:

步骤221,将文本语料转换为多个第一字符向量。

其中,所述文本语料包括多个字符,每一字符与一个第一字符向量相对应。

在一个实施例中,所述将文本语料转换为多个第一字符向量,包括:

将文本语料分为多个字符;

按照预设词表将各所述字符转换为对应的第一字符向量。

比如,预设词表可以记录各字符的位置信息,利用该位置信息和独热编码(one-hot编码)可以生成一个one-hot编码向量,然后将该one-hot编码向量乘以一个权重矩阵可以得到对应的第一字符向量。

步骤222,随机对所述文本语料中第一预定比例的字符所对应的第一字符向量进行遮盖处理,得到所述文本语料中保留的字符对应的第一字符向量。

第一预定比例可以是人为设置的任意比例数值,比如可以是15%,此时,若文本语料包括100个字符,那么将有15个字符对应的第一字符向量被进行遮盖处理。

在一个实施例中,所述获取经随机遮盖处理后的所述文本语料中保留的字符对应的第一字符向量,包括:

随机对所述文本语料中第二预定比例的字符进行遮盖处理,其中,所述文本语料包括多个字符;

将所述文本语料中保留的各字符转换为对应的第一字符向量。

与第一预定比例类似,第二预定比例也可以是人为设置的任意比例数值。

通过上述实施例可以确定,将字符转换为第一字符向量与遮盖处理两个操作的执行顺序可以互相替换,即可以对字符本身进行遮盖处理,也可以对第一字符向量进行遮盖处理。

步骤230,将所述保留的字符对应的第一字符向量输入至ELECTRA模型,以便所述ELECTRA模型中的生成器模块输出与所述文本语料对应的多个第二字符向量,并由所述ELECTRA模型中的鉴别器模块输出各第二字符向量是否与所述文本语料中相应字符匹配的第一预测结果。

ELECTRA(Efficiently Learning an Encoder that Classifies TokenReplacements Accurately,高效地学习对字符替换进行准确分类的编码器)包括生成器和鉴别器,也就是本文中的鉴别器模块和生成器模块,生成器能够对被遮盖的文本语料进行还原,而鉴别器则可以识别出被还原的文本语料中的错误文本语料。

生成器和鉴别器包括多层transformer,transformer包括编码器和解码器,单层Transformer的结构可概括如下:

x2=Attention(x1);x2=Dropout1(Dense1(x2));

x2=LayerNormalization1(x1+x2);x3=Dropout2(Dense3(Dense2(x2)));

x3=LayerNormalization2(x2+x3)。

其中,Attention表示注意力机制,Dense表示全连接层,Dropout表示对输入的随机丢弃处理,LayerNormalization表示层归一化处理。x1、x2、x3代表各结构的输入或输出的数据。

多层Transformer按照如下的方式顺序连接处理:

x1=Transformer_1(x0);

x2=Transformer_2(x1);

xn=Transformer_n(xn-1)。

其中xn即为网络主体的最终输出。

第一预测结果是鉴别器模块基于softmax函数二分类输出的结果,比如第一预测结果可以为由元素0和1组成的向量,其中,0表示匹配,1表示不匹配。

步骤240,基于所述文本语料、所述第二字符向量和所述第一预测结果计算第一损失函数。

具体来说,可以利用如下公式计算第一损失函数:

L

其中,L

步骤250,若所述第一损失函数未达到对应的第一收敛条件,则执行所述获取经随机遮盖处理后的所述文本语料中保留的字符对应的第一字符向量的步骤及之后的步骤。

第一收敛条件是步骤220-步骤250之间对ELECTRA模型的训练步骤结束的条件,比如可以定义为第一损失函数的值小于预定阈值。

在第一损失函数未达到对应的第一收敛条件的情况下,将重新执行步骤220-步骤250。

通过上述的训练步骤,生成器模块的预测错误具有较高的混淆性,从而提高鉴别器模块的学习难度,进而可以快速提高模型的性能。

接下来,将利用第二损失函数对所述鉴别器模块执行训练步骤,包括如下的步骤260至步骤290,具体为:

步骤260,获取经随机替换处理后的所述文本语料中字符对应的第三字符向量。

与随机遮盖处理的具体实现方式类似,随机替换处理的具体实现方式也可以通过以下两个实施例来进行。

在一个实施例中,所述文本语料中的字符为第一字符,所述获取经随机替换处理后的所述文本语料中字符对应的第三字符向量,包括:

将文本语料中的第一字符转换为对应的第三字符向量;

随机确定要进行替换处理的第一字符,作为目标第一字符;

确定与所述目标第一字符对应的第二字符,其中,所述第二字符用于对所述目标第一字符对应的第三字符向量进行随机替换处理;

将所述第二字符转换为对应的第三字符向量;

将所述文本语料中的第一字符对应的第三字符向量中所述目标第一字符对应的第三字符向量对应替换为所述第二字符对应的第三字符向量。

在一个实施例中,所述文本语料中的字符为第一字符,所述获取经随机替换处理后的所述文本语料中字符对应的第三字符向量,包括:

随机确定要进行替换处理的第一字符,作为目标第一字符;

确定与所述目标第一字符对应的第二字符,其中,所述第二字符用于对所述目标第一字符进行随机替换处理;

将所述文本语料中的各目标第一字符替换为对应的第二字符;

将替换后的所述文本语料中的各字符转换为对应的第三字符向量。

通过上述两个实施例可以确定,将字符转换为第三字符向量与替换两个操作的执行顺序也是可以互相替换的,即可以对字符本身进行随机替换处理,也可以对第三字符向量进行随机替换处理。

在一个实施例中,所述确定与所述目标第一字符对应的第二字符,包括:

针对每一所述目标第一字符,确定与该目标第一字符的拼音相同的一个字符,作为与该目标第一字符对应的第二字符。

比如,“人”和“仁”两个字符的拼音相同,因此可以互相替换。

在本实施例中,用过利用拼音相同的字符进行替换处理,增加了文本语料中字符的混淆性,因此,可以提高训练效果。

在一个实施例中,所述确定与所述目标第一字符对应的第二字符,包括:

针对每一所述目标第一字符,确定与该目标第一字符的拼音的相似程度达到预定指标的一个字符,作为与该目标第一字符对应的第二字符。

比如,“陈”和“程”、“李”和“林”的拼音都是足够相似的,可以互相替换。

在本实施例中,通过利用拼音相似的字符进行替换处理,进一步增加了文本语料中字符的混淆性,因此,可以进一步提高训练效果。

在一个实施例中,所述确定与所述目标第一字符对应的第二字符,包括:

针对每一所述目标第一字符,从预先建立的词典中随机挑选出一个字符,作为与该目标第一字符对应的第二字符。

在本实施例中,通过利用在词典中随机挑选的方式确定第二字符,增加了文本语料中错误的类型,提高了文本语料中字符的混淆性,因此,可以进一步提高训练效果。

在一个实施例中,所述随机确定要进行替换处理的第一字符,作为目标第一字符,包括:

获取文本语料样本集,所述文本语料样本集包括多个文本语料样本、各文本语料样本中错误字符以及各错误字符对应的正确字符;

从所述正确字符中获取数量从大到小排在前预定比例的正确字符,作为目标正确字符;

将所述文本语料中的所述目标正确字符作为目标第一字符。

在本实施例中,通过对文本语料样本集中的错误字符对应的正确字符进行统计,将数量较多的正确字符作为目标正确字符,并根据目标正确字符在文本语料中确定目标第一字符,使得模型可以及时学习到容易出错的字符,从而快速提高模型的性能。

上述实施例提供了同音字、近音字、词典三种确定第二字符的方式以及一种确定目标第一字符的方式,然而,在实际情况下,对于同一文本语料中的字符,上述方式可以任意组合来进行随机替换处理。

步骤270,将所述第三字符向量输入至所述鉴别器模块,得到由所述鉴别器模块输出的第二预测结果。

其中,所述第二预测结果表示各所述第三字符向量是否与所述文本语料中相应字符匹配。

步骤280,基于所述文本语料和所述第二预测结果计算第二损失函数。

具体来说,可以利用如下公式计算第二损失函数:

其中,L

步骤290,若所述第二损失函数未达到对应的第二收敛条件,则执行所述获取经随机替换处理后的所述文本语料中字符对应的第三字符向量的步骤及之后的步骤。

第二收敛条件是步骤260-步骤290之间对鉴别器模块的训练步骤结束的条件,比如可以定义为第二损失函数的值小于预定阈值,第二收敛条件可以与第一收敛条件相同或类似,也可以完全不同。

在第二损失函数未达到对应的第二收敛条件的情况下,将重新执行步骤260-步骤290。

在一个实施例中,每当对利用第一损失函数执行的训练步骤迭代执行第一预定数目次后,对利用第二损失函数执行的训练步骤迭代执行第二预定数目次,并在对利用第二损失函数执行的训练步骤迭代执行完毕后,再次迭代执行利用第一损失函数执行的训练步骤。

换而言之,在本实施例中利用第一损失函数执行的训练步骤和利用第二损失函数执行的训练步骤依次迭代执行。

在一个实施例中,利用第一损失函数执行的训练步骤和利用第二损失函数执行的训练步骤交替执行。

在执行一轮利用第一损失函数执行的训练步骤之后,再执行一轮利用第二损失函数执行的训练步骤,并且在执行一轮利用第二损失函数执行的训练步骤之后,继续执行一轮利用第一损失函数执行的训练步骤,以此类推。在本实施例中,由于两组训练步骤交替执行,因此,可以使生成器模块和鉴别器模块交替递进式地进行训练,使得生成器模块的输出能够很好地与鉴别器模块相匹配,从而得到良好的训练效果。

通过上述的利用第二损失函数执行的训练步骤,利用随机替换处理操作额外构造文本错误对鉴别器进行进一步的训练,进一步提高了鉴别器的性能。

在一个实施例中,基于AdamW优化算法执行利用第一损失函数执行的训练步骤和利用第二损失函数执行的训练步骤以对ELECTRA模型进行训练。

通过利用AdamW优化算法进行训练,可以使得模型的训练能够快速收敛,从而保证训练效率。

接下来,将执行对接步骤,所述对接步骤包括:

步骤2100,将所述鉴别器模块与预先训练好的文本填充模块对接,得到文本纠错模型。

在将鉴别器模块与预先训练好的文本填充模块对接完成后,鉴别器模块的输出结果会作为输入信息输入至预先训练好的文本填充模块之中。

预先训练好的文本填充模块可以是基于各种能够将经随机遮盖处理后的文本语料恢复或还原的模型。

在一个实施例中,所述预先训练好的文本填充模块基于Bert模型建立而成。

BERT(Bidirectional Encoder Representation from Transformers,基于Transformer的双向编码器表示)模型能够执行文本分类、分词、生成词等各项任务。它也基于Transformer模块建立而成。

BERT模型的最后输出层是基于softmax函数进行多分类输出的,其分类数对应词表中词的数量。

文本纠错模型的鉴别器模块之前还可以包括用于向量转换的模块,能够将文本转换为词向量表示。

具体来说,在应用文本纠错模型时的数据处理过程是这样的:一段文本语料被输入至文本纠错模型后,首先将该段文本语料中字符转换为词向量表示,比如[t1,t2,t3,t4,t5],然后将该词向量表示输入至鉴别器模块,得到预测结果向量,比如[0,0,0,0,1],其中1表示对应的字符为错误字符,接下来,根据该预测结果向量中错误字符的位置对词向量表示中相应元素进行遮盖处理,并将经遮盖处理后的词向量表示输入至预先训练好的文本填充模块,比如BERT模型,最终得到由该预先训练好的文本填充模块输出的纠错后的文本语料。

在一个实施例中,所述文本语料为属于多个场景的通用文本语料,所述预先训练好的文本填充模块利用所述文本纠错模型所应用的场景的文本语料训练而成。

在本实施例中,通过利用属于多个场景的通用文本语料来训练ELECTRA模型,使得ELECTRA模型可以利用更广泛的语料数据进行训练,训练得到的ELECTRA模型中的鉴别器可以有效地识别出文本语料中错误字符的位置,在此基础上,由于预先训练好的文本填充模块针对性地利用所述文本纠错模型所应用的场景的文本语料进行训练,从而保证了纠错的准确性。

在一个实施例中,所述鉴别器模块经双向长短期记忆网络与所述预先训练好的文本填充模块对接。

在本实施例中,鉴别器模块和预先训练好的文本填充模块之间还包括双向长短期记忆网络(Bi-LSTM,Bi-directional Long Short-Term Memory),通过利用双向长短期记忆网络提取文本语料的双向时序特征信息,可以提高文本纠错模型的准确性等各项性能指标。

在一个实施例中,在执行对接步骤之后,所述方法还包括:

每隔预定时间段获取所述文本纠错模型在所述预定时间段内输出的文本语料;

将所述文本语料发送至用户终端,由所述用户终端的用户对所述文本语料进行校验,得到所述用户终端返回的校验文本语料;

利用所述文本语料和所述校验文本语料重新执行所述第一训练步骤和所述第一训练步骤以对所述文本纠错模型进行进一步训练。

在本实施例中,通过定期获取文本纠错模型输出的文本语料和对应的校验文本语料再次对文本纠错模型进行训练,使得文本纠错模型的性能能够持续提高。

综上所述,根据图2实施例提供的文本纠错模型建立方法,基于ELECTRA模型进行文本纠错模型的训练,通过利用两组训练步骤对模型进行训练,可以充分利用正确的语料数据来训练文本纠错模型,不利用进行了错误标注的语料数据也能够建立一个有效完成文本纠错任务的模型,降低了数据标注成本,也可以使得训练后的文本纠错模型能够获得较佳的训练效果,提高了文本纠错模型的纠错效果。

本公开还提供了一种文本纠错模型建立装置,以下是本公开的装置实施例。

图4是根据一示例性实施例示出的一种文本纠错模型建立装置的框图。如图4所示,装置400包括:

获取模块410,被配置为获取文本语料;

第一训练步骤执行模块420,被配置为利用第一损失函数对ELECTRA模型执行训练步骤,包括:

获取经随机遮盖处理后的所述文本语料中保留的字符对应的第一字符向量,其中,所述文本语料包括多个字符;

将所述保留的字符对应的第一字符向量输入至ELECTRA模型,以便所述ELECTRA模型中的生成器模块输出与所述文本语料对应的多个第二字符向量,并由所述ELECTRA模型中的鉴别器模块输出各第二字符向量是否与所述文本语料中相应字符匹配的第一预测结果;

基于所述文本语料、所述第二字符向量和所述第一预测结果计算第一损失函数;

若所述第一损失函数未达到对应的第一收敛条件,则执行所述获取经随机遮盖处理后的所述文本语料中保留的字符对应的第一字符向量的步骤及之后的步骤;

第二训练步骤执行模块430,被配置为利用第二损失函数对所述鉴别器模块执行训练步骤,包括:

获取经随机替换处理后的所述文本语料中字符对应的第三字符向量;

将所述第三字符向量输入至所述鉴别器模块,得到由所述鉴别器模块输出的第二预测结果,其中,所述第二预测结果表示各所述第三字符向量是否与所述文本语料中相应字符匹配;

基于所述文本语料和所述第二预测结果计算第二损失函数;

若所述第二损失函数未达到对应的第二收敛条件,则执行所述获取经随机替换处理后的所述文本语料中字符对应的第三字符向量的步骤及之后的步骤;

对接步骤执行模块440,被配置为执行对接步骤,所述对接步骤包括:将所述鉴别器模块与预先训练好的文本填充模块对接,得到文本纠错模型。

根据本公开的第三方面,还提供了一种能够实现上述方法的电子设备。

所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

下面参照图5来描述根据本发明的这种实施方式的电子设备500。图5显示的电子设备500仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图5所示,电子设备500以通用计算设备的形式表现。电子设备500的组件可以包括但不限于:上述至少一个处理单元510、上述至少一个存储单元520、连接不同系统组件(包括存储单元520和处理单元510)的总线530。

其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元510执行,使得所述处理单元510执行本说明书上述“实施例方法”部分中描述的根据本发明各种示例性实施方式的步骤。

存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)521和/或高速缓存存储单元522,还可以进一步包括只读存储单元(ROM)523。

存储单元520还可以包括具有一组(至少一个)程序模块525的程序/实用工具524,这样的程序模块525包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

电子设备500也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备500交互的设备通信,和/或与使得该电子设备500能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口550进行,比如与显示单元540通信。并且,电子设备500还可以通过网络适配器560与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器560通过总线530与电子设备500的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。

根据本公开的第四方面,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。

参考图6所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品600,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

相关技术
  • 文本纠错模型建立方法、装置、介质及电子设备
  • 文本纠错方法、文本纠错装置、存储介质和电子设备
技术分类

06120112480552