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

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

文献发布时间:2023-06-19 10:57:17


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

技术领域

本公开的实施例涉及文本纠错技术领域,更具体地,本公开的实施例涉及文本纠错方法、文本纠错装置、计算机可读存储介质以及电子设备。

背景技术

本部分旨在为权利要求书中陈述的本公开的实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

随着科学技术的飞速发展,文本纠错越来越得到人们的专注。文本纠错是一种将文本中的错别字自动检测出来并进行纠正的技术,在各类的文字编辑、文本校对以及智能客服问题校正等场景中起着重要的作用。

目前的技术方案中,在对输入的文本进行文本纠错时,要么基于纯规则的纠错系统,通过错误检测、纠正候选召回、候选评分排序的步骤进行纠错,要么基于端到端的深度神经网络模型直接输出纠错结果。

发明内容

但是,目前的文本纠错技术方案中,一方面,基于纯规则的纠错系统进行文本纠错,不仅文本纠错效率较低,比较依赖构建的纠错词典,文本纠错能力较局限,而且纠错词典的构建也耗时耗力;另一方面,基于端到端的深度神经网络模型生成纠错序列进行文本纠错,不仅需要一个个文字依次生成,无法并行化处理,文本纠错效率较差,而且由于真实语料中错误出现密度不会特别大,人工标注效率低,构建大量且高质量的平行语料非常耗费时间和人力,并且得到的文本纠错结果的准确性较依赖构建的样本数据,导致文本纠错结果的准确性较差,甚至可能会出现文本语序错乱的问题。

因此在现有技术中,难以达到令人满意的文本纠错的方案。

为此,非常需要一种改进的文本纠错方法,以使得能够在提高文本纠错效率的同时,降低消耗的时间以及人力资源,提高文本纠错结果的全面性以及准确性。

在本上下文中,本公开的实施例期望提供一种文本纠错方法、文本纠错装置、计算机可读存储介质以及电子设备。

在本公开实施例的第一方面中,提供了一种文本纠错方法,包括:获取待纠错文本,并对所述待纠错文本进行预处理得到待纠错数据集;对所述待纠错数据集进行多层次纠错处理,得到不同的纠错记录;基于预先设置的纠错优先级,对所述不同的纠错记录进行融合得到所述待纠错数据集对应的纠错结果记录;根据所述纠错结果记录对所述待纠错文本进行修改以得到所述待纠错文本对应的正确文本。

在本公开的一些实施例中,基于前述方案,所述多层次纠错处理包括搭配纠错处理、词典纠错处理和模型纠错处理;所述对所述待纠错数据集进行多层次纠错处理,得到不同的纠错记录,包括:对所述待纠错数据集进行搭配纠错处理,得到搭配纠错记录;以及对所述待纠错数据集进行词典纠错处理,得到词典纠错记录;以及对所述待纠错数据集进行模型纠错处理,得到模型纠错记录。

在本公开的一些实施例中,基于前述方案,所述基于预先设置的纠错优先级,对所述不同的纠错记录进行融合得到所述待纠错数据集对应的纠错结果记录,包括:将所述搭配纠错记录作为第一纠错记录;依据所述字典纠错记录补充所述第一纠错记录得到第二纠错记录;以及依据所述模型纠错记录补充所述第二纠错记录得到所述待纠错数据集对应的纠错结果记录。

在本公开的一些实施例中,基于前述方案,获取待纠错文本,并对所述待纠错文本进行预处理得到待纠错数据集,包括:获取待纠错文本,基于语义停顿标识将大于长度阈值的所述待纠错文本进行语句切分处理,得到短句文本串;将大于所述长度阈值的所述短句文本串进行字符切分处理,得到字符文本串;将小于所述长度阈值的所述待纠错文本、所述短句文本串和所述字符文本串进行分桶处理得到所述待纠错数据集。

在本公开的一些实施例中,基于前述方案,将小于所述长度阈值的所述待纠错文本、所述语句文本串和所述字符文本串进行分桶处理得到所述待纠错数据集,包括:根据预设的分桶数量,确定每个桶接收的文本长度区间;将与所述文本长度区间相匹配的所述待纠错文本、所述短句文本串和所述字符文本串分别填充到对应的桶中,以通过填充后的所述桶构成所述待纠错数据集。

在本公开的一些实施例中,基于前述方案,获取待纠错文本,并对所述待纠错文本进行预处理得到待纠错数据集,还包括:确定所述桶中长度最长的文本串,并通过预设填充字符填充所述桶中的其他文本串,以使所述桶中的其他文本串与所述长度最长的文本串的长度一致。

在本公开的一些实施例中,基于前述方案,对所述待纠错数据集进行模型纠错处理,得到模型纠错记录,包括:根据所述待纠错数据集确定待纠错文本序列;将所述待纠错文本序列输入到预训练的文本纠错模型中,得到所述待纠错文本序列对应的预测序列;通过所述预测序列确定所述待纠错文本序列中每个位置的文本串对应的正确置信概率序列、候选文本串序列和所述候选文本串序列对应的候选置信概率序列;基于所述正确置信概率序列、所述候选文本串序列和所述候选置信概率序列对所述待纠错文本序列进行纠错处理,得到所述模型纠错记录。

在本公开的一些实施例中,基于前述方案,所述将所述待纠错文本序列输入到预训练的文本纠错模型中,包括:根据预设的纠错词表将所述待纠错文本序列转化为词表编码序列;将所述词表编码序列进行词嵌入处理生成词嵌入向量序列;将所述词嵌入向量序列输入到预训练的文本纠错模型中。

在本公开的一些实施例中,基于前述方案,所述预测序列中的每个元素项是以所述纠错词表大小为维数的概率取值向量;所述通过所述预测序列确定所述待纠错文本序列中每个位置的文本串对应的正确置信概率序列、候选文本串序列和所述候选文本串序列对应的候选置信概率序列,包括:将所述预测序列中的所述概率取值向量进行归一化;确定所述待纠错文本序列中的文本串在所述词表编码序列对应的词表编码;将归一化后的所述概率取值向量中所述词表编码对应位置的概率取值作为所述待纠错文本序列中的文本串对应的正确置信概率以根据所述正确置信概率得到正确置信概率序列;以及将除所述正确置信概率之外的所述概率取值向量中最大的概率取值作为所述待纠错文本序列中的文本串对应的候选置信概率以根据所述候选置信概率得到候选置信概率序列;通过所述候选置信概率对应的词表编码在所述纠错词表中的文本串作为候选文本串以生成候选文本串序列。

在本公开的一些实施例中,基于前述方案,基于所述正确置信概率序列、所述候选文本串序列和所述候选置信概率序列对所述待纠错文本序列进行纠错处理,得到所述模型纠错记录,包括:将所述待纠错文本序列中所述正确置信概率序列小于第一概率阈值的文本串替换为该位置对应在所述候选文本串序列中的候选文本串;和/或将所述待纠错文本序列中所述候选置信概率序列大于第二概率阈值的文本串替换为该位置对应在所述候选文本串序列中的候选文本串。

在本公开的一些实施例中,基于前述方案,在基于所述正确置信概率序列、所述候选文本串序列和所述候选置信概率序列对所述待纠错文本序列进行纠错处理,得到所述模型纠错记录之前,所述方法还包括:通过白名单词典方式、命名体识别方式和正则引擎方式中的一种或者多种组合,对所述待纠错文本序列中的文本串进行纠错过滤处理。

在本公开的一些实施例中,基于前述方案,在基于所述正确置信概率序列、所述候选文本串序列和所述候选置信概率序列对所述待纠错文本序列进行纠错处理,得到所述模型纠错记录之后,所述方法还包括:对所述模型纠错记录进行纠错校验处理;所述对所述模型纠错记录进行纠错校验处理,包括:确定所述模型纠错记录中原文本串与候选文本串之间的特征数据;将所述特征数据输入到预训练的校验打分模型中,得到校验分数;在所述校验分数大于分数阈值时,确定所述原文本串需要替换为所述候选文本串;在所述校验分数小于分数阈值时,确定所述原文本串不需要替换为所述候选文本串。

在本公开的一些实施例中,基于前述方案,确定所述模型纠错记录中原文本串与候选文本串之间的特征数据,包括:通过遮掩码将所述模型纠错记录中需要纠错的原文本串进行遮盖,并将遮盖后的所述模型纠错记录输入到预训练的掩码语言模型中,得到所述遮掩码的位置对应的预测向量;根据所述原文本串以及所述候选文本串在所述纠错词典中的词典编码,以及根据所述遮掩码的位置对应的预测向量,确定所述原文本串对应的第一替换概率以及所述候选文本串的第二替换概率;将所述第一替换概率以及所述第二替换概率的差值作为所述特征数据。

在本公开的一些实施例中,基于前述方案,确定所述模型纠错记录中原文本串与候选文本串之间的特征数据,包括:确定所述模型纠错记录中原文本串与候选文本串之间的相似度数据;其中,所述相似度数据包括拼音相似度、声母相似度、韵母相似度、编辑距离和混淆程度;将所述相似度数据作为所述特征数据。

