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

一种文本错误检测方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 13:46:35


一种文本错误检测方法、装置、电子设备及存储介质

技术领域

本申请涉及文本检测技术领域,特别涉及一种文本错误检测方法、装置、一种电子设备及一种存储介质。

背景技术

在互动式语法反馈教学中,对用户输入的文本进行错误检测能够提高教学质量。文本中的语义不明错误为导致文本存在歧义的错误,在相关技术中,当用户的输入为语义不明的句子时,则直接判定为检测到语法错误并进行语法纠错,这种纠错方式往往会造成将错误的地方改成仍然是错误的表达,上述方式无法了解用户的真实表达意图并提供有意义的反馈。

因此,如何检测文本中的语义不明错误,提高文本检测的精准度是本领域技术人员目前需要解决的技术问题。

发明内容

本申请的目的是提供一种文本错误检测方法、装置、一种电子设备及一种存储介质,能够检测文本中的语义不明错误,提高文本检测的精准度。

为解决上述技术问题,本申请提供一种文本错误检测方法,该文本错误检测方法包括:

获取标准语句文本,并将所述标准语句文本作为第一样本添加至训练集;

对所述标准语句文本添加噪声得到错误语句文本,并将所述错误语句文本作为第二样本添加至所述训练集;

利用所述训练集中的样本对初始模型进行训练得到语义不明检测模型;

通过所述语义不明检测模型对待检测语句文本执行文本错误检测操作。

可选的,对所述标准语句文本添加噪声得到错误语句文本,包括:

基于预设概率P对所述标准语句文本中的单词执行加噪声操作,得到所述错误语句文本;

其中,在执行加噪声操作的过程中,单词被执行加噪声操作的概率为P,单词不被执行加噪声操作的概率为1-P。

可选的,所述加噪声操作包括单词添加操作、单词删除操作、单词替换操作和单词顺序交换操作中任一种操作或任几种操作的组合。

可选的,对所述标准语句文本中的单词执行所述单词替换操作包括:

从单词表中选取第一目标单词,并将所述标准语句文本中的单词替换为所述第一目标单词;其中,所述单词表包括所述标准语句文本中的所有单词。

可选的,在基于预设概率P对所述标准语句文本中的单词执行加噪声操作之前,还包括:

查询所述标准语句文本中的第二目标单词;

根据单词加噪声映射关系表对所述第二目标单词执行对应的加噪声操作;

相应的,基于预设概率P对所述标准语句文本中的单词执行加噪声操作包括:

基于所述预设概率P对所述标准语句文本中除了所述第二目标单词之外的单词执行加噪声操作。

可选的,在利用所述训练集中的样本对初始模型进行训练得到语义不明检测模型之后,还包括:

利用所述语义不明检测模型对已知分类的语句文本进行文本错误检测操作;

根据检测结果确定所述语义不明检测模型的分类准确度;

若所述分类准确度小于预设值,则调整预设概率P,并利用调整后的预设概率P重新执行加噪声操作,得到新的错误语句文本,以便利用所述标准语句文本和所述新的错误语句文本训练集中的样本对初始模型进行训练得到新的语义不明检测模型。

可选的,对所述标准语句文本添加噪声得到错误语句文本,包括:

将所述标准语句以句子为单位划分为N个语句组;

基于预设概率Pi对第i个语句组中的单词执行加噪声操作,得到所述错误语句文本;其中,0<i≤N,在对第i个语句组中的单词执行加噪声操作的过程中,单词被执行加噪声操作的概率为Pi,单词不被执行加噪声操作的概率为1-Pi。

本申请还提供了一种文本错误检测装置,该文本错误检测装置包括:

第一样本获取模块,用于获取标准语句文本,并将所述标准语句文本作为第一样本添加至训练集;

第二样本获取模块,用于对所述标准语句文本添加噪声得到错误语句文本,并将所述错误语句文本作为第二样本添加至所述训练集;

模型训练模块,用于利用所述训练集中的样本对初始模型进行训练得到语义不明检测模型;

错误检测模块,用于通过所述语义不明检测模型对待检测语句文本执行文本错误检测操作。

