一种文本检错方法及装置与流程

专利2022-06-29  63


本申请涉及文本处理技术领域,尤其是涉及一种文本检错方法及装置。



背景技术:

随着科技的发展,在智能服务的场景中需要对用户或客服的对话文本进行语义理解和意图分类等操作,继而根据得到的语义或意图执行对应的操作。当前,通过人工手写、利用输入法输入或利用语音辨识得到的文本中不可避免的存在错别字符,这些错别字符对上述语义理解和意图分类带来很大的困难,严重影响了后续语义理解或意图分类的准确度,继而造成智能服务的服务质量受损。

现有技术中存在一些对文本进行检错的方法,但是这些检错方法存在检错精确度低或适用性差的缺陷,例如有些文本检错方法只适用于某些文本,对其他文本的检错准确度很低。



技术实现要素:

有鉴于此,本申请的目的在于提供一种文本检错方法和装置,以提高文本的检错精确度和适应性。

第一方面,本申请实施例提供了一种文本检错方法,包括:

获取生成待检测文本的用户端信息;

选取与所述用户端信息匹配的语料库;所述语料库存储有多个正确的文本;

基于存储有多个正确的文本的所述语料库,从所述待检测文本中确定目标疑似词汇;

基于每个目标疑似词汇出现在所述待检测文本的当前位置的概率,从所述目标疑似词汇中筛选目标错误字符。

在一种可能的实施方式中,所述选取与所述用户端信息匹配的语料库,包括:

获取与所述用户端信息对应的历史文本信息;

从获取的历史文本信息中选取正确文本,得到所述语料库。

在一种可能的实施方式中,所述获取与所述用户端信息对应的历史文本信息,包括:

基于所述用户端信息,确定目标用户群;

获取所述目标用户群对应的用户生成的历史文本信息。

在一种可能的实施方式中,所述基于存储有多个正确的文本的所述语料库,从待检测文本中确定目标疑似词汇,包括:

基于存储有多个正确的文本的所述语料库,从所述待检测文本中筛选疑似错误词汇和疑似错误字符;

从所述待检测文本中获取每个所述疑似错误字符所属的词汇,并从所述疑似错误字符所属的词汇中筛选属于所述疑似错误词汇的词汇,得到目标疑似词汇。

在一种可能的实施方式中,所述从所述目标疑似词汇中筛选目标错误字符,包括:

基于每个目标疑似词汇出现在所述待检测文本的当前位置的概率,从所述目标疑似词汇中筛选目标错误词汇;

从所述目标错误词汇的所有字符中,筛选属于所述疑似错误字符的字符,得到所述目标错误字符。

在一种可能的实施方式中,所述从所述目标疑似词汇中筛选目标错误词汇,包括:

确定每个目标疑似词汇出现在所述待检测文本的当前位置的概率,得到每个目标疑似词汇的第一概率;

筛选第一概率小于第一预定值的目标疑似词汇,得到所述目标错误词汇。

在一种可能的实施方式中,确定所述第一概率包括:

获取所述目标疑似词汇在所述待检测文本中的前一个词汇,得到第一词汇;

获取所述目标疑似词汇在所述待检测文本中的后一个词汇,得到第二词汇;

根据所述语料库中每两个词汇共同出现的概率,确定所述目标疑似词汇、所述第一词汇以及所述第二词汇共同出现的概率,得到所述第一概率。

在一种可能的实施方式中,所述语料库中每两个词汇共同出现的概率具体为,其中一个词汇出现在另外一个词汇的后面的概率;

确定所述第一概率包括,

根据所述语料库中每两个词汇共同出现的概率,确定所述目标疑似词汇出现在所述第一词汇的后面,并且所述第二词汇出现在所述目标疑似词汇的后面的概率。

在一种可能的实施方式中,所述从待检测文本中筛选疑似错误词汇和疑似错误字符,包括:

获取待检测文本;

基于所述语料库中每两个字符共同出现的概率和每两个词汇共同出现的概率,从所述待检测文本中筛选疑似错误词汇和疑似错误字符。

在一种可能的实施方式中,所述从所述待检测文本中筛选疑似错误字符,包括:

获取所述待检测文本的从第n个字符开始的m个字符,得到至少一个第一集合;其中,n大于或等于1,并且n小于或等于l-m-1,l表示所述待检测物文本的字符的个数;

根据所述语料库中每两个字符共同出现的概率,确定所述第一集合中的m个字符共同出现的概率,得到第二概率;

基于所述第二概率,从所述第一集合中筛选所述疑似错误字符。

在一种可能的实施方式中,所述从所述第一集合中筛选所述疑似错误字符,包括:

筛选第二概率小于第二预定值的第一集合,并从筛选得到的第一集合中获取所有的字符,得到所述疑似错误字符。

在一种可能的实施方式中,所述语料库中每两个字符共同出现的概率具体为,其中一个字符出现在另外一个字符的后面的概率;

确定所述第二概率包括,

根据所述语料库中每两个字符共同出现的概率,确定所述第一集合中的m个字符按照第一预定顺序共同出现的概率,得到所述第二概率,其中,所述第一预定顺序用于表示所述第一集合中的m个字符在所述待检测文本中的顺序。

在一种可能的实施方式中,从所述待检测文本中筛选疑似错误词汇,包括:

获取所述待检测文本的从第p个词汇开始的q个词汇,得到至少一个第二集合;其中,p大于或等于1,并且p小于或等于k-q-1,k表示所述待检测物文本中词汇的个数;

根据所述语料库中每两个词汇共同出现的概率,确定所述第二集合中的q个词汇共同出现的概率,得到第三概率;

基于所述第三概率,从所述第二集合中筛选所述疑似错误词汇。

在一种可能的实施方式中,所述从所述第二集合中筛选所述疑似错误字符词汇,包括:

筛选第三概率小于第三预定值的第二集合,并从筛选得到的第二集合中获取所有的词汇,得到所述疑似错误词汇。

在一种可能的实施方式中,所述语料库中每两个词汇共同出现的概率具体为,其中一个词汇出现在另外一个词汇的后面的概率;

确定所述第三概率包括,

根据所述语料库中每两个词汇共同出现的概率,确定所述第三集合中的q个词汇按照第二预定顺序共同出现的概率,得到所述第三概率,其中,所述第二预定顺序为所述第二集合中的q个词汇在所述待检测文本中的顺序。

在一种可能的实施方式中,所述文本检错方法还包括:

对所述语料库中的所有文本进行预处理;

确定预处理后的语料库中每两个字符共同出现的概率;

确定预处理后的语料库中每两个词汇共同出现的概率;

基于预处理后的语料库中每两个字符共同出现的概率和每两个词汇共同出现的概率,从所述待检测文本中筛选疑似错误词汇和疑似错误字符。

在一种可能的实施方式中,所述确定预处理后的语料库中每两个字符共同出现的概率,包括:

确定预处理后的语料库中每两个字符共同出现的频次,并根据得到的频次确定每两个字符共同出现的频率。

在一种可能的实施方式中,所述每两个字符共同出现的频次具体为,其中的一个字符出现在另一个字符的后面的频次。

在一种可能的实施方式中,所述文本检错方法还包括:

将预处理后的语料库中每两个字符共同出现的频次与第四预定值相加,得到更新后的每两个字符共同出现的频次。

在一种可能的实施方式中,所述确定预处理后的语料库中每两个词汇共同出现的概率,包括:

确定预处理后的语料库中每两个词汇共同出现的频次,并根据得到的频次确定每两个词汇共同出现的频率。

在一种可能的实施方式中,所述每两个词汇共同出现的频次具体为,其中的一个词汇出现在另一个词汇的后面的频次。

在一种可能的实施方式中,所述文本检错方法还包括:

将预处理后的语料库中每两个词汇共同出现的频次与第五预定值相加,得到更新后的每两个词汇共同出现的频次。

在一种可能的实施方式中,所述语料库包括至少一个文本;

所述对所述语料库中的所有文本进行预处理,包括:

在每个文本的第一个字符之前添加第一预定字符;

在每个文本的最后一个字符之后添加第二预定字符;

将每个文本中除汉字符之外的所有字符均替换为第三预定字符;

将连续的多个第三预定字符替换为一个所述第三预定字符。

在一种可能的实施方式中,所述文本检错方法还包括:

对预处理后的文本进行分词处理,得到所述语料库的若干个词汇;

基于所述语料库的词汇,确定预处理后的语料库中每两个词汇共同出现的概率。

在一种可能的实施方式中,所述文本检错方法还包括对所述待检测文本进行预处理的步骤:

在所述待检测文本的第一个字符之前添加所述第一预定字符;

在所述待检测文本的最后一个字符之后添加所述第二预定字符;

将待检测文本中除汉字符之外的所有字符均替换为第三预定字符;

将连续的多个第三预定字符替换为一个所述第三预定字符。

在一种可能的实施方式中,所述文本检错方法还包括:

对所述待检测文本进行分词处理,得到所述待检测文本的若干个词汇;

基于所述待检测文本的词汇以及所述语料库,筛选所述疑似错误词汇。

第二方面,本申请实施例一种文本检错装置,包括:

用户信息获取模块,用于获取生成待检测文本的用户端信息;

语料库匹配模块,用于选取与所述用户端信息匹配的语料库;所述语料库存储有多个正确的文本;

疑似错误筛选模块,用于基于存储有多个正确的文本的所述语料库,从所述待检测文本中确定目标疑似词汇;

目标错误字符筛选模块,用于基于每个目标疑似词汇出现在所述待检测文本的当前位置的概率,从所述目标疑似词汇中筛选目标错误字符。

在一种可能的实施方式中,所述语料库匹配模块包括:

历史文本信息获取子模块,用于获取与所述用户端信息对应的历史文本信息;

语料库确定子模块,用于从获取的历史文本信息中选取正确文本,得到所述语料库。

在一种可能的实施方式中,所述历史文本信息获取子模块具体用于:

基于所述用户端信息,确定目标用户群;

获取所述目标用户群对应的用户生成的历史文本信息。

在一种可能的实施方式中,所述疑似错误筛选模块包括:

第一筛选子模块,用于基于存储有多个正确的文本的所述语料库,从所述待检测文本中筛选疑似错误词汇和疑似错误字符;

第二筛选子模块,用于从所述待检测文本中获取每个所述疑似错误字符所属的词汇,并从所述疑似错误字符所属的词汇中筛选属于所述疑似错误词汇的词汇,得到目标疑似词汇。

在一种可能的实施方式中,所述目标错误字符筛选模块包括:

目标错误词汇筛选子模块,用于基于每个目标疑似词汇出现在所述待检测文本的当前位置的概率,从所述目标疑似词汇中筛选目标错误词汇;

目标错误字符筛选子模块,用于从所述目标错误词汇的所有字符中,筛选属于所述疑似错误字符的字符,得到所述目标错误字符。

在一种可能的实施方式中,所述目标错误词汇筛选子模块具体用于确定每个目标疑似词汇出现在所述待检测文本的当前位置的概率,得到每个目标疑似词汇的第一概率,并筛选第一概率小于第一预定值的目标疑似词汇,得到所述目标错误词汇。

在一种可能的实施方式中,所述目标错误词汇筛选子模块在确定所述第一概率时,还具体用于获取所述目标疑似词汇在所述待检测文本中的前一个词汇,得到第一词汇,获取所述目标疑似词汇在所述待检测文本中的后一个词汇,得到第二词汇,并根据所述语料库中每两个词汇共同出现的概率,确定所述目标疑似词汇、所述第一词汇以及所述第二词汇共同出现的概率,得到所述第一概率。