在本公开的一些实施例中,基于前述方案,对所述待纠错数据集进行词典纠错处理,得到词典纠错记录,包括:获取预设的易错词典,所述易错词典包括易错词语与所述易错词语对应的正确词语;根据所述易错词典确定所述待纠错数据集中的待纠错词语以及所述待纠错词语对应的词语位置;对所述待纠错数据集进行分词处理以获取分词边界;在所述词语位置的相邻位置是所述分词边界时,通过所述正确词语修改所述待纠错词语以生成词典纠错记录;在所述词语位置的相邻位置不是所述分词边界时,确定所述待纠错词语不需要修改以生成词典纠错记录。

在本公开的一些实施例中,基于前述方案,对所述待纠错数据集进行搭配纠错处理,得到搭配纠错记录,包括:获取预设的搭配词典,所述搭配词典包括易错词语、所述易错词语对应的正确词语以及所述正确词语对应的常用搭配词;根据所述搭配词典确定所述待纠错数据集中的待纠错词语以及所述待纠错词语对应的词语位置;对所述待纠错数据集进行分词处理以获取分词边界;在所述词语位置的相邻位置不是所述分词边界时,确定所述待纠错词语不需要修改以生成搭配纠错记录;在所述词语位置的相邻位置是所述分词边界时,根据预设长度的滑动窗口检测所述词语位置相邻的目标数量个词语是否包含至少一个所述常用搭配词;以及在包含至少一个所述常用搭配词时,通过所述正确词语修改所述待纠错词语以生成搭配纠错记录,否则确定所述待纠错词语不需要修改以生成搭配纠错记录。

在本公开实施例的第二方面中,提供了一种文本纠错装置,包括:待纠错文本预处理模块,用于获取待纠错文本,并对所述待纠错文本进行预处理得到待纠错数据集;纠错记录生成模块,用于对所述待纠错数据集进行多层次纠错处理,得到不同的纠错记录;纠错记录融合模块,用于基于预先设置的纠错优先级,对所述不同的纠错记录进行融合得到所述待纠错数据集对应的纠错结果记录;待纠错文本纠错模块,用于根据所述纠错结果记录对所述待纠错文本进行修改以得到所述待纠错文本对应的正确文本。

在本公开的一些实施例中,基于前述方案,所述纠错记录生成模块还包括:搭配纠错记录生成单元,用于对所述待纠错数据集进行搭配纠错处理,得到搭配纠错记录;以及词典纠错记录生成单元,用于对所述待纠错数据集进行词典纠错处理,得到词典纠错记录;以及模型纠错记录生成单元,用于对所述待纠错数据集进行模型纠错处理,得到模型纠错记录。

在本公开的一些实施例中,基于前述方案,所述纠错记录融合模块还用于:将所述搭配纠错记录作为第一纠错记录;依据所述字典纠错记录补充所述第一纠错记录得到第二纠错记录;以及依据所述模型纠错记录补充所述第二纠错记录得到所述待纠错数据集对应的纠错结果记录。

在本公开的一些实施例中,基于前述方案,所述待纠错文本预处理模块还包括:语句切分单元,用于获取待纠错文本,基于语义停顿标识将大于长度阈值的所述待纠错文本进行语句切分处理,得到短句文本串;字符切分单元,用于将大于所述长度阈值的所述短句文本串进行字符切分处理,得到字符文本串;文本串分桶单元,用于将小于所述长度阈值的所述待纠错文本、所述短句文本串和所述字符文本串进行分桶处理得到所述待纠错数据集。

在本公开的一些实施例中,基于前述方案,所述文本串分桶单元还用于:根据预设的分桶数量,确定每个桶接收的文本长度区间;将与所述文本长度区间相匹配的所述待纠错文本、所述短句文本串和所述字符文本串分别填充到对应的桶中,以通过填充后的所述桶构成所述待纠错数据集。

在本公开的一些实施例中,基于前述方案,所述文本纠错装置还包括文本串填充单元,所述文本串填充单元用于:确定所述桶中长度最长的文本串,并通过预设填充字符填充所述桶中的其他文本串,以使所述桶中的其他文本串与所述长度最长的文本串的长度一致。

在本公开的一些实施例中,基于前述方案,所述模型纠错记录生成单元还包括:待纠错文本序列确定子单元,用于根据所述待纠错数据集确定待纠错文本序列;预测序列生成子单元,用于将所述待纠错文本序列输入到预训练的文本纠错模型中,得到所述待纠错文本序列对应的预测序列;概率序列确定子单元,用于通过所述预测序列确定所述待纠错文本序列中每个位置的文本串对应的正确置信概率序列、候选文本串序列和所述候选文本串序列对应的候选置信概率序列;模型纠错记录生成子单元,用于基于所述正确置信概率序列、所述候选文本串序列和所述候选置信概率序列对所述待纠错文本序列进行纠错处理,得到所述模型纠错记录。

在本公开的一些实施例中,基于前述方案,所述预测序列生成子单元还用于:根据预设的纠错词表将所述待纠错文本序列转化为词表编码序列;将所述词表编码序列进行词嵌入处理生成词嵌入向量序列;将所述词嵌入向量序列输入到预训练的文本纠错模型中。

在本公开的一些实施例中,基于前述方案,所述概率序列确定子单元还包括:向量归一化子单元,用于将所述预测序列中的所述概率取值向量进行归一化;词表编码确定子单元,用于确定所述待纠错文本序列中的文本串在所述词表编码序列对应的词表编码;正确置信概率序列生成子单元,用于将归一化后的所述概率取值向量中所述词表编码对应位置的概率取值作为所述待纠错文本序列中的文本串对应的正确置信概率以根据所述正确置信概率得到正确置信概率序列;以及候选置信概率序列生成子单元,用于将除所述正确置信概率之外的所述概率取值向量中最大的概率取值作为所述待纠错文本序列中的文本串对应的候选置信概率以根据所述候选置信概率得到候选置信概率序列;候选文本串序列生成子单元,用于通过所述候选置信概率对应的词表编码在所述纠错词表中的文本串作为候选文本串以生成候选文本串序列。

在本公开的一些实施例中,基于前述方案,所述模型纠错记录生成子单元还用于:将所述待纠错文本序列中所述正确置信概率序列小于第一概率阈值的文本串替换为该位置对应在所述候选文本串序列中的候选文本串;和/或将所述待纠错文本序列中所述候选置信概率序列大于第二概率阈值的文本串替换为该位置对应在所述候选文本串序列中的候选文本串。

在本公开的一些实施例中,基于前述方案,所述文本纠错装置还包括纠错过滤单元,所述纠错过滤单元用于:通过白名单词典方式、命名体识别方式和正则引擎方式中的一种或者多种组合,对所述待纠错文本序列中的文本串进行纠错过滤处理。

在本公开的一些实施例中,基于前述方案,所述文本纠错装置还包括纠错校验单元,所述纠错校验单元用于:对所述模型纠错记录进行纠错校验处理;所述纠错校验单元还包括:特征数据确定子单元,用于确定所述模型纠错记录中原文本串与候选文本串之间的特征数据;校验分数生成子单元,用于将所述特征数据输入到预训练的校验打分模型中,得到校验分数;第一响应子单元,用于在所述校验分数大于分数阈值时,确定所述原文本串需要替换为所述候选文本串;第一响应子单元,用于在所述校验分数小于分数阈值时,确定所述原文本串不需要替换为所述候选文本串。

在本公开的一些实施例中,基于前述方案,所述特征数据确定子单元还用于:通过遮掩码将所述模型纠错记录中需要纠错的原文本串进行遮盖,并将遮盖后的所述模型纠错记录输入到预训练的掩码语言模型中,得到所述遮掩码的位置对应的预测向量;根据所述原文本串以及所述候选文本串在所述纠错词典中的词典编码,以及根据所述遮掩码的位置对应的预测向量,确定所述原文本串对应的第一替换概率以及所述候选文本串的第二替换概率;将所述第一替换概率以及所述第二替换概率的差值作为所述特征数据。

在本公开的一些实施例中,基于前述方案,所述词典纠错记录生成单元还用于:获取预设的易错词典,所述易错词典包括易错词语与所述易错词语对应的正确词语;根据所述易错词典确定所述待纠错数据集中的待纠错词语以及所述待纠错词语对应的词语位置;对所述待纠错数据集进行分词处理以获取分词边界;在所述词语位置的相邻位置是所述分词边界时,通过所述正确词语修改所述待纠错词语以生成词典纠错记录;在所述词语位置的相邻位置不是所述分词边界时,确定所述待纠错词语不需要修改以生成词典纠错记录。

在本公开的一些实施例中,基于前述方案,所述搭配纠错记录生成单元还用于:获取预设的搭配词典,所述搭配词典包括易错词语、所述易错词语对应的正确词语以及所述正确词语对应的常用搭配词;根据所述搭配词典确定所述待纠错数据集中的待纠错词语以及所述待纠错词语对应的词语位置;对所述待纠错数据集进行分词处理以获取分词边界;在所述词语位置的相邻位置不是所述分词边界时,确定所述待纠错词语不需要修改以生成搭配纠错记录;在所述词语位置的相邻位置是所述分词边界时,根据预设长度的滑动窗口检测所述词语位置相邻的目标数量个词语是否包含至少一个所述常用搭配词;以及在包含至少一个所述常用搭配词时,通过所述正确词语修改所述待纠错词语以生成搭配纠错记录,否则确定所述待纠错词语不需要修改以生成搭配纠错记录。

在本公开实施例的第三方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的文本纠错方法。

在本公开实施例的第四方面中,提供了一种电子设备,包括:处理器;以及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上述第一方面所述的文本纠错方法。