本申请还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述文本错误检测方法执行的步骤。

本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述文本错误检测方法执行的步骤。

本申请提供了一种文本错误检测方法,包括获取标准语句文本,并将所述标准语句文本作为第一样本添加至训练集;对所述标准语句文本添加噪声得到错误语句文本,并将所述错误语句文本作为第二样本添加至所述训练集;利用所述训练集中的样本对初始模型进行训练得到语义不明检测模型;通过所述语义不明检测模型对待检测语句文本执行文本错误检测操作。

本申请在得到标准语句文本之后,通过对标准语句文本添加噪声得到错误语句文本,以便模拟用户在真实输入过程中存在的文本错误。本实施例将标准语句文本和错误语句文本分别作为正例和负例训练初始模型得到语义不明检测模型,语义不明检测模型具有检测文本中语义不明错误的能力,因此通过语义不明检测模型能够实现语义不明的检测。可见,本申请能够检测文本中的语义不明错误,提高文本检测的精准度。本申请同时还提供了一种文本错误检测装置、一种电子设备和一种存储介质,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例所提供的一种文本错误检测方法的流程图;

图2为本申请实施例所提供的一种基于神经网络的语义不明检测方法的流程图;

图3为本申请实施例所提供的一种语义不明检测模型的构建流程示意图;

图4为本申请实施例所提供的一种文本错误检测装置的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

下面请参见图1,图1为本申请实施例所提供的一种文本错误检测方法的流程图。

具体步骤可以包括:

S101:获取标准语句文本,并将标准语句文本作为第一样本添加至训练集;

其中,本步骤可以获取多个标准语句文本作为正常语料,正常语料为不存在语法问题或语义不明错误的文本,为了提高模型训练的效果本实施例选择的标准语句文本可以包括多个总单词数的句子。本实施例不限定标准语句文本的语言种类,本实施例可以获取一种或多种语言的标准语句文本。例如本实施例可以获取多个全部为英文的标准语句文本,也可以获取多个英文的标准语句文本和中文的标准语句文本。

在得到标准语句文本的基础上,本步骤还可以将标准语句文本作为第一样本添加至训练集。具体的,本实施例还可以为所有第一样本添加负例标签,以便在后续的机器学习模型训练过程基于样本标签进行训练。

S102:对标准语句文本添加噪声得到错误语句文本,并将错误语句文本作为第二样本添加至训练集;

其中,在S101获取标准语句文本的基础上,本步骤通过对标准语句文本添加噪声模拟用户输入文本时存在的错误,进而得到错误语句文本。具体的,添加噪声的操作可以包括单词添加操作、单词删除操作、单词替换操作和单词顺序交换操作中的任一种操作或任几种操作的组合。单词添加操作指:在标准语句文本中某一单词之前或之后添加单词;单词删除操作指:在标准语句文本中删除某一单词;单词替换操作指:将标准语句文本中的某一单词替换为另一单词;单词顺序交换操作指:将标准语句文本中属于同一句话的两个单词的位置调换。在得到错误语句文本的基础上,本步骤还可以将错误语句文本作为第二样本添加至训练集。具体的,本实施例还可以为所有第二样本添加正例标签,以便在后续的机器学习模型训练过程基于样本标签进行训练。

S103:利用训练集中的样本对初始模型进行训练得到语义不明检测模型;

S104:通过语义不明检测模型对待检测语句文本执行文本错误检测操作。

其中,本步骤利用训练集中的标准语句文本和错误语句文本训练初始模型,得到具有语义不明检测能力的语义不明检测模型。上述初始模型可以为二分类模型,该模型可以基于卷积神经网络、循环神经网络、transformer等神经网络学习标准语句文本和错误语句文本中的文本特征,进而最终输出判断输入句子为“语义不明”类别和“非语义不明”类别的概率。模型训练完成后,对于输入的句子,模型可以得出将其归类为“语义不明”和“非语义不明”的概率,当“语义不明”的概率大于某个阈值,模型将其判断为语义不明。