在一种可能的实施方式中,所述语料库中每两个词汇共同出现的概率具体为,其中一个词汇出现在另外一个词汇的后面的概率;

所述目标错误词汇筛选子模块在确定所述第一概率时,还具体用于根据所述语料库中每两个词汇共同出现的概率,确定所述目标疑似词汇出现在所述第一词汇的后面,并且所述第二词汇出现在所述目标疑似词汇的后面的概率。

在一种可能的实施方式中,所述第一筛选子模块包括:

获取子模块,用于获取所述语料库和待检测文本;

疑似错误筛选子模块,用于基于所述语料库中每两个字符共同出现的概率和每两个词汇共同出现的概率,从所述待检测文本中筛选疑似错误词汇和疑似错误字符。

在一种可能的实施方式中,所述疑似错误筛选子模块具体用于获取所述待检测文本的从第n个字符开始的m个字符,得到至少一个第一集合;根据所述语料库中每两个字符共同出现的概率,确定所述第一集合中的m个字符共同出现的概率,得到第二概率,并基于所述第二概率,从所述第一集合中筛选所述疑似错误字符;其中,n大于或等于1,并且n小于或等于l-m-1,l表示所述待检测物文本的字符的个数。

在一种可能的实施方式中,所述疑似错误筛选子模块在从所述第一集合中筛选所述疑似错误字符时,还具体用于筛选第二概率小于第二预定值的第一集合,并从筛选得到的第一集合中获取所有的字符,得到所述疑似错误字符。

在一种可能的实施方式中,所述语料库中每两个字符共同出现的概率具体为,其中一个字符出现在另外一个字符的后面的概率;

所述疑似错误筛选子模块在确定所述第二概率时,还具体用于根据所述语料库中每两个字符共同出现的概率,确定所述第一集合中的m个字符按照第一预定顺序共同出现的概率,得到所述第二概率,其中,所述第一预定顺序用于表示所述第一集合中的m个字符在所述待检测文本中的顺序。

在一种可能的实施方式中,所述疑似错误筛选子模块还具体用于获取所述待检测文本的从第p个词汇开始的q个词汇,得到至少一个第二集合;根据所述语料库中每两个词汇共同出现的概率,确定所述第二集合中的q个词汇共同出现的概率,得到第三概率;并基于所述第三概率,从所述第二集合中筛选所述疑似错误词汇;其中,p大于或等于1,并且p小于或等于k-q-1,k表示所述待检测物文本中词汇的个数。

在一种可能的实施方式中,所述疑似错误筛选子模块从所述第二集合中筛选所述疑似错误字符词汇时,还具体用于筛选第三概率小于第三预定值的第二集合,并从筛选得到的第二集合中获取所有的词汇,得到所述疑似错误词汇。

在一种可能的实施方式中,所述语料库中每两个词汇共同出现的概率具体为,其中一个词汇出现在另外一个词汇的后面的概率;

所述疑似错误筛选子模块在确定所述第三概率时,还具体用于根据所述语料库中每两个词汇共同出现的概率,确定所述第三集合中的q个词汇按照第二预定顺序共同出现的概率,得到所述第三概率,其中,所述第二预定顺序为所述第二集合中的q个词汇在所述待检测文本中的顺序。

在一种可能的实施方式中,所述第一筛选子模块还包括:

预处理子模块,用于对所述语料库中的所有文本进行预处理;

第一概率确定子模块,用于确定预处理后的语料库中每两个字符共同出现的概率;

第二概率确定子模块,用于确定预处理后的语料库中每两个词汇共同出现的概率;

所述疑似错误筛选子模块还用于基于预处理后的语料库中每两个字符共同出现的概率和每两个词汇共同出现的概率,从所述待检测文本中筛选疑似错误词汇和疑似错误字符。

在一种可能的实施方式中,所述第一概率确定子模块具体用于确定预处理后的语料库中每两个字符共同出现的频次,并根据得到的频次确定每两个字符共同出现的频率。

在一种可能的实施方式中,所述每两个字符共同出现的频次具体为,其中的一个字符出现在另一个字符的后面的频次。

在一种可能的实施方式中,所述第一概率确定子模块还用于将预处理后的语料库中每两个字符共同出现的频次与第四预定值相加,得到更新后的每两个字符共同出现的频次。

在一种可能的实施方式中,所述第二概率确定子模块具体用于确定预处理后的语料库中每两个词汇共同出现的频次,并根据得到的频次确定每两个词汇共同出现的频率。

在一种可能的实施方式中,所述每两个词汇共同出现的频次具体为,其中的一个词汇出现在另一个词汇的后面的频次。

在一种可能的实施方式中,所述第二概率确定子模块还用于将预处理后的语料库中每两个词汇共同出现的频次与第五预定值相加,得到更新后的每两个词汇共同出现的频次。

在一种可能的实施方式中,所述语料库包括至少一个文本;

所述预处理子模块具体用于在每个文本的第一个字符之前添加第一预定字符,在每个文本的最后一个字符之后添加第二预定字符,将每个文本中除汉字符之外的所有字符均替换为第三预定字符,并将连续的多个第三预定字符替换为一个所述第三预定字符。

在一种可能的实施方式中,所述预处理子模块还具体用于对预处理后的文本进行分词处理,得到所述语料库的若干个词汇;

所述第二概率确定子模块还用于基于所述语料库的词汇,确定预处理后的语料库中每两个词汇共同出现的概率。

在一种可能的实施方式中,所述预处理子模块还用于对所述待检测文本进行预处理,所述预处理子模块还有具体用于在所述待检测文本的第一个字符之前添加所述第一预定字符,在所述待检测文本的最后一个字符之后添加所述第二预定字符将待检测文本中除汉字符之外的所有字符均替换为第三预定字符,并将连续的多个第三预定字符替换为一个所述第三预定字符。

在一种可能的实施方式中,所述预处理子模块还用于对所述待检测文本进行分词处理,得到所述待检测文本的若干个词汇;

所述疑似错误筛选子模块还具体用于基于所述待检测文本的词汇以及所述语料库,筛选所述疑似错误词汇。

第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面的任一种可能的实施方式中的步骤。

第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面的任一种可能的实施方式中的步骤。

本申请实施例提供的文本检错方法及装置,首先获取生成待检测文本的用户端信息;之后,选取与用户端信息匹配的语料库,并利用选取的语料库从待检测文本中初步筛选得到目标疑似词汇,最后,基于每个目标疑似词汇出现在待检测文本的当前位置的概率,从目标疑似词汇中进行筛选得到最终的目标错误字符。本申请实施例基于生成待检测文本的用户端信息筛选语料库,利用筛选得到的语料库对待检测文本进行文本检错,能够增强文本检错的针对性,不仅有助于提高文本检错的准确度,而且能够提高文本检错的效率。同时,本申请实施例基于目标疑似词汇出现在待检测文本的当前位置的概率,进一步从目标疑似词汇中筛选目标错误字符,有效提高了文本检错的准确度。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本申请实施例一所提供的文本检错方法的流程图;

图2示出了本申请实施例二所提供的文本检错方法的流程图;

图3示出了本申请实施例三所提供的文本检错方法的流程图;

图4示出了本申请实施例四所提供的文本检错方法的流程图;

图5示出了本申请实施例五所提供的文本检错方法的流程图;

图6示出了本申请实施例五中滑动窗口的示意图;

图7示出了本申请实施例七所提供的文本检错装置名称的结构示意图;

图8示出了本申请实施例八所提供的文本检错装置名称的结构示意图;

图9示出了本申请实施例九所提供的文本检错装置名称的结构示意图;

图10示出了本申请实施例十所提供的一种电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

针对现有技术中文本检错存在精确度低以及适应性差的缺陷,本申请实施例公开了一种文本检错方法及装置,该方法或装置能够根据待检测文本的用户端信息筛选用于进行文本检错的语料库,继而利用针对性强的语料库进行文本检错,能够提高检测准确度。同时,该方法或装置能够根据待检测文本的用户端信息实时筛选合适的语料库,在提高文本检错的准确度的情况下,能够对各种不同的待检测文本进行文本检错,提高了文本检错的适应性。

为便于对本申请实施例进行理解,首先对本申请实施例所公开的一种文本检错方法进行详细介绍。

实施例一

本实施例提供了一种文本检错方法,该方法利用存储有正确文本的语料库,检测得到待检测文本中的错误字符(即下述目标错误字符),相比于现有技术,能够有效提高文本检错的检测准确度和适应性。具体地,如图1所示,本实施的文本检错方法包括:

s110、获取生成待检测文本的用户端信息。

这里,用户端信息包括生成待检测文本的用户端的类别、生成待检测文本的用户端的标识符、与生成待检测文本的用户端相关联的用户端的类别、与生成待检测文本的用户端相关联的用户端的标识符等信息。

s120、选取与所述用户端信息匹配的语料库;所述语料库存储有多个正确的文本。

这里,获取与所述用户端信息匹配的语料库可以利用如下步骤实现:获取与所述用户端信息对应的历史文本信息;从获取的历史文本信息中选取正确文本,得到所述语料库。

上述语料库中的文本包括与用户端信息对应的历史文本信息,由上面的用户端信息的内容可知,语料库中的与用户端信息对应的历史文本信息可以是生成待检测文本的用户端生成的历史文本信息,也可以是与生成待检测文本的用户端相关联的用户端生成的历史文本信息。

在具体实施时,为了获得丰富的历史文本信息,需要尽量获取更多的与生成待检测文本的用户端相关联的用户端。基于上面的描述可知,用户端信息包括生成待检测文本的用户端的类别、生成待检测文本的用户端的标识符、与生成待检测文本的用户端相关联的用户端的类别、与生成待检测文本的用户端相关联的用户端的标识符等信息。那么,可以根据生成待检测文本的用户端的类别和/或生成待检测文本的用户端的标识符,获取与生成待检测文本的用户端属于同一类的用户端(即下述目标用户群)。为了获得更多的与生成待检测文本的用户端相关联的用户端,可以根据上述关联的用户端的类别和/或标识符,获取与上述关联用户端属于同一类的用户端(即下述目标用户群)。综上,根据用户端信息可以确定目标用户群,在确定了目标用户群之后,就能够根据膜表用户群中的用户的标识符等信息,获取目标用户群对应的用户生成的历史文本信息,即基于用户端信息,获取了与所述用户端信息对应的历史文本信息。

上述在得到历史文本信息后,还可以增加根据历史文本信息的生成时间对得到历史文本信息进行筛选的步骤,以获得更新的历史文本信息,提高文本检错的准确度。在具体实施时,可以预先设定一个时间值,在筛选历史文本信息时,将生成时间早于该预定的时间值的历史文本信息丢弃,保留生成时间晚于该预定的时间值的历史文本信息。

s130、基于存储有多个正确的文本的所述语料库,从所述待检测文本中确定目标疑似词汇。

这里,具体可以利用如下步骤确定目标疑似词汇:

基于存储有多个正确的文本的所述语料库,从所述待检测文本中筛选疑似错误词汇和疑似错误字符;从所述待检测文本中获取每个所述疑似错误字符所属的词汇,并从所述疑似错误字符所属的词汇中筛选属于所述疑似错误词汇的词汇,得到目标疑似词汇。