根据本公开实施例的技术方案,一方面,对待纠错文本进行预处理得到待纠错数据集,进而在待纠错数据集的基础上进行文本纠错处理,不仅能够实现对各种长度的待纠错文本的处理,而且能够有效提升文本纠错的效率;另一方面,根据预先设置的纠错优先级对不同的纠错记录进行融合,提高融合得到的纠错结果记录的准确性,进而保证根据纠错结果记录得到的正确文本的准确性;再一方面,根据融合得到纠错结果记录,修改待纠错文本得到正确文本,仅需要生成纠错结果记录,不需要全局生成纠错后的正确文本序列,进一步提高文本纠错效率,同时,通过纠错结果记录修改待纠错文本中的字词,没有时序依赖,即不同位置的待修改文本串能够同时进行修改,提升修改效率,并且也能够保证正确文本语序上的准确性,提高文本纠错结果的质量。

附图说明

通过参考附图阅读下文的详细描述,本公开示例性实施例的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施例,其中:

图1示意性示出了根据本公开的一些实施例的示例性应用场景的系统架构的示意框图;

图2示意性地示出了根据本公开的一些实施例的文本纠错方法的流程示意图;

图3示意性地示出了根据本公开的另一些实施例的文本纠错方法的流程示意图;

图4示意性地示出了根据本公开的一些实施例的对待纠错文本进行预处理的流程示意图;

图5示意性地示出了根据本公开的一些实施例的生成模型纠错记录的流程示意图;

图6示意性地示出了根据本公开的一些实施例的通过文本纠错模型进行文本纠错的流程示意图;

图7示意性地示出了根据本公开的一些实施例的确定正确置信概率序列、候选置信概率序列以及候选文本串序列的流程示意图;

图8示意性地示出了根据本公开的一些实施例的对模型纠错记录进行纠错校验的流程示意图;

图9示意性地示出了根据本公开的一些实施例的通过遮掩语言模型进行替换概率计算的流程示意图;

图10示意性地示出了根据本公开的一些实施例的生成词典纠错记录的流程示意图;

图11示意性地示出了根据本公开的一些实施例的生成搭配纠错记录的流程示意图;

图12示意性地示出了根据本公开的一些实施例的文本纠错装置的示意框图;

图13示意性地示出了根据本公开的示例实施例的存储介质的示意图;以及

图14示意性地示出了根据发明的示例实施例的电子设备的方框图。

在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参考若干示例性实施例来描述本公开的原理和精神。应当理解,给出这些实施例仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本公开的实施例可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

根据本公开的实施例,提出了一种文本纠错方法、文本纠错装置、介质和电子设备。

在本文中,需要理解的是,所涉及的术语,比如多层感知机(MultilayerPerceptron,MLP)是一种神经网络结构,常用于深度神经网络的最后一层,用于计算各个类别的预测值;批数据(Batch)是深度学习训练时的一种数据组织方式,为了充分利用并行计算设备如图形处理单元(Graphics Processing Unit,GPU)的性能,往往一次向深度学习模型输出一批数据,让这些批数据并行的通过模型得到输出,这些同时输入模型的一批数据就成为一个Batch;字符串快速匹配(Aho-Corasick,AC)算法是指给定一个字典D,对于输入的文本字符串S,该算法可以快速查找出S中有哪些子串在D中,以及这些子串的位置;Softmax归一化是指一种将输入向量归一化的方式,归一化之后,输入向量各个元素之和为1,每个元素在0~1 之间,可以作为一种置信概率输出。此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。

下面参考本公开的若干代表性实施例,详细阐释本公开的原理和精神。

文本纠错是一种将文本中的错别字自动检测出来并进行纠正的技术,在各类文字编辑、文本校对以及问题校正场景中都有着较大的应用价值。比较传统的文本纠错方法的是基于纯规则的纠错系统,这种纠错系统主要是基于一些纠错词典进行纠错,其纠错范围窄,词典收集过程比较耗时。随着统计机器学习的广泛应用,特别是深度学习技术的飞速发展,比较前沿的纠错系统大多是是基于统计机器学习(含深度学习) 方法进行的。

发明人发现,一种技术方案中,要么获取待纠错的文本中的词语以及文本所属的领域,根据词语查询领域的召回词表,在召回词表中匹配到与词语匹配的待纠错词语时,确定为词语对应的候选词语,结合文本中各个词语对应的候选词语对文本进行纠错处理,得到纠错后的文本;要么确定原始文本中每个待纠错字符串分别对应的至少一个候选替换字符串,并将初始文本中的每个待纠错字符串分别替换为对应的候选替换字符串,得到多个不同的候选文本;之后基于候选文本的第一语义特征从候选文本中筛选替代初始文本的目标文本。但是,这种技术方案中,文本中的错误位置的确定以及错误位置词语的修改候选词,一般都是通过一些纠错词表进行获取的,一方面,纠错词表的构建耗费大量时间和人力资源;另一方面,仅仅基于纠错词表进行错误检测以及候选召回,改错能力有限,只能改出已知词表定义内的错误,得到的纠错结果具有局限性,导致纠错结果的准确性较差。此外,这类技术方案在候选召回阶段,一般都会召回较多候选,需要额外对候选进行打分或者排序才能确定最终的修改词,导致纠错效率较低。

另一种技术方案中,要么获取待纠错文本数据,利用训练的循环神经网络模型,对待纠错文本数据进行纠错处理,生成纠错后的文本数据;要么先收集大量的中文文本语料用以计算5-gram语言模型,保存的语言模型将会用作数据处理过程和模型输出的结果选择,然后收集语法纠错平行语料数据,语法纠错平行语料数据用作训练LSTM神经网络模型,实现模型对错误句子到正确句子的序列翻译过程;其次用保存好的5-gram语言模型对平行语料数据进行预处理,修改掉明显的错误,最后构建LSTM神经网络并用预处理后的数据进行训练,训练结束保存网络参数,并用已训练好的网络,输出语法正确的文本序列。但是,这种技术方案中是通过端到端的方式进行文本纠错,往往是借鉴机器翻译的思路,利用无错文本和错误文本构成的平行语料对,训练一些端到端的文本序列生成模型,一方面,待纠错文本序列与纠错后的文本序列长度一般相差不多,没有必要完全从头到尾生成纠错后的文本,基于序列的生成方法由于需要一个个文字依次生成,无法并行化处理,在实际使用中纠错效率较差;另一方面,基于纠错文本序列生成模型,其生成的纠错文本序列的语序往往不会完全可控,导致修改后的文本序列与原文本序列可能相差很多,纠错效果较差;再一方面,这类方法需要大量的平行语料,而在文本纠错领域,由于真实语料中错误出现的密度不会特别大,人工标注的效率低,构建大量而高质量的平行语料非常耗费时间和人力,并且这类方法往往仅利用纠错模型的判断而没有利用更多的特征进行纠错结果的校验,导致纠错结果的准确率较低。

基于上述内容,本公开的基本思想在于,获取待纠错文本,并对待纠错文本进行预处理得到待纠错数据集,然后可以对待纠错数据集进行多层次纠错处理,得到不同的纠错记录;基于预先设置的纠错优先级,对不同的纠错记录进行融合得到纠错结果记录,最后根据纠错结果记录对待纠错文本进行修改以得到待纠错文本对应的正确文本,从而能够有效提升文本纠错的效率,提高正确文本语序的准确性,提升文本纠错结果的质量。

在介绍了本公开的基本原理之后,下面具体介绍本公开的各种非限制性实施例。

首先参考图1,图1示出了可以应用本公开实施例的一种文本纠错方法及装置的示例性应用场景的系统架构的示意框图。

如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、 102、103可以是具有显示屏的各种电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。

本公开实施例所提供的文本纠错方法一般由服务器105执行,相应地,文本纠错装置一般设置于服务器105中。但本领域技术人员容易理解的是,本公开实施例所提供的文本纠错方法也可以由终端设备101、 102、103执行,相应的,文本纠错装置也可以设置于终端设备101、102、 103中,本示例性实施例中对此不做特殊限定。举例而言,在一种示例性实施例中,可以是通过终端设备101、102、103将待纠错文本上传至服务器105,服务器通过本公开实施例所提供的文本纠错方法生成正确文本,并将正确文本传输给终端设备101、102、103等以使终端设备101、 102、103显示正确文本。

应该理解的是,图1所示的应用场景仅是本公开的实施例可以在其中得以实现的一个示例。本公开实施例的适用范围不受到该应用场景任何方面的限制。

下面结合图1的应用场景,参考图2来描述根据本公开示例性实施例的文本纠错方法。需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施例在此方面不受任何限制。相反,本公开的实施例可以应用于适用的任何场景。

本公开首先提供了一种文本纠错方法,该方法执行主体可以是终端,也可以是服务器,本公开对此不做特殊限定,本示例实施例中以服务器执行该方法为例进行说明。

参照图2所示,在步骤S210中,获取待纠错文本,并对所述待纠错文本进行预处理得到待纠错数据集。

在示例实施例中,待纠错文本可以是指输入的需要进行纠错的文本数据,例如,待纠错文本可以是基于输入框编辑输入的文本数据,也可以是基于光学字符识别(OpticalCharacter Recognition,OCR)技术扫描识别得到的文本数据,还可以是通过语音识别技术识别输入的音频数据得到的文本数据,当然,待纠错文本还可以是通过其他方式得到的文本数据,本示例实施例对此不做特殊限定。待纠错数据集可以是指对待纠错文本进行预处理后得到的短文本串构成的集合。