本实施例在得到标准语句文本之后,通过对标准语句文本添加噪声得到错误语句文本,以便模拟用户在真实输入过程中存在的文本错误。本实施例将标准语句文本和错误语句文本分别作为正例和负例训练初始模型得到语义不明检测模型,语义不明检测模型具有检测文本中语义不明错误的能力,因此通过语义不明检测模型能够实现语义不明的检测。可见,本实施例能够检测文本中的语义不明错误,提高文本检测的精准度。

作为对于图1对应实施例的进一步介绍,S102中对所述标准语句文本添加噪声得到错误语句文本的过程可以为:基于预设概率P对所述标准语句文本中的单词执行加噪声操作,得到所述错误语句文本。在上述执行加噪声操作的过程中,单词被执行加噪声操作的概率为P,单词不被执行加噪声操作的概率为1-P。

进一步的,若加噪声操作可以包括单词添加操作、单词删除操作、单词替换操作和单词顺序交换操作中的任一种操作,则本实施例可以对标准语句文本按照随机以某个比例执行添加单词、删除单词、替换单词、交换单词顺序等操作。

具体的,本实施例在对某一句标准语句文本执行加噪声操作时,先逐个判断每一个单词是否需要执行加噪声操作,若某一单词需要执行加噪声操作则从单词添加操作、单词删除操作、单词替换操作和单词顺序交换操作中随机选择一种加噪声操作来执行。单词添加操作、单词删除操作、单词替换操作和单词顺序交换操作被选择的概率可以预先设置,某一操作被选概率的默认值可以相同。加噪声的方法的主要基本操作可以包括添加单词、删除单词、替换单词、交换单词顺序,在此基础上可以多种变化以增强生成数据的有效性。

作为一种可行的实施方式,本实施例中对所述标准语句文本中的单词执行所述单词替换操作包括:从单词表中选取第一目标单词,并将所述标准语句文本中的需要替换的单词替换为所述第一目标单词;其中,所述单词表包括所述标准语句文本中的所有单词。

作为一种可行的实施方式,在基于预设概率P对所述标准语句文本中的单词执行加噪声操作之前,还可以查询所述标准语句文本中的第二目标单词,根据单词加噪声映射关系表对所述第二目标单词执行对应的加噪声操作。本实施例可以对第二目标单词执行特定的加噪声操作,单词加噪声映射关系表中可以记录第二目标单词与加噪声操作的对应关系。例如,可以对第二目标单词“to”执行单词删除操作,对第二目标单词“do”执行单词替换操作,替换为“doing”。在对第二目标单词执行单词加噪声映射关系表中对应的加噪声操作之后,基于预设概率P对所述标准语句文本中的单词执行加噪声操作的过程可以为:基于所述预设概率P对所述标准语句文本中除了所述第二目标单词之外的单词执行加噪声操作。

上述实施例中的预设概率P的取值可以为大于0小于1的任意数。对于标准语句文本中的每个词,存在P的概率对其进行加噪声操作,也存在(1-P)的概率对其不进行任何操作。加噪声操作可以为单词添加操作、单词删除操作、单词替换操作和单词顺序交换操作这四种操作中的随机一个。例如标准语句“I want to eat an apple.”,其译文为“我想要吃一个苹果。”随机选择0.5的比例的单词进行修改,如将“want”删除,将“apple”随机替换为“is”,在“eat”后添加一个单词“morning”。经过加噪声后,该句话变为“I to eat morningan is”,为一个属于语义不明类别的句子。预设概率P的取值越高,对于每个句子来说,会进行更多次随机操作,相应的生成的错误语句文本就越“乱”;预设概率P越低,生成的语料就越接近于原语料。在实际操作中,如果P取值过低,生成的语料会不符合“非语义不明”,举例来说,如果只对句子中的一个词进行修改,很可能修改过后这个句子的语义还是明确的。另一方面,如果P取值过高,生成的语料虽然符合“语义不明”,但这样的生成数据和实际的用户数据相差较远,训练好的模型无法鉴别出真实的用户输入的语义不明的句子。举例来说,若取P=9.999生成语料,然后将生成的语料作为“语义不明”类别的训练语料,训练出的模型可以识别这类句子为“语义不明”,但实际上用户真实的语义不明的句子和本方法生成的语义不明的句子相差较远,模型遇到用户输入的语义不明的句子不能很好的区分。所以调节p值的目的在于使得生成的语义不明的数据尽可能的模拟用户真实的语义不明问题。