上述基于疑似错误字符,从待检测文本中获取到新的疑似错误词汇,之后计算新的疑似错误词汇与基于语料库筛选得到的疑似错误词汇的交集,得到上述目标疑似词汇,该步骤筛选掉了可能错误检出的词汇,有助于提高检错的准确度。

s140、基于每个目标疑似词汇出现在所述待检测文本的当前位置的概率,从所述目标疑似词汇中筛选目标错误字符。

这里,根据目标疑似词汇出现在待检测文本的当前位置的概率,进行进一步地筛选,是对每个目标疑似词出现在当前位置的合理性判断,如果合理性判断的结果是不合理的,那么这个目标疑似词汇包含错误字符的可能性就非常大,即利用这样的目标疑似词汇筛选得到的目标错误字符就有非常大的可能是真正的错误字符。可见本步骤利用位置概率进行筛选的技术方案,进一步提高了错误字符检测的准确度。

本实施例中,语料库中存储有多个正确的文本。这些文本可以是在某一个特定的场景下获取的正确文本,例如,这些文本是在物流客服对话这个特定的应用场景下获取的正确文本;这些文本也可以是在多种不同的应用场景下获取的正确文本,例如,这些文本是在物流客户对话、银行客户对话、网购中等不同的应用场景中获取的正确文本。利用这些正确的文本不仅能用于某一特定的应用场景下的文本检错,还能通过对语料库中文本的添加或更新,适用于更多的应用场景下的文本检错。

另外,还可以根据实际应用场景的需求的变化更新语料库中存储的文本,以提高特定应场景下,根据语料库获得的疑似错误词汇和疑似错误字符的准确性。

综上,本实施例的文本检错方法不是简单直接的筛选错误字符,而是结合了疑似错误词汇和疑似错误字符的筛选,继而在得到的疑似错误词汇和疑似错误字符的基础上,采取计算交集和概率筛选的处理方式,得到了具有高准确度的目标错误字符。同时,本实施例的文本检错方法通过对语料库的扩充或更新,能够检测各种类型的待检测文本,适应性强。另外,,本实施例的文本检错方法在进行文件检错之前,确定与生成待检测文本的用户端属于同一类型的目标用户群,继而根据该目标用户群生成的正确的历史文本,得到语料库,根据该语料库进行文本检错,由于针对性强,能够提高文本检错精度。

实施例二

本实施例提供了一种文本检错方法,该方法在上一个实施例的基础上提出了从所述目标疑似词汇中筛选目标错误字符的具体实施方式。如图2所示,本实施中的文本检错方法包括如下:

s210、基于存储有正确文本的语料库,从待检测文本中筛选疑似错误词汇和疑似错误字符。

s220、从所述待检测文本中获取每个所述疑似错误字符所属的词汇,并从获取的词汇中筛选属于所述疑似错误词汇的词汇,得到目标疑似词汇。

s230、基于每个目标疑似词汇出现在所述待检测文本的当前位置的概率,从所述目标疑似词汇中筛选目标错误词汇。

这里,目标错误词汇是对目标疑似词汇进行合理性筛选得到,具有更高的精确度。

这里,具体地可以通过如下子步骤筛选目标错误词汇:

s2301、确定每个目标疑似词汇出现在所述待检测文本的当前位置的概率,得到每个目标疑似词汇的第一概率。

s2302、筛选第一概率小于第一预定值的目标疑似词汇,得到所述目标错误词汇。

上述第一预定值可以根据实际应用场景的需求灵活设定,既可以设置成较大的值,从而每次检出多个错误,也可以设置成较小的值,每次检出一到两个错误,待得到的目标错误字符改正后再次进行检错。在实际应用中,通常假定一个目标错误字符周围的字符是正确的,因此如果检出多个位置较近错的目标错误字符,将给后续的改错带来较大的影响,因此,在实践中通常将第一预定值设置为较小的百分数值。

s240、从所述目标错误词汇的所有字符中,筛选属于所述疑似错误字符的字符,得到所述目标错误字符。

这里,实际上是将目标错误词汇中的所有字符与步骤s210中得到的疑似错误字符计算交集,得到目标错误字符,这里计算交集的操作进一步提高了文本检错的准确度。

进一步地,本实施例中确定每个目标疑似词汇出现在所述待检测文本的当前位置的概率,即确定第一概率,可以利用如下步骤实现:

s2303、获取所述目标疑似词汇在所述待检测文本中的前一个词汇,得到第一词汇。

s2304、获取所述目标疑似词汇在所述待检测文本中的后一个词汇,得到第二词汇。

s2304、根据所述语料库中每两个词汇共同出现的概率,确定所述目标疑似词汇、所述第一词汇以及所述第二词汇共同出现的概率,得到所述第一概率。

这里,利用语料库中每两个词汇共同出现的概率,可以计算是每两个词汇共同出现的概率。在具体计算时,可以不考虑词汇出现在顺序,只计算多个词汇共同出现的概率。当然,可以将词汇共同出现时的顺序考虑进去,来计算多个词汇共同出现的概率。

在考虑词汇出现的顺序时,语料库中每两个词汇共同出现的概率具体为,其中一个词汇出现在另外一个词汇的后面的概率,此时,可以利用如下步骤计算上述第一概率:根据所述语料库中每两个词汇共同出现的概率,确定所述目标疑似词汇出现在所述第一词汇的后面,并且所述第二词汇出现在所述目标疑似词汇的后面的概率。

实施例三

本实施例提供了一种文本检错方法,本实施例在以上任一实施例的基础上,提出了从待检测文本中筛选疑似错误词汇和疑似错误字符的具体实施方式。如图3所示,本实施例的文本检错方法包括:

s310、获取所述语料库和待检测文本。

s320、基于所述语料库中每两个字符共同出现的概率和每两个词汇共同出现的概率,从所述待检测文本中筛选疑似错误词汇和疑似错误字符。

这里,语料库中存储的是正确的文本,因此利用语料库中每两个字符共同出现的概率和每两个词汇共同出现的概率,可以计算得到待检测文本中每两个字符或每两个词汇共同出现的概率,继而依据待检测文本中每两个字符或每两个词汇共同出现的概率就可以筛选疑似错误字符和疑似错误词汇。

这里,具体地,这里可以利用如下子步骤从待检测文本中筛选疑似错误字符:

s3201、获取所述待检测文本的从第n个字符开始的m个字符,得到至少一个第一集合;其中,n大于或等于1,并且n小于或等于l-m-1,l表示所述待检测物文本的字符的个数。

上述m的取值可以根据实际应用场景的需要灵活设定,例如将m设置为3,那么,本步骤就是获取待检测文本中连续出现的3个字符,得到第一集合。

s3202、根据所述语料库中每两个字符共同出现的概率,确定所述第一集合中的m个字符共同出现的概率,得到第二概率。

语料库中存储的是正确的文本,因此利用语料库中每两个字符共同出现的概率,可以计算得到待检测文本中每两个字符共同出现的概率,继而依据待检测文本中每两个字符共同出现的概率就可以筛选疑似错误字符。

在具体计算第二概率时,可以不考虑字符出现的顺序,只计算多个字符共同出现的概率。当然,可以将字符共同出现时的顺序考虑进去,来计算多个字符共同出现的概率。

在考虑字符出现的顺序时,语料库中每两个字符共同出现的概率具体为,其中一个字符出现在另外一个字符的后面的概率。此时可以利用如下步骤确定第二概率:根据所述语料库中每两个字符共同出现的概率,确定所述第一集合中的m个字符按照第一预定顺序共同出现的概率,得到所述第二概率,其中,所述第一预定顺序用于表示所述第一集合中的m个字符在所述待检测文本中的顺序。

s3203、基于所述第二概率,从所述第一集合中筛选所述疑似错误字符。

这里,基于第一集合中的字符共同出现的概率(即上述第二概率),可以将共同出现概率小于一个预定值的第一集合筛选出来,继而利用筛选得到第一集合确定疑似错误字符。如果第一集合中的字符共同出现的概率较小,以至于小于一个预定值,就说明第一集合中的字符不应该同时出现,但是他们同时出现在了当前的待检测文本中,则可以初步认定这些字符是疑似错误的,即确定了上述疑似错误字符。

在具体实施时,可以利用如下步骤从第一集合中筛选疑似错误字符:筛选第二概率小于第二预定值的第一集合,并从筛选得到的第一集合中获取所有的字符,得到所述疑似错误字符。这里的第二预定值可以根据实际应用场景的需求灵活设定,既可以设置成较大的值,从而每次检出多个错误,也可以设置成较小的值,每次检出一到两个错误,待得到的目标错误字符改正后再次进行检错。

这里,具体地,可以利用如下子步骤从待检测文本中筛选疑似错误词汇:

s3204、获取所述待检测文本的从第p个词汇开始的q个词汇,得到至少一个第二集合;其中,p大于或等于1,并且p小于或等于k-q-1,k表示所述待检测物文本中词汇的个数。

上述q的取值可以根据实际应用场景的需要灵活设定,例如将q设置为3,那么,本步骤就是获取待检测文本中连续出现的3个词汇,得到第二集合。

s3205、根据所述语料库中每两个词汇共同出现的概率,确定所述第二集合中的q个词汇共同出现的概率,得到第三概率。

语料库中存储的是正确的文本,因此利用语料库中每两个词汇共同出现的概率,可以计算得到待检测文本中每两个词汇共同出现在概率,继而依据待检测文本中每两个词汇共同出现在概率就可以筛选疑似错误词汇。

在具体计算第三概率时,可以不考虑词汇出现的顺序,只计算多个词汇共同出现的概率。当然,可以将词汇共同出现时的顺序考虑进去,来计算多个词汇共同出现的概率。

在考虑词汇出现的顺序时,语料库中每两个词汇共同出现的概率具体为,其中一个词汇出现在另外一个词汇的后面的概率。此时可以利用如下步骤确定第三概率:根据所述语料库中每两个词汇共同出现的概率,确定所述第三集合中的q个词汇按照第二预定顺序共同出现的概率,得到所述第三概率,其中,所述第二预定顺序为所述第二集合中的q个词汇在所述待检测文本中的顺序。

s3206、基于所述第三概率,从所述第二集合中筛选所述疑似错误词汇。

这里,基于第二集合中的词汇共同出现的概率(即上述第三概率),可以将共同出现概率小于一个预定值的第二集合筛选出来,继而利用筛选得到第二集合确定疑似错误词汇。如果第二集合中的词汇共同出现的概率较小,以至于小于一个预定值,就说明第二集合中的词汇不应该同时出现,但是他们同时出现在了当前的待检测文本中,则可以初步认定这些词汇是疑似错误的,即确定了上述疑似错误词汇。

在具体实施时,可以利用如下步骤从第二集合中筛选疑似错误词汇:筛选第三概率小于第三预定值的第二集合,并从筛选得到的第二集合中获取所有的词汇,得到所述疑似错误词汇。这里的第三预定值可以根据实际应用场景的需求灵活设定,既可以设置成较大的值,从而每次检出多个错误,也可以设置成较小的值,每次检出一到两个错误,待得到的目标错误字符改正后再次进行检错。

s330、从所述待检测文本中获取每个所述疑似错误字符所属的词汇,并从获取的词汇中筛选属于所述疑似错误词汇的词汇,得到目标疑似词汇。