在步骤S220中,对所述待纠错数据集进行多层次纠错处理,得到不同的纠错记录。

在示例实施例中,多层次纠错处理可以是指根据不同层面的文本纠错方式对待纠错数据集进行文本纠错处理的方式,例如,多层次纠错处理可以是通过搭配纠错处理(文本词语的搭配层面的纠错)、词典纠错处理(易错词语层面的纠错)以及模型纠错处理(字词层面的纠错)中的至少两种的组合对待纠错数据集进行文本纠错处理的方式,也可以是通过统计语言模型纠错处理、命名体识别模型(BiLSTM-CRF)纠错处理以及语义纠错处理中的至少两种的组合对待纠错数据集进行文本纠错处理的方式,当然,还可以是通过其他的文本纠错处理方式构成的组合对待纠错数据集进行文本纠错处理的方式,本示例实施例对此不做特殊限定。

不同的纠错记录是指通过不同层次的文本纠错处理方式对待纠错数据集进行多层次纠错处理后,得到的不同层次的文本纠错处理方式对应的纠错记录,该纠错记录至少可以包括待处理数据集中出现错误的位置、该位置对应的原文本串以及修改候选文本串,当然,纠错记录还可以包含其他的用于修改待处理数据集中文本串的数据,如,纠错记录还可以包含对于同一个文本串得到的不同修改候选文本串的优先级或者修改候选文本串在该位置的得分数据等,本示例实施对此不做特殊限定。

在步骤S230中,基于预先设置的纠错优先级,对所述不同的纠错记录进行融合得到所述待纠错数据集对应的纠错结果记录。

在示例实施例中,纠错优先级可以是预先设置的用于融合不同的纠错记录的优先级数据,例如,在多层次纠错处理是A处理、B处理以及C 处理的组合时,确定预设的纠错优先级的顺序可以是A纠错记录大于B纠错记录大于C纠错记录,此时可以认为纠错记录是以A纠错记录为基础,并通过B纠错记录补充A纠错记录,出现纠错冲突时,以优先保留A纠错记录中的修改为原则,将B纠错记录融合到A纠错记录;同样的,将C纠错记录融合到融合了B纠错记录的A纠错记录中,当然,确定预设的纠错优先级的顺序也可以是B纠错记录大于A纠错记录大于C纠错记录,此处仅是示意性举例说明,具体的纠错优先级可以根据应用场景或者待纠错文本的不同自定义设置,本示例实施例对此不做特殊限定。纠错结果记录是指根据纠错优先级将不同的纠错记录进行融合得到的、用于修改待纠错文本的修改记录。

在步骤S240中,根据所述纠错结果记录对所述待纠错文本进行修改以得到所述待纠错文本对应的正确文本。

在示例实施例中,可以根据纠错结果记录中记录的待纠错的原文本串的位置以及该位置原文本串对应的修改候选文本串对待纠错文本进行修改,即通过纠错结果记录中待纠错位置的修改候选文本串替换原文本串,得到修改后的待纠错文本,即正确文本。

根据图2示例实施例的技术方案,一方面,对待纠错文本进行预处理得到待纠错数据集,进而在待纠错数据集的基础上进行文本纠错处理,不仅能够实现对各种长度的待纠错文本的处理,而且能够有效提升文本纠错的效率;另一方面,根据预先设置的纠错优先级对不同的纠错记录进行融合,提高融合得到的纠错结果记录的准确性,进而保证根据纠错结果记录得到的正确文本的准确性;再一方面,根据融合得到纠错结果记录,修改待纠错文本得到正确文本,仅需要生成纠错结果记录,不需要全局生成纠错后的正确文本序列,进一步提高文本纠错效率,同时,通过纠错结果记录修改待纠错文本中的字词,没有时序依赖,即不同位置的待修改文本串能够同时进行修改,提升修改效率,并且也能够保证正确文本语序上的准确性,提高文本纠错结果的质量。

下面,以多层次纠错处理是搭配纠错处理、词典纠错处理以及模型纠错处理的组合为例,对图2中的步骤S210至步骤S240进行进一步的说明。

图3示意性地示出了根据本公开的另一些实施例的文本纠错方法的流程示意图。

参考图3所示,步骤S310,获取输入的待纠错文本,并对待纠错文本进行预处理得到待纠错数据集;

步骤S320,对待纠错数据集进行模型错误检测和纠错处理得到模型纠错结果,并对模型纠错结果进行过滤以及校验处理得到模型纠错记录;

步骤S330,通过预构建的搭配词典对待纠错数据集进行搭配纠错处理,得到搭配纠错记录;

步骤S340,通过预构建的易错词典对待纠错数据集进行词典纠错处理,得到词典纠错记录;

步骤S350,获取预设的纠错优先级,根据纠错优先级将搭配纠错记录、词典纠错记录以及模型纠错记录进行融合得到纠错结果记录;

步骤S360,根据融合得到的纠错结果记录对待纠错文本进行修改调整得到纠错后的正确文本。

对待纠错文本进行预处理的实施例:

在本示例实施例中,可以通过图4中的步骤实现对待纠错文本的预处理,参考图4所示,具体可以包括:

步骤S410,获取待纠错文本,基于语义停顿标识将大于长度阈值的所述待纠错文本进行语句切分处理,得到短句文本串;

步骤S420,将大于所述长度阈值的所述短句文本串进行字符切分处理,得到字符文本串;

步骤S430,将小于所述长度阈值的所述待纠错文本、所述短句文本串和所述字符文本串进行分桶处理得到所述待纠错数据集。

其中,语义停顿标识可以是指表征语句或者语义停顿的标识,例如,语义停顿标识可以是具有语句级别停顿意义的标点符号,如语义停顿标识可以是句号标点“。”、问号标点“?”或者感叹号标点“!”等,也可以是具有短暂停顿意义的标点符号,如语义停顿标识还可以是逗号标点“,”、分号标点“;”或者冒号标点“:”等,当然,还可以是其他表征语句或者语义停顿的标识,本示例实施例不以此为限。

长度阈值可以是指预先设置的用于切分待纠错文本得到符合长度要求文本串的数据,例如,长度阈值可以是2字符,则切分待纠错文本得到的文本串的长度在2字符或者2字符以内(即1字符),当然,长度阈值也可以是3字符、4字符等,具体可以根据实际情况(如计算设备的计算能力、待纠错文本的数量等)进行自定义设置,本示例实施例对此不做特殊限定。

首先将大于长度阈值的待纠错文本根据语义停顿标识进行语句切分,然后将得到的短句文本串进行字符切分,不仅能够在得到待纠错文本对应的满足长度要求的文本串,提高文本串的纠错效率,而且能够通过分层次进行语句切分筛选,有效保证切分得到的文本串的语义表达的准确性,避免由于语句切分导致待纠错文本语义缺失的问题,提高纠错结果的准确性。

具体的,可以根据预设的分桶数量,确定每个桶接收的文本长度区间;然后将与文本长度区间相匹配的待纠错文本、短句文本串和字符文本串分别填充到对应的桶中,以通过填充后的桶构成所述待纠错数据集。

举例而言,假设设定的分桶数量为N,则对于第n个桶接收的文本长度区间可以通过关系式(1)表示:

其中,N可以表示设定的总分桶数量,n可以表示桶的顺序编号,L可以表示预设的长度阈值,x可以表示第n个桶能够接收的文本串的最小长度,y可以表示第n个桶能够接收的文本串的最大长度,即第n个桶能够接收的文本长度区间为(x,y)。

通过将待纠错文本进行语句切分,并通过分桶处理得到待纠错数据集,能够实现对任意长度的待纠错文本的纠错处理,避免相关技术中只能处理有限固定长度的待纠错文本,提升文本纠错的适用范围,同时提升文本纠错的效率。

进一步的,可以确定桶中长度最长的文本串,并通过预设填充字符填充桶中的其他文本串,以使桶中的其他文本串与长度最长的文本串的长度保持一致。例如,该桶内文本长度最大为10,对于桶中的待纠错文本串“想来某表达谢意”,其长度只有7,需要填充为“想来某表达谢意 ”。通过填充文本串以将每个桶中的文本串构成格式统一的批数据输入到后续的模型中进行并行处理,有效提升文本纠错的效率。

对不同的纠错记录进行融合的实施例:

在本示例实施例中,以多层次纠错处理是搭配纠错处理、词典纠错处理以及模型纠错处理的组合为例,具体可以通过以下步骤实现多层次纠错处理:

对待纠错数据集进行搭配纠错处理,得到搭配纠错记录;以及

对待纠错数据集进行词典纠错处理,得到词典纠错记录;以及

对待纠错数据集进行模型纠错处理,得到模型纠错记录。

其中,搭配纠错处理是指待纠错文本中词语没有错误,而是上下文的词语搭配出现错误时进行文本纠错的处理过程,搭配纠错记录是指对待纠错文本进行搭配纠错处理得到的纠错记录;词典纠错处理是指通过易错词语词典对待纠错文本中出现的易错词进行文本纠错的处理过程,词典纠错记录是指对待纠错文本进行词典纠错处理得到的纠错记录;模型纠错处理是指通过预构建的文本纠错模型对待纠错文本进行文本纠错的处理过程,模型纠错记录是指对待纠错文本进行模型纠错处理得到的纠错记录。