作为一种可行的实施方式,在利用所述训练集中的样本对初始模型进行训练得到语义不明检测模型之后,还可以利用所述语义不明检测模型对已知分类的语句文本进行文本错误检测操作;根据检测结果确定所述语义不明检测模型的分类准确度;若所述分类准确度小于预设值,则调整预设概率P,并利用调整后的预设概率P重新执行加噪声操作,得到新的错误语句文本,以便利用所述标准语句文本和新的错误语句文本训练集中的样本对初始模型进行训练得到新的语义不明检测模型。

当然,预设概率P的选择还可以根据实际需要或经验调整,当然不同变化方法对结果会产生不同的影响,可以根据经验或实验结果进行调整。具体地,可以将上述P1,P2,P3,..Pn作为模型的超参数,再根据实际模型在数据集上的表现选取最优参数。举例来说,将语料随机打乱,分成数量相等的十部分,分别以0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0的概率进行操作。将这些语料合并作为训练数据。进行多组实验,分别修改这十部分中的某个部分的P值,最终取在测试集上效果最好的一组超参数。

作为一种可行的实施方式,对所述标准语句文本添加噪声得到错误语句文本的过程可以包括:将所述标准语句以句子为单位划分为N个语句组;基于预设概率Pi对第i个语句组中的单词执行加噪声操作,得到所述错误语句文本;其中,0<i≤N,在对第i个语句组中的单词执行加噪声操作的过程中,单词被执行加噪声操作的概率为Pi,单词不被执行加噪声操作的概率为1-Pi。例如,可以对标准语句文本中一部分数据以概率P1按照上述方式进行加噪声操作,一部分以概率P2按照上述方式进行加噪声操作,剩余部分以概率P3按照上述方式进行加噪声操作。上述过程能够对多个标准语句文本按照不同的概率添加噪声,得到混乱程度不同的多个错误语句文本,进而真实模拟用户在实际撰写文本时的错误分布情况,提高文本检测的精准度。

进一步的,本实施例还可以存在确定用于检测语义不明的拓扑结构(即原始模型)的操作。检测模型的拓扑结构可以是一个神经网络,可以是卷积神经网络(CNN)、或循环神经网络(RNN)、或注意力机制的神经网络模型(Transformer)等,模型的最后一层为二维,分别对应二分类任务的两个概率值等。以卷积神经网络为例,对于输入的句子,通过卷积操作和池化操作的变化,最终网络的最后一层为二维,分别对应语义不明类别的概率和非语义不明的概率。上述网络的超参数可调节。在得到标准语句文本和错误语句文本之后,将生成的包含两个类别的语料用于模型训练,最终得到收敛后的语义不明检测模型。

下面通过在实际应用中的实施例说明上述实施例描述的流程。请参见图2和图3,图2为本申请实施例所提供的一种基于神经网络的语义不明检测方法的流程图,图3为本申请实施例所提供的一种语义不明检测模型的构建流程示意图。语义不明检测方法可以包括以下步骤:

步骤1、预先构建用于自动检测语句是否语义不明的语义不明检测模型。

具体地,在本步骤中可以先收集一定数量的英语的标准语句文本作为训练集中的负例;再通过在这些标准语句中添加噪声的方法将其变为语义不明的句子,作为训练集中的正例。然后确定模型的拓扑结构,基于训练语料对模型训练,得到最终的检测模型。

语义不明检测模型的构建的过程可以包括:获取标准语句文本,基于上述标准语句文本生成训练模型所需要的正例和负例。其中,负例,即“非语义不明”的类别数据,由标准语句文本构成;正例,即“语义不明”类别,通过对标准语料加噪声的方法生成。加噪声的方法包括但不限于对句子进行随机以某个比例添加单词、删除单词、替换单词、交换单词顺序等。

步骤2,获取用户书写的英文语句;