s340、基于每个目标疑似词汇出现在所述待检测文本的当前位置的概率,从所述目标疑似词汇中筛选目标错误字符。

实施例四

本实施例提供了一种文本检错方法,本实施例在以上一个实施例的基础上,提出了从待检测文本中筛选疑似错误词汇和疑似错误字符之前,对语料库中的文本进行预处理以及确定语料库中每两个字符共同出现的概率和每两个词汇共同出现的概率的具体实施方式。如图4所示,本实施例的文本检错方法包括:

s410、获取所述语料库和待检测文本。

s420、基对所述语料库中的所有文本进行预处理。

这里,对语料库中的各个文本进行预处理可以但不限于是以下处理方式:

在每个文本的第一个字符之前添加第一预定字符;在每个文本的最后一个字符之后添加第二预定字符;将每个文本中除汉字符之外的所有字符均替换为第三预定字符;并且将连续的多个第三预定字符替换为一个所述第三预定字符。上述第一预定字符、第二预定字符和第三预定字符都认为是合法的汉字,具体如何设置第一预定字符的取值、第二预定字符的值和第三预定字符的值可以根据实际的需要灵活设定,例如将第一预定字符设置为字符“s”,将第二预定字符设置为字符“e”,将第三预定字符设置为字符“p”。

s430、确定预处理后的语料库中每两个字符共同出现的概率。

这里,可以利用如下子步骤确定语料库中每两个字符共同出现的概率:确定预处理后的语料库中每两个字符共同出现的频次,并根据得到的频次确定每两个字符共同出现的频率。

具体地,利用每两个字符共同出现的频次除以其中一个字符出现的所有频次就能够得到上述每两个字符共同出现的频率。这里,每两个字符共同出现的频次可以用字符的共现频次矩阵来表示,该矩阵的第i行第j列元素代表第i个字符与第j个字符共同出现的频次。将该矩阵第j列的值相加即可得到第j个字符的出现次数,用第i行第j列的值除以该次数即可得到第i个字符与在第j个字符共同出现的频率p(i|j)。其中,两个字符共同出现的频率也可以用共现频率矩阵来表示,该矩阵的第p行第q列元素代表第p个字符与第q个字符共同出现的频率。

上述共现频率没有考虑到两个字符的顺序,现在将两个字符的顺序考虑进来,并对在考虑每两个字符的顺序的情况下,如何确定每两个字符共现频率进行说明。具体地,上述每两个字符共同出现的频次此时为其中的一个字符出现在另一个字符的后面的频次。此时共现频次矩阵的第i行第j列元素代表第i个字符在第j个字符之后出现的频次。将矩阵第j列的值相加即可得到第j个字符的出现次数,用第i行第j列的值除以该次数即可得到第i个字符在第j个字符之后出现的频率p(i|j)。两个字符共同出现的频率也可以用共现频率矩阵来表示,该矩阵的第p行第q列元素代表第p个字符与第q个字符共同出现的频率。

另外,在得到两个字符共同出现的频次之后,为了避免出现某个字符的共现频次为0的情形,可以对共现频次矩阵进行拉普拉斯平滑化,即将预处理后的语料库中每两个字符共同出现的频次与第四预定值相加,得到更新后的每两个字符共同出现的频次。这里的第四预定值可以根据实际需求灵活设定,例如将第四预定值设置为1。

s440、确定预处理后的语料库中每两个词汇共同出现的概率。

这里,可以利用如下子步骤确定语料库中每两个词汇共同出现的概率:确定预处理后的语料库中每两个词汇共同出现的频次,并根据得到的频次确定每两个词汇共同出现的频率。

具体地,利用每两个词汇共同出现的频次除以其中一个词汇出现的所有频次就能够得到上述每两个词汇共同出现的频次。这里,每两个词汇共同出现的频次可以用词汇的共现频次矩阵来表示,该矩阵的第i行第j列元素代表第i个词汇与第j个词汇共同出现的频次。将该矩阵第j列的值相加即可得到第j个词汇的出现次数,用第i行第j列的值除以该次数即可得到第i个词汇与在第j个词汇共同出现的频率p(i|j)。其中,两个词汇共同出现的频率也可以用共现频率矩阵来表示,该矩阵的第p行第q列元素代表第p个词汇与第q个词汇共同出现的频率。

上述共现频率没有考虑到两个词汇的顺序,现在将两个词汇的顺序考虑进来,并对在考虑每两个词汇的顺序的情况下,如何确定每两个词汇共现频率进行说明。具体地,上述每两个词汇共同出现的频次此时为其中的一个词汇出现在另一个词汇的后面的频次。此时共现频次矩阵的第i行第j列元素代表第i个词汇在第j个词汇之后出现的频次。将矩阵第j列的值相加即可得到第j个词汇的出现次数,用第i行第j列的值除以该次数即可得到第i个词汇在第j个词汇之后出现的频率p(i|j)。两个词汇共同出现的频率也可以用共现频率矩阵来表示,该矩阵的第p行第q列元素代表第p个词汇与第q个词汇共同出现的频率。

另外,在得到两个词汇共同出现的频次之后,为了避免出现某个词汇的共现频次为0的情形,可以对共现频次矩阵进行拉普拉斯平滑化,即将预处理后的语料库中每两个词汇共同出现的次与第五预定值相加,得到更新后的每两个词汇共同出现的频次。这里的第五预定值可以根据实际需求灵活设定,例如将第五预定值设置为1。

s450、基于预处理后的语料库中每两个字符共同出现的概率和每两个词汇共同出现的概率,从所述待检测文本中筛选疑似错误词汇和疑似错误字符。

s460、从所述待检测文本中获取每个所述疑似错误字符所属的词汇,并从获取的词汇中筛选属于所述疑似错误词汇的词汇,得到目标疑似词汇。

s470、基于每个目标疑似词汇出现在所述待检测文本的当前位置的概率,从所述目标疑似词汇中筛选目标错误字符。

进一步地,在确定预处理后的语料库中每两个词汇共同出现的概率之前,还应该包括如下步骤:对预处理后的文本进行分词处理,得到所述语料库的若干个词汇。基于所述语料库的词汇,才能确定预处理后的语料库中每两个词汇共同出现的概率。

进一步地,在步骤s450执行之前还可以包括对待检测文本进行预处理的步骤:在所述待检测文本的第一个字符之前添加所述第一预定字符;在所述待检测文本的最后一个字符之后添加所述第二预定字符;将待检测文本中除汉字符之外的所有字符均替换为第三预定字符;并将连续的多个第三预定字符替换为一个所述第三预定字符。

进一步地,在对待检测文本进行预处理之后,并且在步骤s450执行之前还应该包括如下步骤:对所述待检测文本进行分词处理,得到所述待检测文本的若干个词汇。基于所述待检测文本的词汇以及所述语料库,才能筛选所述疑似错误词汇。

实施例五

本实施例提供了一种文本检错方法,如图5所示,本实施例的方法包括三个部分:第一部分是对原始的文本数据,即语料库中的文本和待检测文本进行预处理,统计得到语料库中每两个字符共同出现的频率,统计得到语料库中每两个词汇共同出现的频率。第一部分是文本检错前的一个准备阶段。第二部分是并行的分别以字符和词汇为对象,筛选得到疑似错误字符和疑似错误词汇的阶段,第二部分是一个生成阶段。第三部分是对之前生成的疑似错误词进行筛选、合并,得到最终的目标错误字符的阶段,第三部分是一个筛选阶段。

如图5所示,本实施例的文本检错方法包括:

第一部分,准备阶段:该阶段的输入为:基于用户端信息筛选得到的一个完整的语料库以及待检测文本。该阶段的输出为每两个字符的共现频次矩阵、每两个字符的共现频率矩阵、每两个词汇的共现频次矩阵、每两个词汇的共现频率矩阵以及预处理过的可以进行后续检错的待检测文本。

具体地,第一部分包括如下步骤:

步骤一、对文本进行预处理,在语料库中的每个文本和待检测文本的开头位置加入起始标识符“s”,在每个文本的结尾位置加入结束标识符“e”,将句中的标点符号、数字、字母以及特殊字符等替换为特殊标识符“p”。需要注意的是,如果出现连续的多个“p”,要将其合并成一个。在后续的处理中,“s”、“e”和“p”视作三个合法的汉字。

步骤二、利用已有的分词工具,例如jieba分词,对语料库和待检测文本进行分词,得到对应的词汇的列表。

步骤三、遍历语料库的各个文本,将所有出现的字符记录下来,之后对每个字符进行唯一编号,得到一个从字符到编号的一一映射。

步骤四、遍历语料库的各个文本生成的词汇的列表,将所有出现的词汇记录下来,之后对每个词汇组进行唯一编号,得到一个从词汇到编号的一一映射。

步骤五、再次遍历语料库的各个文本,对每两个字符共同出现的频次进行计数,得到字符的共现频次矩阵a,其中a的第i行第j列元素代表第i个字符在第j个字符之后出现的频次。

步骤六、再次遍历语料库的各个文本生成的词汇列表,对每个词汇的出现频次进行计数,得到每两个词汇的共现频次矩阵b,其中b的第i行第j列元素代表第i个词汇在第j个词汇之后出现的频次。

步骤七、为了避免出现某个字符或词汇的共现频次为0的情形,对共现频次矩阵进行拉普拉斯平滑化,即将矩阵a和矩阵b的每个元素都加1。

步骤八、将矩阵a或b第j列的值相加即可得到第j个字符或词汇的出现次数,用第i行第j列的值除以该次数即可得到第i个字符或词汇在第j个字符或词汇之后出现的频率p(i|j),从而得到字符的共现频率矩阵pa和词汇的共现频率矩阵pb。

利用上述准备阶段得到的共现频率矩阵、共现频次矩阵,能够快速地得到查询一个字符或词汇在另一个字符或词汇之后出现的频次或频率。

第二部分,生成阶段。该阶段的输入为:每两个字符的共现频次矩阵、每两个字符的共现频率矩阵、每两个词汇的共现频次矩阵、每两个词汇的共现频率矩阵以及准备阶段处理过的待检错文本(包括得到待检测文本的各个词汇)。该阶段的输出为:以字符为对象生成的疑似错误字符和疑似错误词汇,以词汇为对象生成的疑似错误词汇。

具体地,第二部分包括如下步骤:

步骤一、如图6所示,以字符为单位,使用窗口大小为3的滑动窗口,计算每个窗口内所有字符的共同出现的概率。假设窗口中共有a、b、c三个字符,它们的编号分别为i、j、k,则该窗口内所有字符的共同出现的概率为p(j|i)p(k|j)。假设文本的长度为i,则可以得到i-2个窗口对应的共同出现的概率。

步骤二、使用百分位方法,找到低于某个预定百分位值(即上述实施例中的第二预定值)的所有窗口的下标,这些窗口内的字符就是最初的疑似错误字符。

步骤三、找到待检测文本的词汇的序列中包含上述步骤二中的疑似错误字符的词汇,即得到了可能出错的字符在句子中的位置。本步骤以字符为对象得到了疑似错误词汇。

步骤四、以词汇为单位,使用窗口大小为3的滑动窗口,计算每个窗口内所有的词汇共同出现的概率。假设窗口中共有a、b、c三个词汇,它们的编号分别为i、j、k,则该窗口内所有的词汇共同出现的概率为p(j|i)p(k|j)。假设待检测文本分词后的词汇为l个,则可以得到l-2个窗口对应的共同出现概率。