具体的,在得到搭配纠错记录、词典纠错记录以及模型纠错记录之后,根据设置的纠错优先级,可以将搭配纠错记录作为第一纠错记录;依据字典纠错记录补充第一纠错记录得到第二纠错记录;以及依据模型纠错记录补充第二纠错记录得到待纠错数据集对应的纠错结果记录。

其中,第一纠错记录可以是指优先考虑的、作为待纠错文本最基础的纠错记录,由于搭配纠错记录的优先级高于词典纠错记录以及模型纠错记录,因此将搭配纠错记录作为第一纠错记录,然后基于第一纠错记录融合其他的纠错记录,能够保证纠错后得到的正确文本的准确性。当然,在设置的纠错优先级中,词典纠错记录或者模型纠错记录的优先级最高时,可以将词典纠错记录或者模型纠错记录作为第一纠错记录,本示例实施例对此不做特殊限定。

在确定优先级最高的第一纠错记录之后,可以根据预设的纠错优先级将剩余的词典纠错记录以及模型纠错记录,按照优先级顺序依次融合补充到第一纠错记录得到第二纠错记录,并在全部融合完成后得到纠错结果记录。在融合的过程中,如果出现纠错冲突,例如,在将词典纠错记录补充融合到第一纠错记录(即搭配纠错记录)时,词典纠错记录中对目标文本串的纠错不同于第一纠错记录时,优先保留第一纠错记录中的纠错,即优先保留优先级更高的纠错记录中的纠错。

举例而言,不同的纠错记录的数据结构可以表示为(start,end,source,correct),start可以表示原文出错的开始位置,end可以表示原文出错的结束位置,source可以标识有错误的原文本串,correct可以表示修正后的候选文本串。获取搭配纠错记录,并标记搭配纠错记录对原文本串的修改位置,将搭配纠错结果添加到纠错结果记录;然后获取词典纠错记录,对于一个修改,检查其修改位置是否与纠错结果记录中已有标记位置冲突,若有冲突则丢弃该修改,否则标记修改位置,将修改加入纠错结果记录;接着获取模型纠错结果,对一个修改,检查其修改位置是否与纠错结果记录中已有标记位置冲突,若有冲突则丢弃该修改,否则标记修改位置,将修改加入纠错修改记录。

通过预设的优先级,将得到的不同的纠错记录进行融合,从不同层次实现了对待纠错文本的纠错处理,尤其是通过搭配纠错记录对上下文词语搭配不当的问题进行了纠正,可以有效提升文本纠错结果的准确性,保证文本纠错结果的效果。

对待纠错数据集进行模型纠错处理的实施例:

在本示例实施例中,为了更清楚的表述模型纠错处理的过程,下面以单个文本串的作为模型输入为例进行说明,但是,实际应用时应该是将待纠错数据集中每个桶对应的文本串作为一个批数据输入到文本纠错模型中进行并行处理的。

具体的,可以通过图5中的步骤实现文本纠错模型对待纠错数据集进行检测以及纠错的处理过程,参考图5所示,具体可以包括:

步骤S510,根据所述待纠错数据集确定待纠错文本序列;

步骤S520,将所述待纠错文本序列输入到预训练的文本纠错模型中,得到所述待纠错文本序列对应的预测序列;

步骤S530,通过所述预测序列确定所述待纠错文本序列中每个位置的文本串对应的正确置信概率序列、候选文本串序列和所述候选文本串序列对应的候选置信概率序列;

步骤S540,基于所述正确置信概率序列、所述候选文本串序列和所述候选置信概率序列对所述待纠错文本序列进行纠错处理,得到所述模型纠错记录。

其中,待纠错文本序列是指待纠错数据集中输入到文本纠错模型进行处理的文本串构成的序列,当然,本示例实施例是以单个文本串的作为模型输入为例进行说明的,在实际应用过程中,待纠错文本序列可以是待纠错数据集中每个桶中对应的批数据构成的序列,本示例实施例不以此为限。

预测序列可以是指将待纠错文本序列输入到预训练的文本纠错模型中得到的、待纠错文本序列中每个元素项的概率取值向量构成的序列,该预测序列中的每个元素项是以纠错词表大小为维数的概率取值向量;正确置信概率序列是指从预测序列提取的、待纠错文本序列中各字符无需进行修改的置信概率构成的序列;候选置信概率序列是指预测序列中各元素项对应的最大的概率取值向量构成的序列,候选文本串序列是指候选置信概率序列中各元素项对应的最大的概率取值向量在纠错词表中对应的字符构成的序列。

在本示例实施例中,在将待纠错文本序列输入到预训练的文本纠错模型之前,可以先对待纠错文本序列进行转换,具体的,可以根据预设的纠错词表将待纠错文本序列转化为词表编码序列,然后可以将词表编码序列进行词嵌入处理生成词嵌入向量序列,进而可以将词嵌入向量序列输入到预训练的文本纠错模型中。

其中,词表编码序列可以是指基于预设的纠错词表通过纠错词表映射的方式将待纠错文本序列中的字符转换为词典编码构成的序列,词嵌入向量(Embedding)序列是指基于预设的纠错词表将词表编码序列转换为词嵌入向量构成的序列。

图6示意性地示出了根据本公开的一些实施例的通过文本纠错模型进行文本纠错的流程示意图。

参考图6所示,步骤S610,将待纠错文本串转为待纠错文本序列601,待纠错文本序列601可以表示为{w1,w2,w3,……,wn},其中n可以表示待纠错文本序列的长度,获取纠错词典,并利用纠错词表映射的方式,将待纠错文本序列601转为词表编码序列602,词表编码序列602可以表示为{id1,id2,id3,……,idn};

步骤S620,通过查询纠错词典,将词表编码序列602转化为词嵌入向量序列603,词嵌入向量序列603可以表示为{x1,x2,x3,……,xn},其中,每个xi可以表示一个d维的特征向量;

步骤S630,将词嵌入向量序列603输入到编码网络(Encoder)604,得到隐含语义特征向量序列605,隐含语义特征向量序列605可以表示为 {h1,h,h3,……,hn},其中,每个hi可以表示一个h维的向量;编码网络(Encoder)604可以是基于transformer结构的预训练语言模型如bert、 robert-wwm等,也可以是一些层叠的transformer神经网络,也可以是类似LSTM、RNN等神经网络,本示例实施例对此不做特殊限定;

步骤S640,将隐含语义特征向量序列605输入到多层感知机(MLP) 分类网络,该网络的输入大小为h,输出大小为V,其中V可以表示纠错词表大小,因此可以得到预测序列606,预测序列606可以表示为{y1,y2, y3,……,yn},其中,每个yi可以表示一个V维的概率取值向量;

步骤S650,将预测序列606输入到softmax网络层进行归一化,得到归一化后的概率取值向量,并根据归一化后的概率取值向量确定待纠错文本序列中每个文本串对应的正确置信概率序列607;

步骤S660,根据归一化后的概率取值向量确定待纠错文本序列中每个文本串对应的候选置信概率序列以及候选置信概率序列对应的候选字符串 608。

具体的,可以通过图7中的步骤确定待纠错文本序列中每个位置的文本串对应的正确置信概率序列、候选文本串序列和候选文本串序列,参考图6所示,具体可以包括:

步骤S710,将所述预测序列中的所述概率取值向量进行归一化;

步骤S720,确定所述待纠错文本序列中的文本串在所述词表编码序列对应的词表编码;

步骤S730,将归一化后的所述概率取值向量中所述词表编码对应位置的概率取值作为所述待纠错文本序列中的文本串对应的正确置信概率以根据所述正确置信概率得到正确置信概率序列;以及

步骤S740,将除所述正确置信概率之外的所述概率取值向量中最大的概率取值作为所述待纠错文本序列中的文本串对应的候选置信概率以根据所述候选置信概率得到候选置信概率序列;

步骤S750,通过所述候选置信概率对应的词表编码在所述纠错词表中的文本串作为候选文本串以生成候选文本串序列。

其中,将预测序列中的概率取值向量进行归一化是指将预测序列输入到Softmax归一化网络层,以使Softmax归一化网络层输出归一化后的概率取值向量,归一化之后,预测序列中概率取值向量中各个元素之和为1,每个元素在0~1之间,可以作为一种置信概率输出。

由于预测序列中的每个元素项是以纠错词表大小为维数的概率取值向量,因此确定待纠错文本序列中的文本串在词表编码序列对应的词表编码,进而可以在归一化后的概率取值向量中词表编码对应位置的概率取值作为待纠错文本序列中的该文本串对应的正确置信概率,对待纠错文本序列每个文本串进行相同处理后得到正确置信概率序列。然后将该文本串对应的将正确置信概率除外(如可以将该正确置信概率置为零),然后可以将除正确置信概率之外的概率取值向量中最大的概率取值作为待纠错文本序列中的文本串对应的候选置信概率,对待纠错文本序列每个文本串进行相同处理后得到候选置信概率序列。

其次,由于候选置信概率序列中的(除正确置信概率之外最大的)候选置信概率对应位置的文本串就是该文本串在纠错词表中对应的最佳候选文本串,因此可以通过候选置信概率对应的词表编码在纠错词表中的文本串作为候选文本串,对待纠错文本序列每个文本串进行相同处理后得到候选文本串序列。