其中,此处不对本步骤获取用户书写的英文语句的方式进行限定,获取到的英文语句为文本形式的信息。

步骤3,将用户书写的英文语句输入到检测模型中,得到该句属于语义不明类别的概率,若概率大于预设值在判定用户书写的英文语句存在语义不明错误。

上述方法能够对句子的语义等复杂特征建模,进而能够在识别语义不明的问题上取得准确的检测结果。上述方案基于无标签的正确文本语料,在文本语料中添加噪声生成语义不明的数据,进而产生了分类器所需要的正例和负例,数据获取难度小,数据量大。上述方法用于判断英文写作中的句子是否语义不明,尤其是针对解析不出正常的句子结构、完全看不懂的句子。基于预先构建的文本分类器模型(语义不明检测模型),能够识别出句子是否为语义不明,从而能够及时反馈给用户,满足用户正确表达的需求。

请参见图4,图4为本申请实施例所提供的一种文本错误检测装置的结构示意图;

该装置可以包括:

第一样本获取模块100,用于获取标准语句文本,并将所述标准语句文本作为第一样本添加至训练集;

第二样本获取模块200,用于对所述标准语句文本添加噪声得到错误语句文本,并将所述错误语句文本作为第二样本添加至所述训练集;

模型训练模块300,用于利用所述训练集中的样本对初始模型进行训练得到语义不明检测模型;

错误检测模块400,用于通过所述语义不明检测模型对待检测语句文本执行文本错误检测操作。

本实施例在得到标准语句文本之后,通过对标准语句文本添加噪声得到错误语句文本,以便模拟用户在真实输入过程中存在的文本错误。本实施例将标准语句文本和错误语句文本分别作为正例和负例训练初始模型得到语义不明检测模型,语义不明检测模型具有检测文本中语义不明错误的能力,因此通过语义不明检测模型能够实现语义不明的检测。可见,本实施例能够检测文本中的语义不明错误,提高文本检测的精准度。

进一步的,第二样本获取模块200用于基于预设概率P对所述标准语句文本中的单词执行加噪声操作,得到所述错误语句文本;

其中,在执行加噪声操作的过程中,单词被执行加噪声操作的概率为P,单词不被执行加噪声操作的概率为1-P。

进一步的,所述加噪声操作包括单词添加操作、单词删除操作、单词替换操作和单词顺序交换操作中任一种操作或任几种操作的组合。

进一步的,第二样本获取模块200包括:

单词替换单元,用于从单词表中选取第一目标单词,并将所述标准语句文本中的单词替换为所述第一目标单词;其中,所述单词表包括所述标准语句文本中的所有单词。

进一步的,还包括:

单词查询模块,用于在基于预设概率P对所述标准语句文本中的单词执行加噪声操作之前,查询所述标准语句文本中的第二目标单词;根据单词加噪声映射关系表对所述第二目标单词执行对应的加噪声操作;

相应的,第二样本获取模块200用于基于所述预设概率P对所述标准语句文本中除了所述第二目标单词之外的单词执行加噪声操作。

进一步的,还包括:

重加噪模块,用于在利用所述训练集中的样本对初始模型进行训练得到语义不明检测模型之后,利用所述语义不明检测模型对已知分类的语句文本进行文本错误检测操作;还用于根据检测结果确定所述语义不明检测模型的分类准确度;若所述分类准确度小于预设值,则调整预设概率P,并利用调整后的预设概率P重新执行加噪声操作,得到新的错误语句文本,以便利用所述标准语句文本和所述新的错误语句文本训练集中的样本对初始模型进行训练得到新的语义不明检测模型。

进一步的,第二样本获取模块200包括:

语句组划分单元,用于将所述标准语句以句子为单位划分为N个语句组;

分组加噪单元,用于基于预设概率Pi对第i个语句组中的单词执行加噪声操作,得到所述错误语句文本;其中,0<i≤N,在对第i个语句组中的单词执行加噪声操作的过程中,单词被执行加噪声操作的概率为Pi,单词不被执行加噪声操作的概率为1-Pi。

由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

本申请还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

技术分类

06120113807366