步骤五、使用百分位方法,找到低于某个预定百分位值(即上述实施例中的第三预定值)的所有窗口下标,这些窗口内的词汇就是疑似错误词汇。本步骤以词汇为对象得到了疑似错误词汇。

第三部分,筛选阶段。该阶段的输入为:以字符为对象生成的疑似错误词汇和疑似错误字符,以词汇为对象生成的疑似错误词汇。该阶段的输出为:最终的目标错误字符。

具体地,第三部分包括如下步骤:

步骤一、对字符为对象生成的疑似错误词和以词汇为对象生成的疑似错误词做交集,以筛选掉可能被错误检出的词,得到目标疑似词汇。

步骤二、对步骤一中的每个目标疑似词汇做合理性判断。假设一个目标疑似词汇为word,其对应的编号为index,待检测文本分词后的词汇序列为words_list,则合理性判断方法为p(words_list[index 1]|word)*p(word|words_list[index-1])<threshold

上述threshold是一个预先设定的阈值(即上述实施例中的第一预定值)。使上式成立的词汇可能存在错误,为目标错误词汇。

步骤三、筛选在步骤二中得到的目标错误词汇中出现的疑似错误字符,得到最终的目标错误字符。

通常假定一个错误字符周围的字符是正确的,因此如果检出多个位置较近错的目标错误字符,将给改错带来较大的影响。因此,在实践中通常使用较小的百分位值(即上述第一预定值、第二预定值或第三预定值)。

本实施例的文本检错方法基于n元语言模型,使用滑动窗口来进行检错。本实施例的文本检错方法在仅利用单个字符进行检错的基础上,结合了以词汇为对象的检错,同时将共同出现的概率小于某个预设百分位值的字符或词汇视作可能出现错误的疑似错误字符和疑似错误词汇,以此来避免遗漏文本中可能出现的错误。本实施例的文本检错方法在得到疑似错误字符和疑似错误词汇后,再对它们进行一系列的筛选,得到最终的目标错误字符,从而能够尽量避免将原本正确的字符检测为错误。

实施例六

本实施例提供了一种文本检错方法的具体实施方式,本实施例中的语料库具体为:三个月客服对话对应的文本,假设其中有一个文本是:“为什么我的服务分降低了?”待检测文本为:“冲淡奖的时候为啥么不派单?”。下面对如何利用本申请的文本检错方法进行检测进行具体说明。

第一部分,准备阶段,包括:

步骤一、对所有客服对话文本和待检测文本中进行添加、替换标识符操作。例如“为什么我的服务分降低了?变为“s为什么我的服务分降低了pe”。“冲淡奖的时候为啥么不派单?”变为“s冲淡奖的时候为啥么不派单pe”。

步骤二、对基于用户端信息筛选得到的语料库中的文本和待检错文本进行分词,得到对应的词汇的列表。例如“s为什么我的服务分降低了pe”对应的词汇的列表为[“s”,“为什么”,“我的”,“服务分”,“降低了”,“p”,“e”],“s冲淡奖的时候为啥么不派单pe”对应的词汇的列表为[“s”,“冲淡”,“奖”,“的时候”,“为啥么”,“不”,“派单”,“p”,“e”]。

步骤三、遍历语料库中的各个文本,将所有出现的汉字记录下来,之后对每个字符进行唯一编号,例如{“服”:1,“务”:2,“分”:3,“s”:4,“p”:5,“为”:6,“乘”:7,…}。

步骤四、遍历语料库中的各个文本生成的词汇列表,将所有出现的词汇记录下来,之后对每个词汇进行唯一编号:{“服务分”:1,“为什么”:2,“s”:3,“e”:4,…}。

步骤五、再次遍历语料库中的各个文本,对每两个字符共同出现的频次进行计数,得到字符的共现频次矩阵a。如矩阵a的第1行第2列代表“务”在“服”后出现的次数。

步骤六、再次遍历语料库中各个文本生成的词汇列表,对每个词汇的出现频次进行计数,得到词汇的共现频次矩阵b,如矩阵b的第1行第2列代表“为什么”在“服务分”后出现的次数。

步骤七、矩阵a和b中可能出现某个元素为0,如“流”字可能不会在“集”字前出现,“乘客”一词可能不会在“句子”一词后出现。为避免该问题,在矩阵a和矩阵b的每个元素都加1。

步骤八、将矩阵一列值相加即可得到该列对应字符或词汇的出现次数,如矩阵a的第2列相加是“务”字在语料库中的总出现次数。用该列某一行的值除以总次数即可得到对应的频率,如第一行第二列的值除以第二列的和即为“务”在“服”后出现的频率p(“务”|“服”)。于是可以得到字符的共现频率矩阵pa和词汇的共现频率矩阵pb。

第二部分,生成阶段,包括:

步骤一、对待检测文本,以字符为单位,使用窗口大小为3的滑动窗口,计算每个窗口内所有的字符共的出现的概率。对文本“s冲淡奖的时候为啥么不派单pe”,窗口依次为“s冲淡”,“冲淡奖”,“淡奖的”,“奖的时”,…一个窗口内所有的字符共的出现的概率p(“s冲淡”)=p(“冲”|“s”)p(“淡”|“冲”)。

步骤二、使用百分位方法,设定百分位值为5,找到所有低于该百分位值的窗口,为“淡奖的”。此时认为“淡”、“奖”、“的”三个字都是疑似错误字符。

步骤三、找到待检测文本的词汇的序列中包含“淡”、“奖”、“的”的词汇,得到:“冲淡”,“奖”,“的时候”,以此作为以字符为单位获得的疑似错误词汇。

步骤四、以词汇为单位,使用窗口大小为3的滑动窗口,计算每个窗口内所有词汇共同出现的概率。对词汇序列[“s”,“冲淡”,“奖”,“的时候”,“为啥么”,“不”,“派单”,“p”,“e”]进行词汇共现概率的计算。窗口依次为[“s”,“冲淡”,“奖”],[“冲淡”,“奖”,“的时候”],[“奖”,“的时候”,“为啥么”],…例如,p([“s”,“冲淡”,“奖”])=p(“冲淡”|“s”)p(“奖”|“冲淡”)。

步骤五、使用百分位方法,设定百分位值为5,找到所有低于该百分位值的窗口,为[“s”,“冲淡”,“奖”],以此作为以词汇为单位得到的疑似错误词汇。

第三部分,筛选阶段,包括:

步骤一、对生成阶段的步骤三和生成阶段的步骤五中得到的疑似错误词做交集,即“冲淡”,“奖”,“的时候”和“s”,“冲淡”,“奖”取交集,得到“冲淡”,“奖”,以此作为目标疑似词汇。

步骤二、对得到的每个目标疑似词汇做合理性判断。如要判断“冲淡”的合理性,需判断

p(“奖”|“冲淡”)*p(“冲淡”|“s”)<threshold

是否成立,其中threshold是一个预先设定的阈值(即以上实施例中的第一预定值)。如果成立,将目标疑似词汇作为目标错误词汇。

步骤三、将目标错误词汇中的所有字符与生成阶段的步骤二中得到的“淡”、“奖”、“的”三个疑似错误字符比对,最终得到“淡”和“奖”,以此作为目标错误字符。

本实施例的文本检错方法同时以字符和词词汇为对象寻找疑似错误词汇和疑似错误字符,并且结合百分位值(即上述第一预定值、第二预定值和第三预定值)进行筛选,先扩大疑似错误词汇和疑似错误字符的范围,再进行筛选,既避免错误不被检出的缺陷,又避免了原本正确的字符被当作错误字符被检出的缺陷。

基于相同的技术构思,本申请实施例还提供一种文本检错装置、电子设备、以及计算机存储介质等,具体可参见以下实施例。

实施例七

本实施例提供了一种文本检错装置,如图7所示,该装置包括:

用户信息获取模块701,用于获取生成待检测文本的用户端信息。

语料库匹配模块702,用于选取与所述用户端信息匹配的语料库;所述语料库存储有多个正确的文本。

疑似错误筛选模块703,用于基于存储有多个正确的文本的所述语料库,从所述待检测文本中确定目标疑似词汇。

目标错误字符筛选模块704,用于基于每个目标疑似词汇出现在所述待检测文本的当前位置的概率,从所述目标疑似词汇中筛选目标错误字符。

本实施例中,所述语料库匹配模块702包括:

历史文本信息获取子模块7021,用于获取与所述用户端信息对应的历史文本信息。

语料库确定子模块7022,用于从获取的历史文本信息中选取正确文本,得到所述语料库。

上述历史文本信息获取子模块7021具体用于:基于所述用户端信息,确定目标用户群;获取所述目标用户群对应的用户生成的历史文本信息。

本实施例中,所述疑似错误筛选模块703包括:

第一筛选子模块7031,用于基于存储有多个正确的文本的所述语料库,从所述待检测文本中筛选疑似错误词汇和疑似错误字符;

第二筛选子模块7032,用于从所述待检测文本中获取每个所述疑似错误字符所属的词汇,并从所述疑似错误字符所属的词汇中筛选属于所述疑似错误词汇的词汇,得到目标疑似词汇。

进一步地,如图7所示,目标错误字符筛选模块704包括:

目标错误词汇筛选子模块7041,用于基于每个目标疑似词汇出现在所述待检测文本的当前位置的概率,从所述目标疑似词汇中筛选目标错误词汇;

目标错误字符筛选子模块7042,用于从所述目标错误词汇的所有字符中,筛选属于所述疑似错误字符的字符,得到所述目标错误字符。

所述目标错误词汇筛选子模块7041具体用于确定每个目标疑似词汇出现在所述待检测文本的当前位置的概率,得到每个目标疑似词汇的第一概率,并筛选第一概率小于第一预定值的目标疑似词汇,得到所述目标错误词汇。

所述目标错误词汇筛选子模块7041在确定所述第一概率时,还具体用于获取所述目标疑似词汇在所述待检测文本中的前一个词汇,得到第一词汇,获取所述目标疑似词汇在所述待检测文本中的后一个词汇,得到第二词汇,并根据所述语料库中每两个词汇共同出现的概率,确定所述目标疑似词汇、所述第一词汇以及所述第二词汇共同出现的概率,得到所述第一概率。

所述语料库中每两个词汇共同出现的概率可以具体为,其中一个词汇出现在另外一个词汇的后面的概率。那么,所述目标错误词汇筛选子模块7041在确定所述第一概率时,还具体用于根据所述语料库中每两个词汇共同出现的概率,确定所述目标疑似词汇出现在所述第一词汇的后面,并且所述第二词汇出现在所述目标疑似词汇的后面的概率。

实施例八

本实施例提供了一种文本检错装置,如图8所示,该装置包括:

用户信息获取模块801,用于获取生成待检测文本的用户端信息。

语料库匹配模块802,用于选取与所述用户端信息匹配的语料库;所述语料库存储有多个正确的文本。

疑似错误筛选模块803,用于基于存储有多个正确的文本的所述语料库,从所述待检测文本中确定目标疑似词汇。

目标错误字符筛选模块804,用于基于每个目标疑似词汇出现在所述待检测文本的当前位置的概率,从所述目标疑似词汇中筛选目标错误字符。

所述疑似错误筛选模块803包括:

第一筛选子模块8031,用于基于存储有多个正确的文本的所述语料库,从所述待检测文本中筛选疑似错误词汇和疑似错误字符;

第二筛选子模块8032,用于从所述待检测文本中获取每个所述疑似错误字符所属的词汇,并从所述疑似错误字符所属的词汇中筛选属于所述疑似错误词汇的词汇,得到目标疑似词汇。

进一步地,如图8所示,所述第一筛选子模块8031包括:

获取子模块80311,用于获取所述语料库和待检测文本;

疑似错误筛选子模块80312,用于基于所述语料库中每两个字符共同出现的概率和每两个词汇共同出现的概率,从所述待检测文本中筛选疑似错误词汇和疑似错误字符。

进一步地,所述疑似错误筛选子模块80312具体用于获取所述待检测文本的从第n个字符开始的m个字符,得到至少一个第一集合;根据所述语料库中每两个字符共同出现的概率,确定所述第一集合中的m个字符共同出现的概率,得到第二概率,并基于所述第二概率,从所述第一集合中筛选所述疑似错误字符;其中,n大于或等于1,并且n小于或等于l-m-1,l表示所述待检测物文本的字符的个数。

进一步地,所述疑似错误筛选子模块80312在从所述第一集合中筛选所述疑似错误字符时,还具体用于筛选第二概率小于第二预定值的第一集合,并从筛选得到的第一集合中获取所有的字符,得到所述疑似错误字符。

所述语料库中每两个字符共同出现的概率具体为,其中一个字符出现在另外一个字符的后面的概率。此时,所述疑似错误筛选子模块80312在确定所述第二概率时,还具体用于根据所述语料库中每两个字符共同出现的概率,确定所述第一集合中的m个字符按照第一预定顺序共同出现的概率,得到所述第二概率,其中,所述第一预定顺序用于表示所述第一集合中的m个字符在所述待检测文本中的顺序。

进一步地,所述疑似错误筛选子模块80312具体还用于获取所述待检测文本的从第p个词汇开始的q个词汇,得到至少一个第二集合;根据所述语料库中每两个词汇共同出现的概率,确定所述第二集合中的q个词汇共同出现的概率,得到第三概率;并基于所述第三概率,从所述第二集合中筛选所述疑似错误词汇;其中,p大于或等于1,并且p小于或等于k-q-1,k表示所述待检测物文本中词汇的个数。

进一步地,所述疑似错误筛选子模块80312从所述第二集合中筛选所述疑似错误字符词汇时,还具体用于筛选第三概率小于第三预定值的第二集合,并从筛选得到的第二集合中获取所有的词汇,得到所述疑似错误词汇。

所述语料库中每两个词汇共同出现的概率具体为,其中一个词汇出现在另外一个词汇的后面的概率。此时,所述疑似错误筛选子模块80312在确定所述第三概率时,具体还用于根据所述语料库中每两个词汇共同出现的概率,确定所述第三集合中的q个词汇按照第二预定顺序共同出现的概率,得到所述第三概率,其中,所述第二预定顺序为所述第二集合中的q个词汇在所述待检测文本中的顺序。

实施例九

本实施例提供了一种文本检错装置,如图9所示,该装置包括:

用户信息获取模块901,用于获取生成待检测文本的用户端信息。

语料库匹配模块902,用于选取与所述用户端信息匹配的语料库;所述语料库存储有多个正确的文本。

疑似错误筛选模块903,用于基于存储有多个正确的文本的所述语料库,从所述待检测文本中确定目标疑似词汇。

目标错误字符筛选模块904,用于基于每个目标疑似词汇出现在所述待检测文本的当前位置的概率,从所述目标疑似词汇中筛选目标错误字符。

所述疑似错误筛选模块903包括:

第一筛选子模块9031,用于基于存储有多个正确的文本的所述语料库,从所述待检测文本中筛选疑似错误词汇和疑似错误字符;

第二筛选子模块9032,用于从所述待检测文本中获取每个所述疑似错误字符所属的词汇,并从所述疑似错误字符所属的词汇中筛选属于所述疑似错误词汇的词汇,得到目标疑似词汇。

进一步地,如图9所示,所述第一筛选子模块9031包括:

获取子模块90311,用于获取所述语料库和待检测文本;

预处理子模块90312,用于对所述语料库中的所有文本进行预处理;

第一概率确定子模块90313,用于确定预处理后的语料库中每两个字符共同出现的概率;

第二概率确定子模块90314,用于确定预处理后的语料库中每两个词汇共同出现的概率;

疑似错误筛选子模块90315,用于基于预处理后的语料库中每两个字符共同出现的概率和每两个词汇共同出现的概率,从所述待检测文本中筛选疑似错误词汇和疑似错误字符。

进一步地,第一概率确定子模块90313具体用于确定预处理后的语料库中每两个字符共同出现的频次,并根据得到的频次确定每两个字符共同出现的频率。所述每两个字符共同出现的频次可以具体为,其中的一个字符出现在另一个字符的后面的频次。

进一步地,所述第一概率确定子模块90313还用于将预处理后的语料库中每两个字符共同出现的频次与第四预定值相加,得到更新后的每两个字符共同出现的频率次

进一步地,所述第二概率确定子模块90314具体用于确定预处理后的语料库中每两个词汇共同出现的频次,并根据得到的频次确定每两个词汇共同出现的频率。所述每两个词汇共同出现的频次可以具体为,其中的一个词汇出现在另一个词汇的后面的频次。

进一步地,所述第二概率确定子模块90314还用于将预处理后的语料库中每两个词汇共同出现的频次与第五预定值相加,得到更新后的每两个词汇共同出现的频次。

进一步地,所述语料库包括至少一个文本。所述预处理子模块90311具体用于在每个文本的第一个字符之前添加第一预定字符,在每个文本的最后一个字符之后添加第二预定字符,将每个文本中除汉字符之外的所有字符均替换为第三预定字符,并将连续的多个第三预定字符替换为一个所述第三预定字符。

所述预处理子模块还具体用于对预处理后的文本进行分词处理,得到所述语料库的若干个词汇;所述第二概率确定子模块90314还用于基于所述语料库的词汇,确定预处理后的语料库中每两个词汇共同出现的概率。

进一步地,所述预处理子模块90311还用于对所述待检测文本进行预处理,所述预处理子模块还有具体用于在所述待检测文本的第一个字符之前添加所述第一预定字符,在所述待检测文本的最后一个字符之后添加所述第二预定字符将待检测文本中除汉字符之外的所有字符均替换为第三预定字符,并将连续的多个第三预定字符替换为一个所述第三预定字符。

所述预处理子模块90311还用于对所述待检测文本进行分词处理,得到所述待检测文本的若干个词汇;所述疑似错误筛选子模块90315还具体用于基于所述待检测文本的词汇以及所述语料库,筛选所述疑似错误词汇。

实施例十

本实施例公开了一种电子设备,如图10所示,包括:处理器1001、存储器1002和总线1003,所述存储器1002存储有所述处理器1001可执行的机器可读指令,当电子设备运行时,所述处理器1001与所述存储器1002之间通过总线1003通信。

所述机器可读指令被所述处理器1001执行时执行以下文本检测的步骤:

获取生成待检测文本的用户端信息;

选取与所述用户端信息匹配的语料库;所述语料库存储有多个正确的文本;

基于存储有多个正确的文本的所述语料库,从所述待检测文本中确定目标疑似词汇;

基于每个目标疑似词汇出现在所述待检测文本的当前位置的概率,从所述目标疑似词汇中筛选目标错误字符。

在具体实施时,所述处理器1001选取与所述用户端信息匹配的语料库,包括:

获取与所述用户端信息对应的历史文本信息;

从获取的历史文本信息中选取正确文本,得到所述语料库。

在具体实施时,所述处理器1001获取与所述用户端信息对应的历史文本信息,包括:

基于所述用户端信息,确定目标用户群;

获取所述目标用户群对应的用户生成的历史文本信息。

在具体实施时,所述处理器1001基于存储有多个正确的文本的所述语料库,从待检测文本中确定目标疑似词汇,包括:

基于存储有多个正确的文本的所述语料库,从所述待检测文本中筛选疑似错误词汇和疑似错误字符;

从所述待检测文本中获取每个所述疑似错误字符所属的词汇,并从所述疑似错误字符所属的词汇中筛选属于所述疑似错误词汇的词汇,得到目标疑似词汇。

在具体实施时,所述处理器1001从所述目标疑似词汇中筛选目标错误字符具体包括:

基于每个目标疑似词汇出现在所述待检测文本的当前位置的概率,从所述目标疑似词汇中筛选目标错误词汇;

从所述目标错误词汇的所有字符中,筛选属于所述疑似错误字符的字符,得到所述目标错误字符。

在具体实施时,所述处理器1001从所述目标疑似词汇中筛选目标错误词汇具体包括:

确定每个目标疑似词汇出现在所述待检测文本的当前位置的概率,得到每个目标疑似词汇的第一概率;

筛选第一概率小于第一预定值的目标疑似词汇,得到所述目标错误词汇。

在具体实施时,所述处理器1001确定所述第一概率包括:

获取所述目标疑似词汇在所述待检测文本中的前一个词汇,得到第一词汇;

获取所述目标疑似词汇在所述待检测文本中的后一个词汇,得到第二词汇;

根据所述语料库中每两个词汇共同出现的概率,确定所述目标疑似词汇、所述第一词汇以及所述第二词汇共同出现的概率,得到所述第一概率。

在具体实施时,所述语料库中每两个词汇共同出现的概率具体为,其中一个词汇出现在另外一个词汇的后面的概率;此时,所述处理器1001确定所述第一概率包括:

根据所述语料库中每两个词汇共同出现的概率,确定所述目标疑似词汇出现在所述第一词汇的后面,并且所述第二词汇出现在所述目标疑似词汇的后面的概率。

在具体实施时,所述处理器1001从待检测文本中筛选疑似错误词汇和疑似错误字符具体包括:

获取所述语料库和待检测文本;

基于所述语料库中每两个字符共同出现的概率和每两个词汇共同出现的概率,从所述待检测文本中筛选疑似错误词汇和疑似错误字符。

在具体实施时,所述处理器1001从所述待检测文本中筛选疑似错误字符具体包括:

获取所述待检测文本的从第n个字符开始的m个字符,得到至少一个第一集合;其中,n大于或等于1,并且n小于或等于l-m-1,l表示所述待检测物文本的字符的个数;

根据所述语料库中每两个字符共同出现的概率,确定所述第一集合中的m个字符共同出现的概率,得到第二概率;

基于所述第二概率,从所述第一集合中筛选所述疑似错误字符。

在具体实施时,所述处理器1001从所述第一集合中筛选所述疑似错误字符具体包括:

筛选第二概率小于第二预定值的第一集合,并从筛选得到的第一集合中获取所有的字符,得到所述疑似错误字符。

在具体实施时,所述语料库中每两个字符共同出现的概率具体为,其中一个字符出现在另外一个字符的后面的概率;此时,所述处理器1001确定所述第二概率包括:

根据所述语料库中每两个字符共同出现的概率,确定所述第一集合中的m个字符按照第一预定顺序共同出现的概率,得到所述第二概率,其中,所述第一预定顺序用于表示所述第一集合中的m个字符在所述待检测文本中的顺序。

在具体实施时,所述处理器1001从所述待检测文本中筛选疑似错误词汇具体包括:

获取所述待检测文本的从第p个词汇开始的q个词汇,得到至少一个第二集合;其中,p大于或等于1,并且p小于或等于k-q-1,k表示所述待检测物文本中词汇的个数;

根据所述语料库中每两个词汇共同出现的概率,确定所述第二集合中的q个词汇共同出现的概率,得到第三概率;

基于所述第三概率,从所述第二集合中筛选所述疑似错误词汇。

在具体实施时,所述处理器1001从所述第二集合中筛选所述疑似错误字符词汇具体包括:

筛选第三概率小于第三预定值的第二集合,并从筛选得到的第二集合中获取所有的词汇,得到所述疑似错误词汇。

在具体实施时,所述语料库中每两个词汇共同出现的概率具体为,其中一个词汇出现在另外一个词汇的后面的概率;此时,所述处理器1001确定所述第三概率包括:

根据所述语料库中每两个词汇共同出现的概率,确定所述第三集合中的q个词汇按照第二预定顺序共同出现的概率,得到所述第三概率,其中,所述第二预定顺序为所述第二集合中的q个词汇在所述待检测文本中的顺序。

在具体实施时,所述处理器1001执行以下步骤:

对所述语料库中的所有文本进行预处理;

确定预处理后的语料库中每两个字符共同出现的概率;

确定预处理后的语料库中每两个词汇共同出现的概率;

基于预处理后的语料库中每两个字符共同出现的概率和每两个词汇共同出现的概率,从所述待检测文本中筛选疑似错误词汇和疑似错误字符。

在具体实施时,所述处理器1001确定预处理后的语料库中每两个字符共同出现的概率具体包括:

确定预处理后的语料库中每两个字符共同出现的频次,并根据得到的频次确定每两个字符共同出现的频率。

在具体实施时,所述每两个字符共同出现的频次具体为,其中的一个字符出现在另一个字符的后面的频次。

在具体实施时,所述处理器1001还用于:

将预处理后的语料库中每两个字符共同出现的频次与第四预定值相加,得到更新后的每两个字符共同出现的频次。

在具体实施时,所述处理器1001确定预处理后的语料库中每两个词汇共同出现的概率具体包括:

确定预处理后的语料库中每两个词汇共同出现的频次,并根据得到的频次确定每两个词汇共同出现的频率。

在具体实施时,每两个词汇共同出现的频次具体为,其中的一个词汇出现在另一个词汇的后面的频次。

在具体实施时,所述处理器1001还用于:

将预处理后的语料库中每两个词汇共同出现的频次与第五预定值相加,得到更新后的每两个词汇共同出现的频次。

在具体实施时,所述语料库包括至少一个文本;

所述处理器1001对所述语料库中的所有文本进行预处理具体包括:

在每个文本的第一个字符之前添加第一预定字符;

在每个文本的最后一个字符之后添加第二预定字符;

将每个文本中除汉字符之外的所有字符均替换为第三预定字符;

将连续的多个第三预定字符替换为一个所述第三预定字符。

在具体实施时,所述处理器1001还用于:

对预处理后的文本进行分词处理,得到所述语料库的若干个词汇;

基于所述语料库的词汇,确定预处理后的语料库中每两个词汇共同出现的概率。

在具体实施时,所述处理器1001还用于对所述待检测文本进行预处理:

在所述待检测文本的第一个字符之前添加所述第一预定字符;

在所述待检测文本的最后一个字符之后添加所述第二预定字符;

将待检测文本中除汉字符之外的所有字符均替换为第三预定字符;

将连续的多个第三预定字符替换为一个所述第三预定字符。

在具体实施时,所述处理器1001还用于:

对所述待检测文本进行分词处理,得到所述待检测文本的若干个词汇;

基于所述待检测文本的词汇以及所述语料库,筛选所述疑似错误词汇。

实施例十一

本实施例公开了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述实施例的文本检错方法中的步骤。

本申请实施例还提供了一种进行文本检错计算机程序产品,其包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。


技术特征:

1.一种文本检错方法,其特征在于,包括:

获取生成待检测文本的用户端信息;

选取与所述用户端信息匹配的语料库;所述语料库存储有多个正确的文本;

基于存储有多个正确的文本的所述语料库,从所述待检测文本中确定目标疑似词汇;

基于每个目标疑似词汇出现在所述待检测文本的当前位置的概率,从所述目标疑似词汇中筛选目标错误字符。

2.根据权利要求1所述的方法,其特征在于,所述选取与所述用户端信息匹配的语料库,包括:

获取与所述用户端信息对应的历史文本信息;

从获取的历史文本信息中选取正确文本,得到所述语料库。

3.根据权利要求2所述的方法,其特征在于,所述获取与所述用户端信息对应的历史文本信息,包括:

基于所述用户端信息,确定目标用户群;

获取所述目标用户群对应的用户生成的历史文本信息。

4.根据权利要求1所述的方法,其特征在于,所述基于存储有多个正确的文本的所述语料库,从待检测文本中确定目标疑似词汇,包括:

基于存储有多个正确的文本的所述语料库,从所述待检测文本中筛选疑似错误词汇和疑似错误字符;

从所述待检测文本中获取每个所述疑似错误字符所属的词汇,并从所述疑似错误字符所属的词汇中筛选属于所述疑似错误词汇的词汇,得到目标疑似词汇。

5.根据权利要求4所述的方法,其特征在于,所述从所述目标疑似词汇中筛选目标错误字符,包括:

基于每个目标疑似词汇出现在所述待检测文本的当前位置的概率,从所述目标疑似词汇中筛选目标错误词汇;

从所述目标错误词汇的所有字符中,筛选属于所述疑似错误字符的字符,得到所述目标错误字符。

6.根据权利要求5所述的方法,其特征在于,所述从所述目标疑似词汇中筛选目标错误词汇,包括:

确定每个目标疑似词汇出现在所述待检测文本的当前位置的概率,得到每个目标疑似词汇的第一概率;

筛选第一概率小于第一预定值的目标疑似词汇,得到所述目标错误词汇。

7.根据权利要求6所述的方法,其特征在于,确定所述第一概率包括:

获取所述目标疑似词汇在所述待检测文本中的前一个词汇,得到第一词汇;

获取所述目标疑似词汇在所述待检测文本中的后一个词汇,得到第二词汇;

根据所述语料库中每两个词汇共同出现的概率,确定所述目标疑似词汇、所述第一词汇以及所述第二词汇共同出现的概率,得到所述第一概率。

8.根据权利要求7所述的方法,其特征在于,所述语料库中每两个词汇共同出现的概率具体为,其中一个词汇出现在另外一个词汇的后面的概率;

确定所述第一概率包括,

根据所述语料库中每两个词汇共同出现的概率,确定所述目标疑似词汇出现在所述第一词汇的后面,并且所述第二词汇出现在所述目标疑似词汇的后面的概率。

9.根据权利要求4至8任一项所述的方法,其特征在于,所述从待检测文本中筛选疑似错误词汇和疑似错误字符,包括:

获取待检测文本;

基于所述语料库中每两个字符共同出现的概率和每两个词汇共同出现的概率,从所述待检测文本中筛选疑似错误词汇和疑似错误字符。

10.根据权利要求9所述的方法,其特征在于,所述从所述待检测文本中筛选疑似错误字符,包括:

获取所述待检测文本的从第n个字符开始的m个字符,得到至少一个第一集合;其中,n大于或等于1,并且n小于或等于l-m-1,l表示所述待检测物文本的字符的个数;

根据所述语料库中每两个字符共同出现的概率,确定所述第一集合中的m个字符共同出现的概率,得到第二概率;

基于所述第二概率,从所述第一集合中筛选所述疑似错误字符。

11.根据权利要求10所述的方法,其特征在于,所述从所述第一集合中筛选所述疑似错误字符,包括:

筛选第二概率小于第二预定值的第一集合,并从筛选得到的第一集合中获取所有的字符,得到所述疑似错误字符。

12.根据权利要求10所述的方法,其特征在于,所述语料库中每两个字符共同出现的概率具体为,其中一个字符出现在另外一个字符的后面的概率;

确定所述第二概率包括,

根据所述语料库中每两个字符共同出现的概率,确定所述第一集合中的m个字符按照第一预定顺序共同出现的概率,得到所述第二概率,其中,所述第一预定顺序用于表示所述第一集合中的m个字符在所述待检测文本中的顺序。

13.根据权利要求9所述的方法,其特征在于,从所述待检测文本中筛选疑似错误词汇,包括:

获取所述待检测文本的从第p个词汇开始的q个词汇,得到至少一个第二集合;其中,p大于或等于1,并且p小于或等于k-q-1,k表示所述待检测物文本中词汇的个数;

根据所述语料库中每两个词汇共同出现的概率,确定所述第二集合中的q个词汇共同出现的概率,得到第三概率;

基于所述第三概率,从所述第二集合中筛选所述疑似错误词汇。

14.根据权利要求13所述的方法,其特征在于,所述从所述第二集合中筛选所述疑似错误字符词汇,包括:

筛选第三概率小于第三预定值的第二集合,并从筛选得到的第二集合中获取所有的词汇,得到所述疑似错误词汇。

15.根据权利要求13所述的方法,其特征在于,所述语料库中每两个词汇共同出现的概率具体为,其中一个词汇出现在另外一个词汇的后面的概率;

确定所述第三概率包括,

根据所述语料库中每两个词汇共同出现的概率,确定所述第三集合中的q个词汇按照第二预定顺序共同出现的概率,得到所述第三概率,其中,所述第二预定顺序为所述第二集合中的q个词汇在所述待检测文本中的顺序。

16.根据权利要求9所述的方法,其特征在于,所述方法还包括:

对所述语料库中的所有文本进行预处理;

确定预处理后的语料库中每两个字符共同出现的概率;

确定预处理后的语料库中每两个词汇共同出现的概率;

基于预处理后的语料库中每两个字符共同出现的概率和每两个词汇共同出现的概率,从所述待检测文本中筛选疑似错误词汇和疑似错误字符。

17.根据权利要求16所述的方法,其特征在于,所述确定预处理后的语料库中每两个字符共同出现的概率,包括:

确定预处理后的语料库中每两个字符共同出现的频次,并根据得到的频次确定每两个字符共同出现的频率。

18.根据权利要求17所述的方法,其特征在于,所述每两个字符共同出现的频次具体为,其中的一个字符出现在另一个字符的后面的频次。

19.根据权利要求17所述的方法,其特征在于,所述方法还包括:

将预处理后的语料库中每两个字符共同出现的频次与第四预定值相加,得到更新后的每两个字符共同出现的频次。

20.根据权利要求16所述的方法,其特征在于,所述确定预处理后的语料库中每两个词汇共同出现的概率,包括:

确定预处理后的语料库中每两个词汇共同出现的频次,并根据得到的频次确定每两个词汇共同出现的频率。

21.根据权利要求20所述的方法,其特征在于,所述每两个词汇共同出现的频次具体为,其中的一个词汇出现在另一个词汇的后面的频次。

22.根据权利要求20所述的方法,其特征在于,所述方法还包括:

将预处理后的语料库中每两个词汇共同出现的频次与第五预定值相加,得到更新后的每两个词汇共同出现的频次。

23.根据权利要求16所述的方法,其特征在于,所述语料库包括至少一个文本;

所述对所述语料库中的所有文本进行预处理,包括:

在每个文本的第一个字符之前添加第一预定字符;