举例而言,假设纠错词表大小为10,其中“想”为纠错词表内的第1 个词,即其词典编码为1,“向”为纠错词表内的第2个词,即其词典编码为2,以此类推。那么,对于待纠错文本序列{想,来,某,表,达,谢,意},对于第1个文本串“想”,对该待纠错文本序列的预测序列进行归一化后得到的概率向量可以表示为y1=[0.01,0.9,0.02,0.01,0.01,0.01,0.01,0.01,0.01,0.01]。这时,在提取该文本串对应的正确置信概率时,取概率向量y1的第1个值0.01作为“想”对应的正确置信概率k1=0.01;在提取该文本串对应的候选置信概率时,将概率向量y1的第1个(即“想”对应的词典编码)值置为零(即将“想”对应的正确置信概率除外),此时概率向量y1变为y1=[0.0,0.9,0.02,0.01,0.01,0.01,0.01,0.01,0.01, 0.01],然后取概率向量y1中的最大值对应的概率向量0.9作为候选置信概率p1,最大值0.9在概率向量y1中的词典编码(位置)为2,并且该词典编码在纠错词表中对应“向”,即“想”的候选文本串为“向”。类似地,可以得到其余文本串的正确置信概率(序列)、候选置信概率(序列)以及候选文本串(序列)。当然,此处仅是示意性举例说明,并不应对本示例实施例造成任何特殊限定。

进一步的,可以通过以下步骤基于生成的正确置信概率序列、候选文本串序列和候选置信概率序列得到模型纠错记录:

可以将待纠错文本序列中正确置信概率序列小于第一概率阈值的文本串替换为该位置对应在候选文本串序列中的候选文本串;和/或

可以将待纠错文本序列中候选置信概率序列大于第二概率阈值的文本串替换为该位置对应在候选文本串序列中的候选文本串。

其中,第一概率阈值可以是指预先设置的用于判断文本串的正确置信概率是否满足要求的阈值,例如,第一概率阈值可以是0.3,当待纠错文本序列中某文本串的正确置信概率小于0.3时,可以认为待纠错文本序列中的该文本串需要进行纠正,此时可以将该文本串替换为该位置对应在候选文本串序列中的候选文本串,以实现对该位置的文本串的文本纠错处理,当然,第一概率阈值也可以是其他阈值,具体可以根据实际应用场景设定不同的值,以避免文本纠错的过纠错或者欠纠错问题,本示例实施例对此不做特殊限定。

第二概率阈值可以是指预先设置的用于判断文本串的候选置信概率是否满足要求的阈值,例如,第二概率阈值可以是0.7,当待纠错文本序列中某文本串的候选置信概率大于0.7时,可以认为候选文本串序列中的候选文本串比当前待纠错文本序列中的文本串更加正确,需要对当前待纠错文本序列中该位置对应的文本串进行纠正,此时可以将该文本串替换为该位置对应在候选文本串序列中的候选文本串,以实现对该位置的文本串的文本纠错处理,当然,第二概率阈值也可以是其他阈值,本示例实施例不以此为限。

优选的,可以在将待纠错文本序列中正确置信概率序列小于第一概率阈值,且该位置的候选置信概率序列大于第二概率阈值的文本串替换为该位置对应在候选文本串序列中的候选文本串,以实现对该位置的文本串的文本纠错处理。当然,一般情况下第一概率阈值和第二概率阈值分别为不同的阈值,例如第一概率阈值可以是0.1,0.2,0.3等,第二概率阈值可以是0.9,0.8,0.7等,在特定情况下第一概率阈值和第二概率阈值也可以是相同的阈值,例如第一概率阈值和第二概率阈值均为0.5,本示例实施例对此不做特殊限定。

需要说明的是,本示例实施例中的“第一”、“第二”仅用于区分不同的概率阈值,并没有任何意义,并不应对本示例实施例造成任何特殊限定。

可选的,可以在基于正确置信概率序列、候选文本串序列和候选置信概率序列对待纠错文本序列进行纠错处理,得到模型纠错记录之前,可以通过白名单词典方式、命名体识别方式和正则引擎方式中的一种或者多种组合,对待纠错文本序列中的文本串进行纠错过滤处理。

其中,白名单词典方式进行纠错过滤可以是指根据预先构建白名单词典,将待纠错文本序列中出现在白名单词典的文本串进行排除,即可以认为出现在白名单词典中的文本串不需要进行文本纠错,例如,“来某”是一个人名实体词,但在之前的文章内“来”作为一个姓出现的概率较少,容易被文本纠错模型误判,但是,将其加入白名单词典中,那么在待纠错文本序列“想,来,某,表,达,谢,意”中的2至3位置匹配到了白名单词典中的文本串“来某”,那么这两个位置的文本串不论前述模型输出的正确置信概率或者候选置信概率如何,均保留原文本串而不进行修改。

命名体识别方式(Name Entity Recognition,NER)可以是指通过命名体识别模型或者装置识别待纠错文本序列中一些特定类型的实体名称或者地理位置名称,实体名称或者地理位置名称所在位置对应的文本串无需进行纠错修改。由于通用文本中,类似人名、地名、机构名等实体名,文本纠错模型进行文本纠错比较容易误判而导致误纠错,因此,可以将这部分实体名进行屏蔽,举例而言,对于待纠错文本序列“想,来,某,表,达,谢,意”中,“来某”是一种人名实体,命名体识别模型或者装置识别到在待纠错文本序列的2至3位置有一个人名实体,那么这两个位置的文本串不论前述模型输出的正确置信概率或者候选置信概率如何,均保留原文本串而不进行修改。

正则引擎方式可以是指识别一些特殊符号内的文本,例如引号、书名号等表示引用含义的符号中的文本串,即正则引擎方式就是对特殊符号内的文本进行纠错过滤的一种方式。

当然,除了通过白名单词典方式、命名体识别方式和正则引擎方式中的一种或者多种组合,还可以通过其他的纠错过滤的方式对待纠错文本序列中的文本串进行纠错过滤处理,本示例实施例对此不做特殊限定。

通过白名单词典方式、命名体识别方式和正则引擎方式中的一种或者多种组合优先对待纠错文本序列中的文本串进行纠错过滤处理,能够有效筛选不需要进行文本纠错处理的文本串,减少进行文本纠错处理的文本串,降低计算量,进一步提高文本纠错效率,避免对没有修改必要的文本串进行的文本纠错处理,提升文本纠错结果的准确性。

在本示例实施例中,可以在基于正确置信概率序列、候选文本串序列和候选置信概率序列对待纠错文本序列进行纠错处理,得到模型纠错记录之后,可以对模型纠错记录进行纠错校验处理,具体的,可以通过图8中的步骤实现对得到的模型纠错记录进行纠错校验处理的过程,参考图8所示,具体可以包括:

步骤S810,确定所述模型纠错记录中原文本串与候选文本串之间的特征数据;

步骤S820,将所述特征数据输入到预训练的校验打分模型中,得到校验分数;

步骤S830,在所述校验分数大于分数阈值时,确定所述原文本串需要替换为所述候选文本串;

步骤S840,在所述校验分数小于分数阈值时,确定所述原文本串不需要替换为所述候选文本串。

其中,特征数据可以是表征模型纠错记录中原文本串与原文本串对应的候选文本串之间差异性的数据,例如,特征数据可以是原文本串与原文本串对应的候选文本串之间的相似度数据,也可以是原文本串与原文本串对应的候选文本串之间各自对应的替换概率之间的差值,当然,还可以是其他能够表征模型纠错记录中原文本串与候选文本串之间差异性的数据,本示例实施例对此不做特殊限定。

校验打分模型可以是指预先构建的、能够根据原文本串与候选文本串对应的特征数据输出校验分数的机器学习模型,例如,校验打分模型可以包括但不限于回归模型、二分类模型、决策树模型等,本示例实施例对此不做特殊限定。

在校验分数大于分数阈值时,可以认为确定原文本串对应的候选文本串确实能够作为原文本串的纠错文本,文本纠错模型输出的候选文本串没有问题,因此可以将原文本串替换为候选文本串。在校验分数小于分数阈值时,可以认为确定原文本串对应的候选文本串不能够作为原文本串的纠错文本,文本纠错模型输出的候选文本串有疑问,因此不可以将原文本串替换为候选文本串。

通过模型纠错记录进行纠错校验,对文本纠错模型输出的纠错结果进行修正,能够避免由于文本纠错模型的限制导致输出的文本纠错结果存在差错的问题,进一步提高文本纠错结果的准确性。

具体的,可以通过以下步骤确定原文本串与候选文本串之间的特征数据:

可以通过遮掩码将模型纠错记录中需要纠错的原文本串进行遮盖,并将遮盖后的模型纠错记录输入到预训练的掩码语言模型中,得到遮掩码的位置对应的预测向量,然后可以根据原文本串以及候选文本串在纠错词典中的词典编码,以及根据遮掩码的位置对应的预测向量,确定原文本串对应的第一替换概率以及候选文本串的第二替换概率,进而将第一替换概率以及第二替换概率的差值作为特征数据。