在每个文本的最后一个字符之后添加第二预定字符;

将每个文本中除汉字符之外的所有字符均替换为第三预定字符;

将连续的多个第三预定字符替换为一个所述第三预定字符。

24.根据权利要求23所述的方法,其特征在于,所述方法还包括:

对预处理后的文本进行分词处理,得到所述语料库的若干个词汇;

基于所述语料库的词汇,确定预处理后的语料库中每两个词汇共同出现的概率。

25.根据权利要求23或24所述的方法,其特征在于,所述方法还包括对所述待检测文本进行预处理的步骤:

在所述待检测文本的第一个字符之前添加所述第一预定字符;

在所述待检测文本的最后一个字符之后添加所述第二预定字符;

将待检测文本中除汉字符之外的所有字符均替换为第三预定字符;

将连续的多个第三预定字符替换为一个所述第三预定字符。

26.根据权利要求25所述的方法,其特征在于,所述方法还包括:

对所述待检测文本进行分词处理,得到所述待检测文本的若干个词汇;

基于所述待检测文本的词汇以及所述语料库,筛选所述疑似错误词汇。

27.一种文本检错装置,其特征在于,包括:

用户信息获取模块,用于获取生成待检测文本的用户端信息;

语料库匹配模块,用于选取与所述用户端信息匹配的语料库;所述语料库存储有多个正确的文本;

疑似错误筛选模块,用于基于存储有多个正确的文本的所述语料库,从所述待检测文本中确定目标疑似词汇;

目标错误字符筛选模块,用于基于每个目标疑似词汇出现在所述待检测文本的当前位置的概率,从所述目标疑似词汇中筛选目标错误字符。

28.根据权利要求1所述的装置,其特征在于,所述语料库匹配模块包括:

历史文本信息获取子模块,用于获取与所述用户端信息对应的历史文本信息;

语料库确定子模块,用于从获取的历史文本信息中选取正确文本,得到所述语料库。

29.根据权利要求28所述的装置,其特征在于,所述历史文本信息获取子模块具体用于:

基于所述用户端信息,确定目标用户群;

获取所述目标用户群对应的用户生成的历史文本信息。

30.根据权利要求27所述的装置,其特征在于,所述疑似错误筛选模块包括:

第一筛选子模块,用于基于存储有多个正确的文本的所述语料库,从所述待检测文本中筛选疑似错误词汇和疑似错误字符;

第二筛选子模块,用于从所述待检测文本中获取每个所述疑似错误字符所属的词汇,并从所述疑似错误字符所属的词汇中筛选属于所述疑似错误词汇的词汇,得到目标疑似词汇。

31.根据权利要求30所述的装置,其特征在于,所述目标错误字符筛选模块包括:

目标错误词汇筛选子模块,用于基于每个目标疑似词汇出现在所述待检测文本的当前位置的概率,从所述目标疑似词汇中筛选目标错误词汇;

目标错误字符筛选子模块,用于从所述目标错误词汇的所有字符中,筛选属于所述疑似错误字符的字符,得到所述目标错误字符。

32.根据权利要求31所述的装置,其特征在于,所述目标错误词汇筛选子模块具体用于确定每个目标疑似词汇出现在所述待检测文本的当前位置的概率,得到每个目标疑似词汇的第一概率,并筛选第一概率小于第一预定值的目标疑似词汇,得到所述目标错误词汇。

33.根据权利要求32所述的装置,其特征在于,所述目标错误词汇筛选子模块在确定所述第一概率时,还具体用于获取所述目标疑似词汇在所述待检测文本中的前一个词汇,得到第一词汇,获取所述目标疑似词汇在所述待检测文本中的后一个词汇,得到第二词汇,并根据所述语料库中每两个词汇共同出现的概率,确定所述目标疑似词汇、所述第一词汇以及所述第二词汇共同出现的概率,得到所述第一概率。

34.根据权利要求33所述的装置,其特征在于,所述语料库中每两个词汇共同出现的概率具体为,其中一个词汇出现在另外一个词汇的后面的概率;

所述目标错误词汇筛选子模块在确定所述第一概率时,还具体用于根据所述语料库中每两个词汇共同出现的概率,确定所述目标疑似词汇出现在所述第一词汇的后面,并且所述第二词汇出现在所述目标疑似词汇的后面的概率。

35.根据权利要求30至34任一项所述的装置,其特征在于,所述第一筛选子模块包括:

获取子模块,用于获取所述语料库和待检测文本;

疑似错误筛选子模块,用于基于所述语料库中每两个字符共同出现的概率和每两个词汇共同出现的概率,从所述待检测文本中筛选疑似错误词汇和疑似错误字符。

36.根据权利要求35所述的装置,其特征在于,所述疑似错误筛选子模块具体用于获取所述待检测文本的从第n个字符开始的m个字符,得到至少一个第一集合;根据所述语料库中每两个字符共同出现的概率,确定所述第一集合中的m个字符共同出现的概率,得到第二概率,并基于所述第二概率,从所述第一集合中筛选所述疑似错误字符;其中,n大于或等于1,并且n小于或等于l-m-1,l表示所述待检测物文本的字符的个数。

37.根据权利要求36所述的装置,其特征在于,所述疑似错误筛选子模块在从所述第一集合中筛选所述疑似错误字符时,还具体用于筛选第二概率小于第二预定值的第一集合,并从筛选得到的第一集合中获取所有的字符,得到所述疑似错误字符。

38.根据权利要求36所述的装置,其特征在于,所述语料库中每两个字符共同出现的概率具体为,其中一个字符出现在另外一个字符的后面的概率;

所述疑似错误筛选子模块在确定所述第二概率时,还具体用于根据所述语料库中每两个字符共同出现的概率,确定所述第一集合中的m个字符按照第一预定顺序共同出现的概率,得到所述第二概率,其中,所述第一预定顺序用于表示所述第一集合中的m个字符在所述待检测文本中的顺序。

39.根据权利要求35所述的装置,其特征在于,所述疑似错误筛选子模块还具体用于获取所述待检测文本的从第p个词汇开始的q个词汇,得到至少一个第二集合;根据所述语料库中每两个词汇共同出现的概率,确定所述第二集合中的q个词汇共同出现的概率,得到第三概率;并基于所述第三概率,从所述第二集合中筛选所述疑似错误词汇;其中,p大于或等于1,并且p小于或等于k-q-1,k表示所述待检测物文本中词汇的个数。

40.根据权利要求39所述的装置,其特征在于,所述疑似错误筛选子模块从所述第二集合中筛选所述疑似错误字符词汇时,还具体用于筛选第三概率小于第三预定值的第二集合,并从筛选得到的第二集合中获取所有的词汇,得到所述疑似错误词汇。

41.根据权利要求39所述的装置,其特征在于,所述语料库中每两个词汇共同出现的概率具体为,其中一个词汇出现在另外一个词汇的后面的概率;

所述疑似错误筛选子模块在确定所述第三概率时,还具体用于根据所述语料库中每两个词汇共同出现的概率,确定所述第三集合中的q个词汇按照第二预定顺序共同出现的概率,得到所述第三概率,其中,所述第二预定顺序为所述第二集合中的q个词汇在所述待检测文本中的顺序。

42.根据权利要求35所述的装置,其特征在于,所述第一筛选子模块还包括:

预处理子模块,用于对所述语料库中的所有文本进行预处理;

第一概率确定子模块,用于确定预处理后的语料库中每两个字符共同出现的概率;

第二概率确定子模块,用于确定预处理后的语料库中每两个词汇共同出现的概率;

所述疑似错误筛选子模块还用于基于预处理后的语料库中每两个字符共同出现的概率和每两个词汇共同出现的概率,从所述待检测文本中筛选疑似错误词汇和疑似错误字符。

43.根据权利要求42所述的装置,其特征在于,所述第一概率确定子模块具体用于确定预处理后的语料库中每两个字符共同出现的频次,并根据得到的频次确定每两个字符共同出现的频率。

44.根据权利要求43所述的装置,其特征在于,所述每两个字符共同出现的频次具体为,其中的一个字符出现在另一个字符的后面的频次。

45.根据权利要求43所述的装置,其特征在于,所述第一概率确定子模块还用于将预处理后的语料库中每两个字符共同出现的频次与第四预定值相加,得到更新后的每两个字符共同出现的频次。

46.根据权利要求42所述的装置,其特征在于,所述第二概率确定子模块具体用于确定预处理后的语料库中每两个词汇共同出现的频次,并根据得到的频次确定每两个词汇共同出现的频率。

47.根据权利要求46所述的装置,其特征在于,所述每两个词汇共同出现的频次具体为,其中的一个词汇出现在另一个词汇的后面的频次。

48.根据权利要求46所述的装置,其特征在于,所述第二概率确定子模块还用于将预处理后的语料库中每两个词汇共同出现的频次与第五预定值相加,得到更新后的每两个词汇共同出现的频次。

49.根据权利要求42所述的装置,其特征在于,所述语料库包括至少一个文本;

所述预处理子模块具体用于在每个文本的第一个字符之前添加第一预定字符,在每个文本的最后一个字符之后添加第二预定字符,将每个文本中除汉字符之外的所有字符均替换为第三预定字符,并将连续的多个第三预定字符替换为一个所述第三预定字符。

50.根据权利要求49所述的装置,其特征在于,所述预处理子模块还具体用于对预处理后的文本进行分词处理,得到所述语料库的若干个词汇;

所述第二概率确定子模块还用于基于所述语料库的词汇,确定预处理后的语料库中每两个词汇共同出现的概率。

51.根据权利要求49或50所述的装置,其特征在于,所述预处理子模块还用于对所述待检测文本进行预处理,所述预处理子模块还有具体用于在所述待检测文本的第一个字符之前添加所述第一预定字符,在所述待检测文本的最后一个字符之后添加所述第二预定字符将待检测文本中除汉字符之外的所有字符均替换为第三预定字符,并将连续的多个第三预定字符替换为一个所述第三预定字符。

52.根据权利要求51所述的装置,其特征在于,所述预处理子模块还用于对所述待检测文本进行分词处理,得到所述待检测文本的若干个词汇;

所述疑似错误筛选子模块还具体用于基于所述待检测文本的词汇以及所述语料库,筛选所述疑似错误词汇。

53.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至26任一所述的文本检错方法的步骤。

54.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至26任一所述的文本检错方法的步骤。

技术总结
本申请实施例提供了一种文本检错方法及装置,其中,首先获取生成待检测文本的用户端信息;之后选取与用户端信息匹配的语料库,并利用选取的语料库从待检测文本中初步筛选得到目标疑似词汇,最后基于目标疑似词汇出现在待检测文本的当前位置的概率,从目标疑似词汇中进行筛选得到最终的目标错误字符。本申请实施例基于生成待检测文本的用户端信息筛选语料库,利用筛选得到的语料库对待检测文本进行文本检错,能够增强文本检错的针对性,不仅有助于提高文本检错的准确度,而且能够提高文本检错的效率。同时,本申请实施例基于目标疑似词汇出现在待检测文本的当前位置的概率,进一步从目标疑似词汇中筛选目标错误字符,有效提高了文本检错的准确度。

技术研发人员:张占秋;李帅;王伟玮;王杰
受保护的技术使用者:北京嘀嘀无限科技发展有限公司
技术研发日:2018.11.30
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-19646.html

最新回复(0)