举例而言,假设纠错词表大小为10,其中“想”为纠错词表内的第1 个词,即其词典编码为1,“向”为纠错词表内的第2个词,即其词典编码为2,以此类推。那么,对于待纠错文本序列{想,来,某,表,达,敬,意},得到的模型纠错记录中认定第1个位置“想”需要进行文本纠错,其纠错候选文本串为“向”,此时,可以先将待纠错文本序列改写为{[mask],来,某,表,达,敬,意},特别地,如果认定有多个位置的文本串有错,则可以进行多次改写,保证改写后每个待纠错文本序列内只有一个[mask];然后可以将改写后的待纠错文本序列输入到预训练的掩码语言模型中处理,获取第1个位置“想”的预测向量y2=[0.1,0.8,0.02,0.02,0.01, 0.01,0.01,0.01,0.01,0.01],原文本串“想”的词表编码为1,候选文本串“向”的词表编码为2,则取预测向量y2的第1个值0.1作为原文本串对应的第一替换概率,取预测向量y2的第2个值0.8作为候选文本串的第二替换概率。进而,计算第一替换概率与第二替换概率的差值,作为原文本串以及候选文本串之间的特征数据。

图9示意性地示出了根据本公开的一些实施例的通过遮掩语言模型进行替换概率计算的流程示意图。

参考图9所示,步骤S910,将已经检测出错误的待纠错文本串中的待纠错文本串进行遮掩,得到遮掩文本序列901,遮掩文本序列901可以表示为{w1,w2,[mask],……,wn},其中n可以表示待纠错文本序列的长度,获取纠错词典,并利用纠错词表映射的方式,将遮掩文本序列901转为词表编码序列902,词表编码序列902可以表示为{id1,id2,id3,……,idn};

步骤S920,通过查询纠错词典,将词表编码序列902转化为词嵌入向量序列903,词嵌入向量序列903可以表示为{x1,x2,x3,……,xn},其中,每个xi可以表示一个d维的特征向量;

步骤S930,将词嵌入向量序列903输入到编码网络(Encoder)904,得到隐含语义特征向量序列905,隐含语义特征向量序列905可以表示为 {h1,h,h3,……,hn},其中,每个hi可以表示一个h维的向量;

步骤S940,将隐含语义特征向量序列905输入到多层感知机(MLP) 分类网络,该网络的输入大小为h,输出大小为V,其中V可以表示纠错词表大小,因此可以得到预测序列906,最后的输出只需要取预测序列906 中的预测向量ymask;

步骤S950,将预测向量ymask输入到softmax网络层进行归一化,得到归一化后的预测向量ymask,记遮蔽位置的原文本串在纠错词表中的词表编码为idsource,遮蔽位置的候选文本串在纠错词表中的词表编码为 idcorrect,取预测向量ymask第idsource个元素值为遮蔽符号用原文本串替换的第一替换概率907(即k),取预测向量ymask第idcorrect个元素值为遮蔽符号用候选文本串替换的第二替换概率908(即p)。

具体的,还可以确定模型纠错记录中原文本串与候选文本串之间的相似度数据,该相似度数据可以包括拼音相似度、声母相似度、韵母相似度、编辑距离和混淆程度,并将拼音相似度、声母相似度、韵母相似度、编辑距离和混淆程度作为原文本串与候选文本串之间的特征数据。

其中,编辑距离(Edit Distance)可以是指原文本串与候选文本串之间,由一个转成另一个所需的最少编辑操作次数,如果编辑距离越大,说明原文本串与候选文本串之间越能够同。一般情况下,编辑操作可以包括将一个字符替换成另一个字符,插入一个字符,删除一个字符等。混淆程度可以是指根据预构建的混淆集确定原文本串与候选文本串之间易混淆的程度的数据。

通过将原文本串与候选文本串之间的相似度数据作为特征数据输入到校验打分模型得到校验分数,以根据校验分数对原文本串对应的候选文本串进行校验,进一步保证得到的模型纠错记录的准确性,进而保证最终得到的文本纠错结果的准确性。

对待纠错数据集进行词典纠错处理的实施例:

在本示例实施例中,可以通过图10中的步骤实现对待纠错数据集的词典纠错处理,参考图10所示,具体可以包括:

步骤S1010,获取预设的易错词典,所述易错词典包括易错词语与所述易错词语对应的正确词语;

步骤S1020,根据所述易错词典确定所述待纠错数据集中的待纠错词语以及所述待纠错词语对应的词语位置;

步骤S1030,对所述待纠错数据集进行分词处理以获取分词边界;

步骤S1040,在所述词语位置的相邻位置是所述分词边界时,通过所述正确词语修改所述待纠错词语以生成词典纠错记录;

步骤S1050,在所述词语位置的相邻位置不是所述分词边界时,确定所述待纠错词语不需要修改以生成词典纠错记录。

其中,易错词典可以是指预先构建的包含易错词语以及易错词语对应的正确词语的词典,该易错词典可以通过人工进行收集整理,也可以通过自动化方法或者装置生成,本示例实施例对此不作特殊限定。可以利用字符串快速匹配(Aho-Corasick,AC)算法查找待纠错文本序列出现在易错词典中的易错文本串,作为待纠错词语,并记录待纠错词语在待纠错文本串中的词语位置。

利用分词算法对待纠错文本串进行切词,获取切词边界,并根据切词边界和待纠错词语对应的词语位置判断待纠错词语的左右相邻位置是否是切词边界,如果词语位置的相邻位置是分词边界,则通过易错词典中的正确词语修改待纠错词语以生成词典纠错记录;如果词语位置的相邻位置不是分词边界,确定待纠错词语不需要进行修改。

对待纠错数据集进行搭配纠错处理的实施例:

在本示例实施例中,可以通过图11中的步骤实现对待纠错数据集的搭配纠错处理,参考图11所示,具体可以包括:

步骤S1110,获取预设的搭配词典,所述搭配词典包括易错词语、所述易错词语对应的正确词语以及所述正确词语对应的常用搭配词;

步骤S1120,根据所述搭配词典确定所述待纠错数据集中的待纠错词语以及所述待纠错词语对应的词语位置;

步骤S1130,对所述待纠错数据集进行分词处理以获取分词边界;

步骤S1140,在所述词语位置的相邻位置不是所述分词边界时,确定所述待纠错词语不需要修改以生成搭配纠错记录;

步骤S1150,在所述词语位置的相邻位置是所述分词边界时,根据预设长度的滑动窗口检测所述词语位置相邻的目标数量个词语是否包含至少一个所述常用搭配词;以及

步骤S1160,在包含至少一个所述常用搭配词时,通过所述正确词语修改所述待纠错词语以生成搭配纠错记录,否则确定所述待纠错词语不需要修改以生成搭配纠错记录。

其中,搭配词典可以是指预先构建的包含易错词语、易错词语对应的正确词语以及正确词语对应的常用搭配词的词典,该搭配词典可以通过人工进行收集整理,也可以通过自动化方法或者装置生成,本示例实施例对此不作特殊限定。利用AC算法查找待纠错文本序列出现在搭配词典中的易错文本串,作为待纠错词语,并记录待纠错词语在待纠错文本串中的词语位置。

利用分词算法对待纠错文本串进行切词,获取切词边界,并根据切词边界和待纠错词语对应的词语位置判断待纠错词语的左右相邻位置是否是切词边界,如果词语位置的相邻位置不是分词边界,确定待纠错词语不需要进行修改;如果词语位置的相邻位置是分词边界,则进一步根据预设长度的滑动窗口检测词语位置相邻的目标数量个词语是否包含至少一个常用搭配词,如果包含至少一个常用搭配词,则可以认为原文本串出现上下文词语搭配错误,此时通过正确词语修改待纠错词语以生成搭配纠错记录。、

举例而言,确定的搭配词典中包含纠错词条(爆发,暴发,山洪/洪水),其含义为:“爆发”为易错词,如果不考虑上下文的词语搭配,其本身也是一个正确的词,但是“山洪、洪水”应该是与“暴发”相搭配的词;此时,对于待纠错文本串“磅礴大雨导致山洪爆发冲毁了小桥”,利用AC 算法查找到了“爆发”,其位置为9至10;对待纠错文本串进行切词,切词结果为“磅礴/大雨/导致/山洪/爆发/冲毁/了/小桥”,可以判定“爆发”左右都存在切词边界,进而可以通过设定长度为3的滑动窗口,在“爆发”前后各搜寻三个词,获取的上下文词语集合为{“大雨”、“导致”、“山洪”、“冲毁”、“了”、“小桥”},发现在该集合内包含正确词“暴发”的搭配词“山洪”,因此,可以把待纠错文本串中9至10位置的“爆发”修改为“暴发”。当然,此处仅是示意性举例说明,并不应对本示例实施例造成任何特殊限定。

在介绍了本公开示例性实施例的方法之后,接下来,参考图10对本公开示例性实施例的文本纠错装置。

在图12中,文本纠错装置1200可以包括:待纠错文本预处理模块1210用于获取待纠错文本,并对所述待纠错文本进行预处理得到待纠错数据集;纠错记录生成模块1220用于对所述待纠错数据集进行多层次纠错处理,得到不同的纠错记录;纠错记录融合模块1230用于基于预先设置的纠错优先级,对所述不同的纠错记录进行融合得到所述待纠错数据集对应的纠错结果记录;待纠错文本纠错模块1240用于根据所述纠错结果记录对所述待纠错文本进行修改以得到所述待纠错文本对应的正确文本。

在本公开的一些实施例中,基于前述方案,所述纠错记录生成模块 1220还包括:搭配纠错记录生成单元,用于对所述待纠错数据集进行搭配纠错处理,得到搭配纠错记录;以及词典纠错记录生成单元,用于对所述待纠错数据集进行词典纠错处理,得到词典纠错记录;以及模型纠错记录生成单元,用于对所述待纠错数据集进行模型纠错处理,得到模型纠错记录。

在本公开的一些实施例中,基于前述方案,所述纠错记录融合模块 1230还用于:将所述搭配纠错记录作为第一纠错记录;依据所述字典纠错记录补充所述第一纠错记录得到第二纠错记录;以及依据所述模型纠错记录补充所述第二纠错记录得到所述待纠错数据集对应的纠错结果记录。

在本公开的一些实施例中,基于前述方案,所述待纠错文本预处理模块1210还包括:语句切分单元,用于获取待纠错文本,基于语义停顿标识将大于长度阈值的所述待纠错文本进行语句切分处理,得到短句文本串;字符切分单元,用于将大于所述长度阈值的所述短句文本串进行字符切分处理,得到字符文本串;文本串分桶单元,用于将小于所述长度阈值的所述待纠错文本、所述短句文本串和所述字符文本串进行分桶处理得到所述待纠错数据集。

在本公开的一些实施例中,基于前述方案,所述文本串分桶单元还用于:根据预设的分桶数量,确定每个桶接收的文本长度区间;将与所述文本长度区间相匹配的所述待纠错文本、所述短句文本串和所述字符文本串分别填充到对应的桶中,以通过填充后的所述桶构成所述待纠错数据集。

在本公开的一些实施例中,基于前述方案,所述文本纠错装置1200 还包括文本串填充单元,所述文本串填充单元用于:确定所述桶中长度最长的文本串,并通过预设填充字符填充所述桶中的其他文本串,以使所述桶中的其他文本串与所述长度最长的文本串的长度一致。

在本公开的一些实施例中,基于前述方案,所述模型纠错记录生成单元还包括:待纠错文本序列确定子单元,用于根据所述待纠错数据集确定待纠错文本序列;预测序列生成子单元,用于将所述待纠错文本序列输入到预训练的文本纠错模型中,得到所述待纠错文本序列对应的预测序列;概率序列确定子单元,用于通过所述预测序列确定所述待纠错文本序列中每个位置的文本串对应的正确置信概率序列、候选文本串序列和所述候选文本串序列对应的候选置信概率序列;模型纠错记录生成子单元,用于基于所述正确置信概率序列、所述候选文本串序列和所述候选置信概率序列对所述待纠错文本序列进行纠错处理,得到所述模型纠错记录。

在本公开的一些实施例中,基于前述方案,所述预测序列生成子单元还用于:根据预设的纠错词表将所述待纠错文本序列转化为词表编码序列;将所述词表编码序列进行词嵌入处理生成词嵌入向量序列;将所述词嵌入向量序列输入到预训练的文本纠错模型中。

在本公开的一些实施例中,基于前述方案,所述概率序列确定子单元还包括:向量归一化子单元,用于将所述预测序列中的所述概率取值向量进行归一化;词表编码确定子单元,用于确定所述待纠错文本序列中的文本串在所述词表编码序列对应的词表编码;正确置信概率序列生成子单元,用于将归一化后的所述概率取值向量中所述词表编码对应位置的概率取值作为所述待纠错文本序列中的文本串对应的正确置信概率以根据所述正确置信概率得到正确置信概率序列;以及候选置信概率序列生成子单元,用于将除所述正确置信概率之外的所述概率取值向量中最大的概率取值作为所述待纠错文本序列中的文本串对应的候选置信概率以根据所述候选置信概率得到候选置信概率序列;候选文本串序列生成子单元,用于通过所述候选置信概率对应的词表编码在所述纠错词表中的文本串作为候选文本串以生成候选文本串序列。

在本公开的一些实施例中,基于前述方案,所述模型纠错记录生成子单元还用于:将所述待纠错文本序列中所述正确置信概率序列小于第一概率阈值的文本串替换为该位置对应在所述候选文本串序列中的候选文本串;和/或将所述待纠错文本序列中所述候选置信概率序列大于第二概率阈值的文本串替换为该位置对应在所述候选文本串序列中的候选文本串。

在本公开的一些实施例中,基于前述方案,所述文本纠错装置1200 还包括纠错过滤单元,所述纠错过滤单元用于:通过白名单词典方式、命名体识别方式和正则引擎方式中的一种或者多种组合,对所述待纠错文本序列中的文本串进行纠错过滤处理。

在本公开的一些实施例中,基于前述方案,所述文本纠错装置1200 还包括纠错校验单元,所述纠错校验单元用于:对所述模型纠错记录进行纠错校验处理;所述纠错校验单元还包括:特征数据确定子单元,用于确定所述模型纠错记录中原文本串与候选文本串之间的特征数据;校验分数生成子单元,用于将所述特征数据输入到预训练的校验打分模型中,得到校验分数;第一响应子单元,用于在所述校验分数大于分数阈值时,确定所述原文本串需要替换为所述候选文本串;第一响应子单元,用于在所述校验分数小于分数阈值时,确定所述原文本串不需要替换为所述候选文本串。

在本公开的一些实施例中,基于前述方案,所述特征数据确定子单元还用于:通过遮掩码将所述模型纠错记录中需要纠错的原文本串进行遮盖,并将遮盖后的所述模型纠错记录输入到预训练的掩码语言模型中,得到所述遮掩码的位置对应的预测向量;根据所述原文本串以及所述候选文本串在所述纠错词典中的词典编码,以及根据所述遮掩码的位置对应的预测向量,确定所述原文本串对应的第一替换概率以及所述候选文本串的第二替换概率;将所述第一替换概率以及所述第二替换概率的差值作为所述特征数据。

在本公开的一些实施例中,基于前述方案,所述词典纠错记录生成单元还用于:获取预设的易错词典,所述易错词典包括易错词语与所述易错词语对应的正确词语;根据所述易错词典确定所述待纠错数据集中的待纠错词语以及所述待纠错词语对应的词语位置;对所述待纠错数据集进行分词处理以获取分词边界;在所述词语位置的相邻位置是所述分词边界时,通过所述正确词语修改所述待纠错词语以生成词典纠错记录;在所述词语位置的相邻位置不是所述分词边界时,确定所述待纠错词语不需要修改以生成词典纠错记录。

在本公开的一些实施例中,基于前述方案,所述搭配纠错记录生成单元还用于:获取预设的搭配词典,所述搭配词典包括易错词语、所述易错词语对应的正确词语以及所述正确词语对应的常用搭配词;根据所述搭配词典确定所述待纠错数据集中的待纠错词语以及所述待纠错词语对应的词语位置;对所述待纠错数据集进行分词处理以获取分词边界;在所述词语位置的相邻位置不是所述分词边界时,确定所述待纠错词语不需要修改以生成搭配纠错记录;在所述词语位置的相邻位置是所述分词边界时,根据预设长度的滑动窗口检测所述词语位置相邻的目标数量个词语是否包含至少一个所述常用搭配词;以及在包含至少一个所述常用搭配词时,通过所述正确词语修改所述待纠错词语以生成搭配纠错记录,否则确定所述待纠错词语不需要修改以生成搭配纠错记录。

在本公开实施例的第三方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的文本纠错方法。

在介绍了本公开示例性实施例的装置之后,接下来,对本公开示例性实施例的存储介质进行说明。

在一些实施例中,本公开的各个方面还可以实现为一种介质,其上存储有程序代码,当所述程序代码被设备的处理器执行时用于实现本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的文本纠错方法中的步骤。

例如,所述设备的处理器执行所述程序代码时可以实现如图2中所述的步骤S210,获取待纠错文本,并对所述待纠错文本进行预处理得到待纠错数据集;步骤S220,对所述待纠错数据集进行多层次纠错处理,得到不同的纠错记录;步骤S230,基于预先设置的纠错优先级,对所述不同的纠错记录进行融合得到所述待纠错数据集对应的纠错结果记录;步骤S240,根据所述纠错结果记录对所述待纠错文本进行修改以得到所述待纠错文本对应的正确文本。

参考图13所示,描述了根据本公开的实施例的用于实现上述文本纠错方法的程序产品1300,其可以采用便携式紧凑盘只读存储器(CD-ROM) 并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此。

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

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质。

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

在介绍了本公开示例性实施例的文本纠错方法、文本纠错装置以及存储介质之后,接下来,介绍根据本公开的示例性实施例的电子设备。

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

在一些可能的实施例中,根据本公开的电子设备可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的文本纠错方法中的步骤。例如,所述处理单元可以执行如图2中所示的步骤步骤S210,获取待纠错文本,并对所述待纠错文本进行预处理得到待纠错数据集;步骤S220,对所述待纠错数据集进行多层次纠错处理,得到不同的纠错记录;步骤S230,基于预先设置的纠错优先级,对所述不同的纠错记录进行融合得到所述待纠错数据集对应的纠错结果记录;步骤 S240,根据所述纠错结果记录对所述待纠错文本进行修改以得到所述待纠错文本对应的正确文本。

下面参照图14来描述根据本公开的示例实施例的电子设备1400。图 14所示的电子设备1400仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

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

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

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

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

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

应当注意,尽管在上文详细描述中提及了文本纠错装置的若干单元/ 模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。

此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已经参考若干具体实施例描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施例,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

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

06120112739998