候选词评估方法、装置、计算机设备和存储介质与流程

文档序号:15686376发布日期:2018-10-16 21:06阅读:141来源:国知局

本发明涉及数据处理技术领域,特别是涉及候选词评估方法、装置、计算机设备和存储介质。



背景技术:

目前流行的文字处理软件,如word,wps,wordperfect等,都嵌入了英文拼写检查功能,该功能用于实现英文拼写检查,当检查到拼写错误的词时,给出提示信息,或者给出对应的纠错建议。

在实现本发明的过程中,发明人发现现有技术中存在如下问题,现有的纠错方法主要是使用词典进行检测,发现拼写错误后通过编辑距离对错词的候选词进行评估,然而这种方法过于简单和生硬,对候选词的评估结果的可靠性不够理想。



技术实现要素:

基于此,有必要针对现有方式对候选词的评估结果的可靠性不够理想的问题,提供一种候选词评估方法、装置、计算机设备和存储介质。

本发明实施例提供的方案包括:

一方面提供,一种候选词评估方法,包括:

在检测到错词时,获取错词对应的多个候选词;

确定各候选词与所述错词的编辑距离;

确定各候选词在所述错词位置的语言环境概率;

获取所述错词相对于各候选词的出错信息;

根据所述编辑距离、语言环境概率以及出错信息,确定各候选词对应的评估得分。

在其中一个实施例中,所述确定各候选词在所述错词位置的语言环境概率,包括:

根据预设的语言模型计算各候选词在所述错词位置的概率,将所述概率的log值作为候选词的语言环境概率。

在其中一个实施例中,所述根据所述编辑距离、语言环境概率以及出错信息,确定各候选词对应的评估得分,包括:

根据所述编辑距离的倒数、语言环境概率的倒数以及出错信息,确定各候选词对应的评估得分;

和/或,

所述语言模型包括n-gram模型、bilstm模型或者lstm模型。

在其中一个实施例中,所述错词相对于各候选词的出错信息中包括:所述错词与候选词是否首字母相同的信息;

所述根据所述编辑距离、语言环境概率以及出错信息,确定各候选词对应的评估得分,包括:

若错词与候选词首字母相同,则根据所述编辑距离、语言环境概率以及第一系数,计算所述候选词对应的评估得分;

若错词与候选词首字母不同,则根据所述编辑距离、语言环境概率以及第二系数,计算所述候选词对应的评估得分。

在其中一个实施例中,还包括步骤:

检测待检测词是否在预设词库中,若否,则确定所述待检测词为错词。

在其中一个实施例中,在检测出错词之后,还包括步骤:

计算所述错词与所述词库中已知词的编辑距离,选取编辑距离在设定范围内的已知词,得到所述错词对应的多个候选词。

在其中一个实施例中,还包括:

根据所述评估得分从所述多个候选词中确定出所述错词对应的纠错词,用所述纠错词校正所述错词;

和/或,

根据所述评估得分对所述多个候选词进行排序,显示排序后的所述多个候选词。

在其中一个实施例中,所述根据所述评估得分从所述多个候选词中确定出所述错词对应的纠错词,包括:

从多个候选词中确定出所述评估得分最高的候选词,作为所述错词对应的纠错词。

在其中一个实施例中,根据如下公式计算各候选词的评估得分:

其中,word表示候选词,dedit表示候选词与错词的编辑距离,表示候选词的语言环境概率,mx表示语言模型,scoreword表示候选词对应的评估得分,k表示错词相对于各候选词的出错信息,若候选词和错词首字母相同,k取值为k1,否则,k取值k2,k1、k2均为预设的数值。

又一方面提供,一种候选词评估装置,包括:

候选词获取模块,用于在检测到错词时,获取错词对应的多个候选词;

距离确定模块,用于确定各候选词与所述错词的编辑距离;

概率确定模块,用于确定各候选词在所述错词位置的语言环境概率;

出错信息获取模块,用于获取所述错词相对于各候选词的出错信息;

评估模块,用于根据所述编辑距离、语言环境概率以及出错信息,确定各候选词对应的评估得分。

在其中一个实施例中,所述错词相对于各候选词的出错信息中包括:所述错词与候选词是否首字母相同的信息;

所述评估模块包括:

第一评分子模块,用于若错词与候选词首字母相同,则根据所述编辑距离、语言环境概率以及第一系数,计算所述候选词对应的评估得分;

第二评分子模块,用于若错词与候选词首字母不同,则根据所述编辑距离、语言环境概率以及第二系数,计算所述候选词对应的评估得分。

在其中一个实施例中,还包括以下模块中的至少一个:

候选词确定模块,用于计算错词与预设词库中已知词的编辑距离,选取编辑距离在设定范围内的已知词,得到所述错词对应的多个候选词;

错词校正模块,用于根据所述评估得分从所述多个候选词中确定出所述错词对应的纠错词,用所述纠错词校正所述错词;

排序模块,用于根据所述评估得分对所述多个候选词进行排序,显示排序后的所述多个候选词。

上述候选词评估方法及装置,在检测到错词时,首先获取对应的多个候选词,分别确定各候选词与所述错词的编辑距离,以及各候选词在所述错词位置的语言环境概率,以及确定所述错词相对于各候选词的出错信息;根据所述编辑距离、语言环境概率以及出错信息,确定各候选词对应的评估得分;既考虑到了词书写的现象问题,还将上下文语言环境的信息考虑进来,由此有利于提高候选词评估结果的准确性。

又一方面提供,一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述候选词评估方法。

上述计算机设备,通过所述处理器上运行的计算机程序,有利于提高候选词评估结果的准确性。

又一方面提供,一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述候选词评估方法。

上述计算机存储介质,通过其存储的计算机程序,有利于提高候选词评估结果的准确性。

附图说明

图1为一个实施例中候选词评估方法的应用环境图;

图2为第一实施例的候选词评估方法的示意性流程图;

图3为第二实施例的候选词评估方法的示意性流程图;

图4为第三实施例的候选词评估方法的示意性流程图;

图5为第四实施例的候选词评估方法的示意性流程图;

图6为第五实施例的候选词评估方法的示意性流程图;

图7为第六实施例的候选词评估方法的示意性流程图;

图8为第七实施例的候选词评估方法的示意性流程图;

图9为第八实施例的候选词评估方法的示意性流程图;

图10为第九实施例的候选词评估方法的示意性流程图;

图11为第十实施例的候选词评估方法的示意性流程图;

图12为第十一实施例的候选词评估方法的示意性流程图;

图13为第十二实施例的候选词评估方法的示意性流程图;

图14为第十三实施例的候选词评估方法的示意性流程图;

图15为十四实施例的候选词评估装置的示意性结构图;

图16为十五实施例的候选词评估装置的示意性结构图;

图17为十六实施例的候选词评估装置的示意性结构图;

图18为十七实施例的候选词评估装置的示意性结构图;

图19为十八实施例的候选词评估装置的示意性结构图;

图20为十九实施例的候选词评估装置的示意性结构图;

图21为二十实施例的候选词评估装置的示意性结构图;

图22为二十一实施例的候选词评估装置的示意性结构图;

图23为二十二实施例的候选词评估装置的示意性结构图;

图24为二十三实施例的候选词评估装置的示意性结构图;

图25为二十四实施例的候选词评估装置的示意性结构图;

图26为二十五实施例的候选词评估装置的示意性结构图;

图27为二十六实施例的候选词评估装置的示意性结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本申请提供的候选词评估方法,可以应用于如图1所示的应用环境中。该计算机设备的内部结构图可以如图1所示,包括通过系统总线连接的处理器、存储器、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机程序被处理器执行时以实现一种候选词评估方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

该计算机设备可以是终端,包括但不限于是各种个人计算机、笔记本电脑、智能手机和智能交互平板;当为智能交互平板时,其能够检测并识别用户的书写操作,还能够对书写操作的内容进行检错,甚至,还可以自动对书写错误的词进行纠错。

本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

如图2所示,在第一实施例中,提供了一种候选词评估方法,包括以下步骤:

步骤s11,检测到错词,获取错词对应的多个候选词。

错词包括拼写错误的词或者书写错误的词,均是在相应的词库中不存在的词。

错词可以为符号、字、词语、英文单词等文本类词语。候选词可以为根据该错词确定的与该错词相似的词,即有可能是该错词对应的正确词(纠错词)。候选词可以为一个、两个、三个等,本发明实施例对候选词的个数不做限制。若确定的候选词为一个,则直接将该候选词作为纠错词。

其中,检测错词的方式可以采用多种方式实现,例如字典检测方式,本发明实施例对检测错词的方式不做限制。

步骤s12,确定各候选词与所述错词的编辑距离。

候选词与错词的编辑距离用于衡量候选词与所述错词的差别程度;可以指候选词与该错词的字母个数差别、笔画差值等。对于字符串或者英文单词来说,编辑距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数,许可的编辑操作包括将一个字符替,插入一个字符,删除一个字符。

在一实施例中,使用d[i,j]二维数组保存编辑距离的值,表示将串s[1…i]转换为串t[1…j]所需要的最少步骤,在i等于0时,也就是串s为空,那么对应的d[0,j]就是增加j个字符,使得串s转化为串t;在j等于0时,也就是串t为空,那么对应的d[i,0]就是减少i个字符,使得串s转化为串t。例如,例如kitten和sitting之间的编辑距离为3,因为至少有以下3个步骤:sitten(k→s),sittin(e→i),sitting(→g)。

例如:对于一个错词,选出词库中与其的编辑距离为1和2的所有已知词,构建这个错词的候选词集合。根据实际情况,所述候选词集合的确定还可以基于其他编辑距离条件。通过筛选错词对应的候选词,提高候选词评估结果的可靠性,同时有利于减少后续计算时间。

步骤s13,获取所述错词相对于各候选词的出错信息。

错词相对于各候选词的出错信息,用于表征错词与各候选词的区别信息。可选地,出错信息可根据用户通常书写词时的习惯确定,例如是用户特别容易漏写字符,或者特定部分最容易出错等。

在一实施例中,错词相对于各候选词的出错信息可以指错词与各候选词的首字母是否相同的信息,错词与候选词的字符数量是否相同的信息,错词与各候选词的偏旁是否相同的信息,还可以为错词中是否含有非法符号的信息等。

步骤s14,根据所述编辑距离以及出错信息,确定各候选词对应的评估得分。

通过该步骤得到的评估得分,可以反映各个候选词是错词对应的纠错词(正确词)的可能性。该步骤相当于根据候选词与错词的编辑距离信息以及出错信息,对候选词是错词对应的纠错词的可能性进行有效评估。

上述实施例的候选词评估方法,在检测到错词时,首先获取对应的多个候选词,分别确定各候选词与错词的编辑距离,以及确定错词相对于各候选词的出错信息;根据编辑距离以及出错信息,确定各候选词对应的评估得分;既考虑到了用户书写词时的习惯特征,又考虑了词与词之间的编辑距离信息,由此有利于提高候选词评估结果的可靠性。

在一实施例中,根据所述编辑距离以及出错信息,确定各候选词对应的评估得分,包括:根据编辑距离的倒数以及出错信息,确定各候选词对应的评估得分。

一般地,编辑距离越大,候选词与错词的差别程度越大,其为错词的纠错词的可能性越小,因此,通过编辑距离的倒数以及出错信息可保证候选词的评估得分的可靠性。

在一实施例中,错词相对于各候选词的出错信息中包括:错词与候选词是否首字母相同的信息。对应地,上述根据编辑距离以及出错信息,确定各候选词对应的评估得分的步骤包括:若错词与候选词首字母相同,则根据编辑距离的倒数以及第一系数,计算候选词对应的评估得分;若错词与候选词首字母不同,则根据编辑距离的倒数以及第二系数,计算候选词对应的评估得分。

例如:假设错词相对于各候选词的出错信息用k表示,编辑距离用dedit表示,候选词对应的评估分值用scoreword表示,则计算各候选词的评分的公式可为:

scoreword=k×1/dedit;

其中k值的选取根据候选词和错词是否首字母相同来选择,若候选词和错词首字母相同,k取值为k1,否则,k取值k2,k1、k2均为预设的数值。例如:相同时k取值为1,不同时k取值为0.5。

对于英文单词或者字符串,基于用户书写习惯,首字母一般不会出错,因此基于上述实施例,对各候选词是错词的纠错词的可能性进行评估,能够更合理的确定出候选词的评估得分。使得在其他条件等同的情况下,如果候选词与错词的首字母相同,则其为纠错词的可能性更大,否则,其为纠错词的可能性更小。可以理解的,其中k的取值包括但不限于上述示例的取值。

例如:已知情形是,用户在智能交互平板上书写英文词句时,将some错写成sone,上下文语言环境为ihavesoneapples;对sone对应的候选词评估的方法包括:

1、经过英文词典检测,发现sone在英文词典中不存在,确定sone为错词。

2、获取sone的候选词,假设有some、same、one,作为候选词。

3、分别确定some、same、one与sone的编辑距离,分别为:1、2、1。

4、根据公式scoreword=k×1/dedit计算每个候选词的得分:

scoresome=1×1=1;

scoresame=1×1/2=0.5;

scoreone=0.5×1=0.5。

由此可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

由此,最终得到的各候选词对应的评估得分,是综合考虑用户书写词时的习惯特征以及词与词之间的编辑距离大小得到的,相对于传统的基于编辑距离的候选词评估方法,有利于提高候选词评估结果的可靠性,保证纠错词的准确性。

如图3所示,在第二实施例中,一种候选词评估方法包括以下步骤:

步骤s21,检测到错词,获取错词对应的多个候选词。

关于该步骤的实现可参考上述实施的对应步骤s11,不作赘述。

步骤s22,确定各候选词与错词的相似度,所述相似度根据各候选词与错词的最长公共子序列和/或最长公共子串得到。

最长公共子序列是在一个序列集合中(通常为两个序列)用来查找所有序列中最长子序列的问题。一个数列,如果分别是两个或多个已知数列的子序列,且是所有符合此条件序列中最长的,则称为已知序列的最长公共子序列。

最长公共子串是在一个序列集合中(通常为两个序列)用来查找所有序列中最长子串的问题。一个子串,如果分别是两个或多个已知数列的子串,且是所有符合此条件子串中最长的,则称为已知序列的最长公共子串。

子序列的作用对象是序列,子序列有序但不一定连续。例如:序列x=<b,c,d,b>是序列y=<a,b,c,b,d,a,b>的子序列,对应的下标序列为<2,3,5,7>。子串的作用象是字符串,子串有序且连续。例如:字符串a=abcd是字符串c=aaabcdddd的子串;但是字符串b=acdddd就不是字符串c的子串。

通过最长公共子序列和/或最长公共子串,均能在一定程度上反映候选词与错词之间相同字符的数量多寡,基于此对确定候选词与错词之间的相似度具有实际物理意义。

步骤s23,获取所述错词相对于各候选词的出错信息。

关于该步骤的实现方式,可参照上述第一实施例的说明。

步骤s24,根据所述相似度以及出错信息,确定各候选词对应的评估得分。

通过该步骤得到的候选词评估得分,可以反映各个候选词是错词对应的纠错词的可能性。

上述实施例的候选词评估方法,在检测到错词时,首先获取对应的多个候选词,分别确定各候选词与错词的相似度,所述相似度根据各候选词与错词的最长公共子序列和/或最长公共子串得到,以及确定错词相对于各候选词的出错信息;根据相似度以及出错信息,确定各候选词对应的评估得分;综合考虑了用户书写词时的习惯特征以及词与词之间的相似度,由此有利于提高候选词评估结果的可靠性。

在一个实施例中,上述实施中确定各候选词与错词的相似度的步骤具体可以为:根据各候选词与所述错词的最长公共子序列率、最长公共子串率中的至少一个,计算各候选词与所述错词的相似度。

最长公共子序列的长度除以序列集合中序列总长度的均值即为最长公共子序列率,可记为dlsc1。最长公共子串的长度除以序列集合中序列总长度的均值即为最长公共子串率,可记为dlsc2。例如:计算最长公共子序列率和最长公共子串率的具体过程可以为:对于序列集合{dbcabca,cbaba},其最长公共子序列是baba,最长公共子序列的长度为4,则最长公共子序列率为4/((7+5)/2)=0.67;对于序列集合{babca,cbaba},其最长公共子串是bab,最长公共子串的长度为3,则最长公共子串率为3/((5+5)/2)=0.6。

最长公共子序列率以及最长公共子串率不仅考虑候选词与错词之间的相同字符的多寡,还进一步考虑相同字符所占的比例,有利于进一步提高候选词与错词之间相似度的准确性。

可选地,若最长公共子序列率用dlsc1表示,最长公共子串率用dlsc2表示,各候选词与所述错词的相似度用s表示,计算各候选词与所述错词的相似度的方式为:

s=w1dlcs1;

s=w2dlcs2;

s=w1dlcs1+w2dlcs2。

其中,w1、w2为预设的权重系数,且两者之和为1。

通过最长公共子序列率以及最长公共子串率的加权求和,确定候选词与所述错词的相似度,能得到较为准确的相似度。一般情况下,最长公共子序列率dlsc1对两个词的相似度影响更大,故最长公共子序列率dlsc1的权值系数大于最长公共子串率dlsc2的权值系数,例如:

s=0.7dlcs1+0.3dlcs2。

在另一个实施例中,确定各候选词与错词的相似度的步骤还可以为:根据各候选词与错词的最长公共子序列率、最长公共子串率中的至少一个,以及各候选词与错词的编辑距离,计算各候选词与错词的相似度。

可选地,计算各候选词与错词的相似度的方式可包括:

s=1/dedit+w1dlcs1;

或者,s=1/dedit+w2dlcs2;

或者,s=1/dedit+w1dlcs1+w2dlcs2

具体例如:

s=1/dedit+0.7dlcs1;

或者,s=1/dedit+0.3dlcs2;

或者,s=1/dedit+0.7dlcs1+0.3dlcs2

其中,dedit是编辑距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数,许可的编辑操作包括将一个字符替,插入一个字符,删除一个字符。一般来说,编辑距离越小,两个串的近似度越大。

由此可结合词与词之间的编辑距离以及相同字符数量,确定两个词之间的相似度,并且通过增加编辑距离这一个评估维度,有利于提高相似度计算的有效性。

可以理解,上述公式中最长公共子序列率dlsc1、最长公共子串率dlsc2之前的权重系数还以取其他数值,包括但不限于以上示例。

在一实施例中,错词相对于各候选词的出错信息中包括:错词与候选词是否首字母相同的信息。对应地,上述的根据所述编辑距离以及出错信息,确定各候选词对应的评估得分的步骤包括:若错词与候选词首字母相同,则根据相似度以及第一系数,计算候选词对应的评估得分;若错词与候选词首字母不同,则根据相似度以及第二系数,计算候选词对应的评估得分。

可选地,假设相似度为s,错词相对于各候选词的出错信息用k表示,计算各候选词的评分的公式可为:

scoreword=k×s;

其中k值的选取根据候选词和错词是否首字母相同来选择,若候选词和错词首字母相同,k取值为k1,否则,k取值k2,k1、k2均为预设的数值。例如:相同时k取值为1,不同时k取值为0.5。

对于英文单词或者字符串,基于用户书写习惯,首字母一般不会出错,因此通过上述实施例,对各候选词是错词的纠错词的可能性进行评估,能够更合理的确定出候选词的评估得分。使得在其他条件等同的情况下,如果候选词与错词的首字母相同,则其为纠错词的可能性更大,否则,其为纠错词的可能性更小。可以理解的,其中k的取值包括但不限于上述示例的取值。

例如:已知情形是,用户在智能交互平板上书写英文词句时,将some错写成sone,上下文语言环境为ihavesoneapples;对sone对应的候选词评估的方法包括:

1、经过英文词典检测,发现sone在英文词典中不存在,确定sone为错词。

2、获取英文词典中与sone的编辑距离为1和2的词,假设有some、same、one,作为候选词。

3、分别确定some、same、one与sone的最长公共子序列率和最长公共子串率,并计算每个候选词对应的相似度如下:

候选词some与错词sone的最长公共子序列为soe,最长公共子序列的长度为3,最长公共子序列率为3/((4+4)/2)=0.75;最长公共子串为so,最长公共子串的长度为2,最长公共子串率为2/((4+4)/2)=0.5;

候选词same与错词sone的最长公共子序列为se,最长公共子序列的长度为2,最长公共子序列率为2/((4+4)/2)=0.5;最长公共子串为s或e,最长公共子串的长度为1,最长公共子串率为1/((4+4)/2)=0.25;

候选词one与错词sone的最长公共子序列为one,最长公共子序列的长度为3,最长公共子序列率为3/((3+4)/2)=0.86;最长公共子串为one,最长公共子串的长度为3,最长公共子串率为3/((3+4)/2)=0.86;

按照公式s=1/dedit+0.7dlcs1+0.3dlcs2,计算各候选词与错词的相似度s如下:

some:1+0.7×0.75+0.3×0.5=1.675;

same:1/2+0.7×0.5+0.3×0.25=0.925;

one:1+0.7×0.86+0.3×0.86=1.86。

4、根据公式scoreword=k×s计算每个候选词的评估得分:

scoresome=1×1.675=1.675;

scoresame=1×0.925=0.925;

scoreone=0.5×1.86=0.93。

由此可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

基于上述实施例的候选词评估方法,各候选词对应的评估得分与其相对错词的相似度成正相关的关系,同时还受到其与错词的首字母区别信息的影响,最终得到的各候选词对应的评估得分,是综合考虑用户书写词时的习惯特征以及词与词之间的相似度信息后得到的,相对于传统的基于编辑距离的候选词评估方法,有利于提高候选词评估结果的可靠性。

如图4所示,在第三实施例中,提供了一种候选词评估方法,包括以下步骤:

步骤s31,检测到错词,获取错词对应的多个候选词。

关于该步骤的实现可参考上述实施的对应步骤s11,不作赘述。

步骤s32,确定各候选词在所述错词位置的语言环境概率。

候选词在错词位置的语言环境概率指的是用候选词替换该错词时,该候选词相对于对应的上下文合理性,上下文合理性越高的候选词对应的语言环境概率越高。

在一实施例中,根据预设的语言模型计算各候选词在所述错词位置的概率,将该概率的log值作为所述候选词的语言环境概率。

步骤s33,获取所述错词相对于各候选词的出错信息。

关于该步骤的实现方式,可参照上述第一实施例的说明。

步骤s34,根据所述语言环境概率以及出错信息,确定各候选词对应的评估得分。

通过该步骤得到的评估得分,可以反映各个候选词是错词对应的纠错词(正确词)的可能性。

上述实施例的候选词评估方法,在检测到错词时,获取对应的多个候选词,分别确定各候选词在所述错词位置的概率,以及确定所述错词相对于各候选词的出错信息;根据所述语言环境概率以及出错信息,确定各候选词对应的评估得分;既考虑到了用户书写词时的习惯问题,还将上下文语言环境的信息考虑进来,由此有利于提高候选词评估结果的可靠性。

在一个实施例中,确定各候选词在所述错词位置的语言环境概率的语言模型包括但不限于n-gram模型、bilstm模型或者lstm模型。

其中,n-gram模型是一种统计语言模型,用来根据前(n-1)个item来预测第n个item。在应用层面,这些item可以是音素(语音识别应用)、字符(输入法应用)、词(分词应用)或碱基对(基因信息)。n-gram模型的思想:给定一串字母,如”forex”,下一个最大可能性出现的字母是什么。从训练语料数据中,可以通过极大似然估计的方法,得到n个概率分布:是a的概率是0.4,是b的概率是0.0001,是c的概率是…,当然,需满足约束条件:所有的n个概率分布的总和为1。

长短记忆神经网络模型,通常称作lstm模型,是一种特殊的循环神经网络;可以通过输入的字符级序列来预测下一个可能出现的字符。

双向长短期记忆网络模型,通常称作bilstm模型,它与lstm模型的结构一样,所不同的是,bilstm模型不仅与过去的状态有连接,而且与未来的状态也有连接。比如,通过一个一个地输入字母,训练单向的lstm预测“鱼(fish)”(在时间轴上的循环连接记住了过去的状态值),在bilstm的反馈通路输入序列中的下一个字母,这使得它可以了解未来的信息是什么。这种形式的训练使得该网络可以填充信息之间的空白,而不是预测信息。

在一个实施例中,当语言环境概率通过各候选词在所述错词位置的概率的log值表示时,则可根据所述语言环境概率的倒数以及出错信息,确定各候选词对应的评估得分。由此,各候选词对应的评估得分与其对应的概率log值成反向关系,同时还受到其与错词的区别信息的影响。即最终得到的各候选词的评估得分,是综合考虑用户书写词时的习惯问题以及语言环境信息后得到的,相对于传统的候选词评估方法,有利于提高候选词评估的可靠性。

在一个实施例中,错词相对于各候选词的出错信息中包括:所述错词与候选词是否首字母相同的信息。对应地,所述根据所述语言环境概率以及出错信息,确定各候选词对应的评估得分的步骤包括:若错词与候选词首字母相同,则根据所述语言环境概率以及第一系数,计算所述候选词对应的评估得分;若错词与候选词首字母不同,则根据所述语言环境概率以及第二系数,计算所述候选词对应的评估得分。

基于上述任一实施例,若候选词在错词位置的语言环境概率用表示,word表示候选词,mx表示语言模型,则根据如下公式计算各候选词的评估得分:

其中,若候选词和错词首字母相同,k取值为k1,否则,k取值k2,k1、k2均为预设的数值。

例如:假设通过n-gram语言模型确定出的语言环境概率为计算各候选词的评分的公式可为:

假设通过bilstm模型、lstm模型确定出的语言环境概率分别表示为则计算各候选词的评分的公式可分别为:

其中k值的选取根据候选词和错词是否首字母相同来选择,相同时k取值为1,不同时k取值为0.5。可以理解的,k的取值包括但不限于上述示例的取值。

对于英文单词或者字符串,基于用户书写习惯,首字母一般不会出错,因此通过上述实施例,对各候选词是错词的纠错词的可能性进行评估,能够更合理的确定出候选词的评估得分。使得在其他条件等同的情况下,如果候选词与错词的首字母相同,则其为纠错词的可能性更大,否则,其为纠错词的可能性更小。

例如,已知情形是,用户在智能交互平板上书写英文词句时,将some错写成sone,上下文语言环境为ihavesoneapples。

对于n-gram模型,n-gram模型中n取值3:

1、经过英文词典检测,发现sone在英文词典中不存在,确定sone为错词。

2、获取英文词典中与sone的编辑距离为1和2的词,假设有some、same、son、one,作为候选词。

3、分别将some、same、son、one替换ihavesoneapples中的sone,根据n-gram模型计算各候选词对应的得到每个候选词的语言环境概率如下:

其中,p(i,have,some)=c(i,have,some)/c(3-gram),c代表计数,即语料中i,have,some这样的3元组计数(个数)除以所有3元组的计数;

其中,p(have|i)=c(have,i)/c(i),即语料中have,i的这样的2元组计数除以所有i的计数;

其中,p(i)=c(i)/c(1-gram),即语料中i的这样的1元组计数除以所有1元组的计数。

4、根据公式计算每个候选词的评估得分:

scoresome=-1×1/-5.7=0.175;

scoresame=-1×1/-6=0.167;

scoreson=-1×1/-6=0.167;

scoreone=-0.5×1/-4.8=0.104。

由此可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

在另一实施例中,对于bilstm模型来说,上述步骤1和步骤2相同;步骤3替换为:分别将some、same、son、one替换ihavesoneapples中的sone,计算各候选词对应的语言环境概率每个候选词计算如下:

步骤4替换为:

根据公式计算每个候选词的评估得分:

scoresome=-1×1/-4.9=0.204;

scoresame=-1×1/-5.07=0.197;

scoreson=-1×1/-7.6=0.132;

scoreone=-0.5×1/-4.66=0.107。

同样可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

在另一实施例中,对于lstm模型来说,上述步骤1和步骤2相同;步骤3替换为:分别将some、same、son、one替换ihavesoneapples中的sone,计算各候选词对应的语言环境概率每个候选词计算如下:

步骤4替换为:

根据公式计算每个候选词的评估得分:

scoresome=-1×1/-5.6=0.179;

scoresame=-1×1/-6.3=0.159;

scoreson=-1×1/-6=0.116;

scoreone=-0.5×1/-5.1=0.098。

同样可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

通过上述三种语言模型下的候选词评估得分计算,既考虑到了用户书写词时的习惯问题,还考虑了语言环境信息,由此能确定出更有效的评估错词的候选词,提高纠错的准确性。

如图5所示,在第四实施例中,提供了一种候选词评估方法,包括以下步骤:

步骤s41,检测到错词,获取错词对应的多个候选词。

该步骤的具体实现方式参照上述实施例的步骤s11,不作赘述。

步骤s42,分别用各候选词替换所述错词,得到候选语句,根据所述候选语句确定对应候选词的评估概率,所述评估概率根据候选语句中候选词的语言环境概率、以及候选词的临近词的语言环境概率得出。

分别用各候选词替换错词得到对应的候选语句,该候选语句中可包含多个词,其中一个为候选词。词在语句中各词在其对应位置的语言环境概率指的是,该词相对于对应的上下文合理性,上下文合理性越高,词对应的语言环境概率越高。

在一实施例中,候选词的临近词可以是一个或者多个,并且,既可以包括候选词直接临近词,也可以包括候选词的间隔临近词。可根据预设的语言模型计算候选语句中候选词、候选词的临近词各自在其位置的概率,将所述概率的log值作为对应词的语言环境概率;进而对候选语句中候选词的语言环境概率、候选词的临近词的语言环境概率求平均,得到所述候选语句中候选词的评估概率。其中候选词的语言环境概率、候选词的临近词的语言环境概率的均值,既可以是绝对平均值,也可以是加权平均值。

步骤s43,获取所述错词相对于各候选词的出错信息。

关于该步骤的实现方式,可参照上述第一实施例的说明。

步骤s44,根据所述评估概率以及出错信息,确定各候选词对应的评估得分。

通过该步骤得到的评估得分,可以反映各个候选词是错词对应的纠错词的可能性。

上述实施例的候选词评估方法,在检测到错词时,首先获取对应的多个候选词,分别确定各候选词对应的评估概率,以及确定所述错词相对于各候选词的出错信息;根据所述评估概率以及出错信息,确定各候选词对应的评估得分;既考虑到了用户书写词时的习惯问题,还将上下文语言环境的信息考虑进来,由此有利于提高候选词评估结果的可靠性。

在一个实施例中,计算候选语句中候选词、候选词的临近词各自在其位置的概的语言模型包括但不限于n-gram模型、bilstm模型或者lstm模型。各语言模型的说明可参见第三实施例的描述。

在一个实施例中,各词的语言环境概率用各词在其位置的概率的log值表示,基于此得到候选词的评估概率,进一步地,可根据候选词的评估概率的倒数以及出错信息,确定各候选词对应的评估得分。

例如:若候选词的评估概率用表示,错词相对于各候选词的出错信息用k表示,候选词对应的评估分值用scoreword表示,则可根据如下公式计算各候选词的评估得分:

其中,若候选词和错词首字母相同,k取值为k1,否则,k取值k2;k1、k2均为预设的数值。

由此,各候选词对应的评估得分与其对应的评估概率成反向关系,同时还受到其与错词的首字母信息的影响。即最终得到的各候选词对应的评估得分,是综合考虑用户书写词时的习惯问题以及上下文信息后得到的,相对于传统的依靠编辑距离评估候选词的方法,提高了候选词评估结果的可靠性。

在一个实施例中,所述错词相对于各候选词的出错信息中包括:所述错词与候选词是否首字母相同的信息。对应地,所述根据所述评估概率以及出错信息,确定各候选词对应的评估得分的步骤包括:若错词与候选词首字母相同,则根据所述评估概率以及第一系数,计算所述候选词对应的评估得分;若错词与候选词首字母不同,则根据所述评估概率以及第二系数,计算所述候选词对应的评估得分。

可选地:假设通过n-gram语言模型确定出的评估概率用则计算各候选词的评分的公式可为:

其中,k值的选取根据候选词和错词是否首字母相同来选择,相同时k取值为1,不同时k取值为0.5。可以理解的,k的取值包括但不限于上述示例的取值。

对于英文单词或者字符串,基于用户书写习惯,首字母一般不会出错,因此基于上述实施例,对各候选词是错词的纠错词的可能性进行评估,能够更合理的确定出候选词的评估得分。使得在其他条件等同的情况下,如果候选词与错词的首字母相同,则其为纠错词的可能性更大,否则,其为纠错词的可能性更小。

例如:已知情形是,用户在智能交互平板上书写英文词句时,将some错写成sone,上下文语言环境为ihavesoneapples。

1、经过英文词典检测,发现sone在英文词典中不存在,确定sone为错词。

2、获取英文词典中与sone的编辑距离为1和2的词,假设有some、same、son、one,作为候选词。

3、分别将some、same、son、one替换ihavesoneapples中的sone;得到:

候选语句一:ihavesomeapples;

候选语句二:ihavesameapples;

候选语句三:ihavesonapples;

候选语句四:ihaveoneapples。

基于n-gram模型,n-gram模型中n取值3,候选语句一中候选词some对应的临近词为apples,候选语句二中候选词same对应的临近词为apples,候选语句三中候选词son对应的临近词为apples,候选语句四中候选词one对应的临近词为apples;基于此计算各候选语句中候选词对应的评估概率如下:

4、根据公式计算每个候选词的评估得分:

scoresome=-1×1/-5.6=0.179;

scoresame=-1×1/-6.35=0.157;

scoreson=-1×1/-7.58=0.132;

scoreone=-0.5×1/-5.26=0.095。

由此可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

在另一实施例中,对于bilstm模型来说,候选语句一中候选词some对应的临近词为i、have以及apples,候选语句二中候选词same对应的临近词为i、have以及apples,候选语句三中候选词son对应的临近词为i、have以及apples,候选语句四中候选词one对应的临近词为i、have以及apples;基于此计算各候选语句中候选词对应的评估概率如下:

步骤4替换为:

根据公式计算每个候选词的评估得分:

scoresome=-1×1/-2.88=0.347;

scoresame=-1×1/-3.62=0.276;

scoreson=-1×1/-4.1=0.244;

scoreone=-0.5×1/-2.62=0.191。

同样可得,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

在另一实施例中,对于lstm模型来说,候选语句一中候选词some对应的临近词为i、have以及apples,候选语句二中候选词same对应的临近词为i、have以及apples,候选语句三中候选词son对应的临近词为i、have以及apples,候选语句四中候选词one对应的临近词为i、have以及apples;基于此计算各候选语句中候选词对应的评估概率如下:

步骤4替换为:

根据公式计算每个候选词的评估得分:

scoresome=-1×1/-3.175=0.315;

scoresame=-1×1/-3.75=0.267;

scoreson=-1×1/-4.6=0.217;

scoreone=-0.5×1/-3.45=0.145。

同样可得,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

通过上述三种语言模型下的候选词评估,既考虑到了用户书写词时的习惯问题,还将语言环境的评估信息加入进来,由此提高了候选词评估的可靠性。

如图6所示,在第五实施例中,提供了一种候选词评估方法,包括以下步骤:

步骤s51,在检测到错词时,获取错词对应的多个候选词。

关于该步骤的实现方式,参照上述第一实施例的步骤s11,不作赘述。

步骤s52,确定各候选词与所述错词的编辑距离。

关于该步骤的实现方式,可参照第一实施例的说明。

步骤s53,分别用各候选词替换所述错词,得到候选语句,根据所述候选语句确定对应候选词的评估概率,所述评估概率根据候选语句中候选词的语言环境概率、以及候选词的临近词的语言环境概率得出。

关于该步骤的实现方式,可参照第四实施例的说明。

步骤s54,根据所述编辑距离以及评估概率,确定各候选词的评估得分。

通过该步骤得到的评估得分,可以表征各个候选词是错词对应的纠错词(正确词)的可能性。

通过上述实施例的候选词评估方法,在检测到错词时,获取错词对应的多个候选词;根据候选词与错词的编辑距离以及上下文语言环境信息,综合评估候选词为错词对应的纠错词的可能性,相对于传统的仅依赖编辑距离的候选词评估方法,提高了候选词评估的可靠性。

在一个实施例中,根据预设的语言模型计算候选语句中候选词、候选词的临近词各自在其位置的概率,将该概率的log值作为各词的语言环境概率;进一步地,对候选语句中候选词的语言环境概率、候选词的临近词的语言环境概率求平均,得到所述候选语句中候选词的评估概率。

其中,语言模型包括但不限于n-gram模型、bilstm模型或者lstm模型。各语言模型可参见上述第三实施例的说明。

在一个实施例中,各词的语言环境概率用各词在其位置的概率的log值表示,基于此得到候选词的评估概率,进一步地,可根据所述编辑距离的倒数以及评估概率的倒数,确定各候选词对应的评估得分。

例如:可根据如下公式计算各候选词的评估得分:

其中,dedit表示候选词与错词的编辑距离,word表示候选词,表示候选词的评估概率,scoreword表示候选词对应的评估得分。

由此,各候选词对应的评估得分与其对应的评估概率成反向关系,同时还受到其与错词的首字母信息的影响。即最终得到的各候选词对应的评估得分,是综合考虑书写词时的现象特征以及上下文信息后得到的,相对于传统的依靠编辑距离评估候选词的方法,提高了候选词的评估可靠性。

例如:已知情形是,用户在智能交互平板上书写英文词句时,将some错写成sone,上下文语言环境为ihavesoneapples;对sone对应的候选词评估的方法包括:

1、经过英文词典检测,发现sone在英文词典中不存在,确定sone为错词。

2、获取sone的候选词,假设有some、same、one、son,作为候选词。

3、分别确定some、same、one、son与sone的编辑距离,分别为:1、2、1、1。

4、分别将some、same、son、one替换ihavesoneapples中的sone;得到:

候选语句一:ihavesomeapples;

候选语句二:ihavesameapples;

候选语句三:ihavesonapples;

候选语句四:ihaveoneapples;

基于n-gram模型,n-gram模型中n取值3,候选语句一中候选词some对应的临近词为apples,候选语句二中候选词same对应的临近词为apples,候选语句三中候选词son对应的临近词为apples,候选语句四中候选词one对应的临近词为apples;基于此计算各候选语句中候选词对应的评估概率如下:

5、根据公式计算每个候选词的评估得分:

scoresome=-1×1/-5.6=0.179;

scoresame=-12×1/-6.35=0.0787;

scoreson=-1×1/-7.58=0.132;

scoreone=-1×1/-5.26=0.19。

由此可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

在另一实施例中,对于bilstm模型来说,候选语句一中候选词some对应的临近词为i、have以及apples,候选语句二中候选词same对应的临近词为i、have以及apples,候选语句三中候选词son对应的临近词为i、have以及apples,候选语句四中候选词one对应的临近词为i、have以及apples;基于此计算各候选语句中候选词对应的评估概率如下:

步骤4替换为:

根据公式计算每个候选词的评估得分:

scoresome=-1×1-2.88=0.347;

scoresame=-12×1-3.62=0.138;

scoreson=-1×1-4.1=0.244;

scoreone=-1×1-2.62=0.382。

同样得到,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

在另一实施例中,对于lstm模型来说,候选语句一中候选词some对应的临近词为i、have以及apples,候选语句二中候选词same对应的临近词为i、have以及apples,候选语句三中候选词son对应的临近词为i、have以及apples,候选语句四中候选词one对应的临近词为i、have以及apples;基于此计算各候选语句中候选词对应的评估概率如下:

步骤4替换为:

根据公式计算每个候选词的评估得分:

scoresome=-1×1/-3.175=0.315;

scoresame=-1/2×1/-3.75=0.1335;

scoreson=-1×1/-4.6=0.217;

scoreone=-1×1/-3.45=0.29。

同样得出,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

由此,通过上述三种语言模型最终得到的各候选词对应的评估得分,综合考虑到了上下文语言环境信息以及编辑距离信息,由此提高候选词评估的可靠性。

如图7所示,在第六实施例中,提供了一种候选词评估方法,包括以下步骤:

步骤s61,在检测到错词时,获取错词对应的多个候选词。

关于该步骤的实现方式,参照上述第一实施例的步骤s11,不作赘述。

步骤s62,确定各候选词与错词的相似度,所述相似度根据各候选词与错词的最长公共子序列和/或最长公共子串得到。

关于该步骤的实现方式,参照上述第二实施例的说明,不作赘述。

步骤s63,分别用各候选词替换所述错词,得到候选语句,根据所述候选语句确定对应候选词的评估概率,所述评估概率根据候选语句中候选词的语言环境概率、以及候选词的临近词的语言环境概率得出。

关于该步骤的实现方式,参照上述第四实施例的说明,不作赘述。

步骤s64,根据所述相似度以及评估概率,确定各候选词的评估得分。

通过该步骤得到的评估得分,可以表征各个候选词是错词对应的纠错词(正确词)的可能性。

通过上述实施例的候选词评估方法,在检测到错词时,获取错词对应的多个候选词;根据候选词与错词的相似度以及上下文语言环境信息,综合评估候选词为错词对应的纠错词的可能性,相对于传统的仅依赖编辑距离的候选词评估方法,提高了候选词评估结果的可靠性。

在一个实施例中,根据预设的语言模型计算候选语句中候选词、候选词的临近词各自在其位置的概率,将该概率的log值作为各词的语言环境概率;进一步地,对候选语句中候选词的语言环境概率、候选词的临近词的语言环境概率求平均,得到所述候选语句中候选词的评估概率。其中,语言模型包括但不限于n-gram模型、bilstm模型或者lstm模型。各语言模型的情况可参见上述实施例所述。

在一个实施例中,各词的语言环境概率用各词在其位置的概率的log值表示,基于此得到候选词的评估概率,进一步地,可根据评估概率的倒数以及相似度,确定各候选词对应的评估得分。

可选地,根据如下公式计算各候选词的评估得分:

其中,word表示候选词,scoreword表示候选词对应的评估得分表示候选词的评估概率,mx表示语言模型,s表示候选词与所述错词的相似度。

由此,各候选词对应的评估得分与其对应的评估概率成反向关系,同时还受到其与错词的相似度的影响。即最终得到的各候选词对应的评估得分,是综合相似度以及上下文信息后得到的,相对于传统的依靠编辑距离评估候选词的方法,提高了候选词的评估可靠性。

例如:已知情形是,用户在智能交互平板上书写英文词句时,将some错写成sone,上下文语言环境为ihavesoneapples;对sone对应的候选词评估的方法包括:

1、经过英文词典检测,发现sone在英文词典中不存在,确定sone为错词。

2、获取sone的候选词,假设有some、same、son,作为候选词。

3、分别确定some、same、son与sone的最长公共子序列率和最长公共子串率,并计算每个候选词对应的相似度如下:

候选词some与错词sone的最长公共子序列为soe,最长公共子序列的长度为3,最长公共子序列率为3/((4+4)/2)=0.75;最长公共子串为so,最长公共子串的长度为2,最长公共子串率为2/((4+4)/2)=0.5;

候选词same与错词sone的最长公共子序列为se,最长公共子序列的长度为2,最长公共子序列率为2/((4+4)/2)=0.5;最长公共子串为s或e,最长公共子串的长度为1,最长公共子串率为1/((4+4)/2)=0.25;

候选词son与错词sone的最长公共子序列为son,最长公共子序列的长度为3,最长公共子序列率为3/((3+4)/2)=0.86;最长公共子串为son,最长公共子串的长度为3,最长公共子串率为3/((3+4)/2)=0.86。

按照公式s=1/dedit+0.7dlcs1+0.3dlcs2,计算各候选词与错词的相似度s如下:

some:1+0.7×0.75+0.3×0.5=1.675;

same:1/2+0.7×0.5+0.3×0.25=0.925;

son:1+0.7×0.86+0.3×0.86=1.86。

4、分别将some、same、son替换ihavesoneapples中的sone;得到:

候选语句一:ihavesomeapples;

候选语句二:ihavesameapples;

候选语句三:ihavesonapples。

基于n-gram模型,n-gram模型中n取值3,候选语句一中候选词some对应的临近词为apples,候选语句二中候选词same对应的临近词为apples,候选语句三中候选词son对应的临近词为apples;基于此计算各候选语句中候选词对应的评估概率如下:

其中,p(i,have,some)=c(i,have,some)/c(3-gram),c代表计数,即语料中i,have,some这样的3元组计数(个数)除以所有3元组的计数;

其中,p(have|i)=c(have,i)/c(i),即语料中have,i这样的2元组计数除以所有i的计数;

其中,p(i)=c(i)/c(1-gram),即语料中i这样的1元组计数除以所有1元组的计数。

5、根据公式计算每个候选词的评估得分:

scoresome=-1.675×1/-5.6=0.299;

scoresame=-0.925×1/-6.35=0.146;

scoreson=-1.86×1/-7.58=0.245。

由此可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

在另一实施例中,对于bilstm模型来说,候选语句一中候选词some对应的临近词为i、have以及apples,候选语句二中候选词same对应的临近词为i、have以及apples,候选语句三中候选词son对应的临近词为i、have以及apples;基于此计算各候选语句中候选词对应的评估概率如下:

步骤5替换为:

根据公式计算每个候选词的评估得分:

scoresome=-1.675×1/-2.88=0.582;

scoresame=-0.925×1/-3.62=0.256;

scoreson=-1.86×1/-4.1=0.454。

同样可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

在另一实施例中,对于lstm模型来说,候选语句一中候选词some对应的临近词为i、have以及apples,候选语句二中候选词same对应的临近词为i、have以及apples,候选语句三中候选词son对应的临近词为i、have以及apples;基于此计算各候选语句中候选词对应的评估概率如下:

步骤5替换为:

根据公式计算每个候选词的评估得分:

scoresome=-1.675×1/-3.175=0.528;

scoresame=-0.925×1/-3.75=0.247;

scoreson=-1.86×1/-4.6=0.404。

同样可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

由此,通过上述三种语言模型最终得到的各候选词对应的评估得分,综合考虑到了上下文语言环境信息以及词与词之间的相似度信息,由此提高候选词评估的可靠性。

如图8所示,在第七实施例中,提供了一种候选词评估方法,包括以下步骤:

步骤s71,在检测到错词时,获取错词对应的多个候选词。

关于该步骤的实现方式,可参照第一实施例的步骤s11的说明。

步骤s72,确定各候选词与所述错词的编辑距离。

关于该步骤的实现方式,可参照第一实施例的说明。

步骤s73,确定各候选词在所述错词位置的语言环境概率。

关于该步骤的实现方式,可参照第三实施例的说明。

步骤s74,获取所述错词相对于各候选词的出错信息。

该步骤的具体实现可参照上述第一实施例的说明。

步骤s75,根据所述编辑距离、语言环境概率以及出错信息,确定各候选词对应的评估得分。

通过该步骤得到的评估得分,可以反映各个候选词是错词对应的纠错词(正确词)的可能性。

上述实施例的候选词评估方法,在检测到错词时,首先获取对应的多个候选词,分别确定各候选词与所述错词的编辑距离,以及各候选词在所述错词位置的概率,以及确定所述错词相对于各候选词的出错信息;根据所述编辑距离、语言环境概率以及出错信息,确定各候选词对应的评估得分;既考虑到了编辑距离以及用户书写词时的习惯问题,还将上下文语言环境的信息考虑进来,由此有利于提高候选词评估结果的可靠性。

在一个实施例中,确定各候选词在所述错词位置的语言环境概率的语言模型包括但不限于n-gram模型、bilstm模型或者lstm模型。其中,各模型的说明参照上述相关实施例的描述。

在一个实施例中,当语言环境概率通过各候选词在所述错词位置的概率的log值表示时,则可根据所述编辑距离的倒数、语言环境概率的倒数以及出错信息,确定各候选词对应的评估得分。

由此,各候选词对应的评估得分与其相对错词的编辑距离成反向关系,与其对应的语言环境概率成反向关系,同时还受到其与错词的出错信息的影响。即最终得到的各候选词的评估得分,是综合考虑用户书写词时的习惯问题、编辑距离以及语言环境信息后得到的,相对于传统的候选词评估方法,有利于提高候选词的评估可靠性。

在其中一个实施例中,错词相对于各候选词的出错信息中包括:所述错词与候选词是否首字母相同的信息。对应地,所述根据所述编辑距离、语言环境概率以及出错信息,确定各候选词对应的评估得分的步骤包括:若错词与候选词首字母相同,则根据所述编辑距离、语言环境概率以及第一系数,计算所述候选词对应的评估得分;若错词与候选词首字母不同,则根据所述编辑距离、语言环境概率以及第二系数,计算所述候选词对应的评估得分。

可选地,根据如下公式计算各候选词的评估得分:

其中,word表示候选词,dedit表示候选词与所述错词的编辑距离,表示候选词的语言环境概率,mx表示语言模型,scoreword表示候选词对应的评估得分,k表示错词相对于各候选词的出错信息,若候选词和错词首字母相同,k取值为k1,否则,k取值k2,k1、k2均为预设的数值。

例如:假设通过n-gram语言模型确定出的语言环境概率为则计算各候选词的评分的公式可为:

其中k值的选取根据候选词和错词是否首字母相同来选择,相同时k取值为1,不同时k取值为0.5。可以理解的,k的取值包括但不限于上述示例的取值。

对于英文单词或者字符串,基于用户书写习惯,首字母一般不会出错,因此基于上述实施例,对各候选词是错词的纠错词的可能性进行评估,能够更合理的确定出候选词的评估得分。使得在其他条件等同的情况下,如果候选词与错词的首字母相同,则其为纠错词的可能性更大,否则,其为纠错词的可能性更小。

例如,已知情形是,用户在智能交互平板上书写英文词句时,将some错写成sone,上下文语言环境为ihavesoneapples。

1、经过英文词典检测,发现sone在英文词典中不存在,确定sone为错词。

2、获取英文词典中与sone的编辑距离为1和2的词,假设有some、same、son、one,作为候选词。

3、分别将some、same、son、one替换ihavesoneapples中的sone,根据n-gram模型计算各候选词对应的n-gram模型中n取值3,得到每个候选词的语言环境概率如下:

其中,p(i,have,some)=c(i,have,some)/c(3-gram),c代表计数,即语料中i,have,some这样的3元组计数(个数)除以所有3元组的计数;

其中,p(have|i)=c(have,i)/c(i),即语料中have,i这样的2元组计数除以所有i的计数;

其中,p(i)=c(i)/c(1-gram),即语料中i这样的1元组计数除以所有1元组的计数。

4、根据公式计算每个候选词的评估得分:

scoresome=-1×1×1/-5.7=0.175;

scoresame=-1×0.5×1/-6=0.083;

scoreson=-1×1×1/-6=0.167;

scoreone=-0.5×1×1/-4.8=0.104。

由此可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

在另一实施例中,对于bilstm模型来说,上述步骤1和步骤2相同;

步骤3替换为:分别将some、same、son、one替换ihavesoneapples中的sone,计算各候选词对应的语言环境概率如下:

步骤4替换为:

根据公式计算每个候选词的评估得分:

scoresome=-1×1×1/-4.9=0.204;

scoresame=-1×1/2×1/-5.07=0.098;

scoreson=-1×1×1/-7.6=0.132;

scoreone=-0.5×1×1/-4.66=0.107。

同样可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

在另一实施例中,对于lstm模型来说,上述步骤1和步骤2相同;

步骤3替换为:分别将some、same、son、one替换ihavesoneapples中的sone,计算各候选词对应的语言环境概率如下:

步骤4替换为:

根据公式计算每个候选词的评估得分:

scoresome=-1×1×1/-5.6=0.179;

scoresame=-1×1/2×1/-6.3=0.079;

scoreson=-1×1×1/-6=0.116;

scoreone=-0.5×1×1/-5.1=0.098。

同样可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

通过上述实施例,既考虑到了编辑距离信息以及上下文语言环境新,又考虑到了用户书写英文单词时首字母不易出错这一习惯问题,由此能确定出更准确的纠错词。

如图9所示,在第八实施例中,提供了一种候选词评估方法,包括以下步骤:

步骤s81,检测到错词,获取错词对应的多个候选词。

关于该步骤的实现可参考第一实施例的说明,不作赘述。

步骤s82,确定各候选词与所述错词的编辑距离。

关于该步骤的实现可参考第一实施例的说明,不作赘述。

步骤s83,确定各候选词与错词的相似度,所述相似度根据各候选词与错词的最长公共子序列和/或最长公共子串得到。

关于该步骤的实现可参考第二实施例的说明,不作赘述。

步骤s84,获取所述错词相对于各候选词的出错信息。

关于该步骤的实现可参考第一实施例的说明,不作赘述。

步骤s85,根据所述编辑距离、相似度以及出错信息,确定各候选词对应的评估得分。

具体地,该步骤相当于根据候选词与错词的编辑距离大小、区别信息以及候选词与错词的接近程度,对候选词进行评分,综合这三方面评估候选词为错词对应的纠错词的可能性。

本实施例根据各候选词与错词的编辑距离、相似度以及出错信息确定各个候选词对应的评估得分。考虑到了候选词与错词的编辑距离、相似度以及用户书写习惯的现象问题,能提高候选词评估结果的可靠性。

在一个实施例中,所述根据所述编辑距离、相似度以及出错信息,确定各候选词对应的评估得分的步骤包括:若错词与候选词首字母相同,则根据所述编辑距离、相似度以及第一系数计算所述候选词对应的评估得分;若错词与候选词首字母不同,则根据所述编辑距离、相似度以及第二系数计算所述候选词对应的评估得分。

在一个实施例中,根据所述编辑距离、相似度以及第一系数计算所述候选词对应的评估得分的步骤包括:根据所述编辑距离的倒数、相似度以及第一系数,计算所述候选词对应的评估得分。

在一个实施例中,根据所述编辑距离、相似度以及第二系数计算所述候选词对应的评估得分的步骤包括:根据所述编辑距离的倒数、相似度以及第二系数,计算所述候选词对应的评估得分。

在一个实施例中,可根据如下公式计算各候选词的评估得分:

scoreword=k×s×1/dedit

评估得分的具体计算过程举例如下:

已知情形是,用户在智能交互平板上书写英文词句时,将some错写成sone,上下文语言环境为ihavesoneapples。过英文词典检测,发现sone在英文词典中不存在,确定sone为错词。获取sone的候选词:some、same、one。

其中,some、same、one与错词sone的编辑距离分别为:1,2,1。

1、根据公式s=1/dedit+0.7dlcs1+0.3dlcs2计算得到各个候选词与错词的相似度分别为:

ssome:1+0.7×0.75+0.3×0.5=1.675;

ssame:1/2+0.7×0.5+0.3×0.25=0.925;

sone:1+0.7×0.86+0.3×0.86=1.86。

2、根据公式scoreword=k×s×1/dedit计算得到各个候选词的评估得分为:

scoresome=1×1.675×1/1=1.675;

scoresame=1×0.925×1/2=0.463;

scoreone=0.5×1.86×1/1=0.93。

从以上评估得分可以看出,候选词some的评估得分高于same和one的评估得分;评估结果对纠错词的确定具有一定的参考价值。

如图10所示,在第九实施例中,提供了一种候选词评估方法,包括以下步骤:

步骤s91,检测到错词,获取错词对应的多个候选词。

关于该步骤的实现可参考第一实施例的说明,不作赘述。

步骤s92,确定各候选词与所述错词的编辑距离。

关于该步骤的实现可参考第一实施例的说明,不作赘述。

步骤s93,分别用各候选词替换所述错词,得到候选语句,根据所述候选语句确定对应候选词的评估概率,所述评估概率根据候选语句中候选词的语言环境概率、以及候选词的临近词的语言环境概率得出。

关于该步骤的实现可参考第四实施例的说明,不作赘述。

步骤s94,获取所述错词相对于各候选词的出错信息。

关于该步骤的实现可参考第一实施例的说明,不作赘述。

步骤s95,根据所述编辑距离、评估概率以及出错信息,确定各候选词对应的评估得分。

本实施例根据各候选词与错词的编辑距离、评估概率以及出错信息确定各个候选词对应的评估得分。既考虑到了候选词与错词的编辑距离以及用户书写的现象问题,还将语言模型的评估信息加入进来,能提高候选词评估结果的可靠性,有利于提高文本编辑的效率以及准确性。

在一个实施例中,各词的语言环境概率用各词在其位置的概率的log值表示,基于此得到候选词的评估概率,进一步地,根据所述编辑距离的倒数、评估概率的倒数以及出错信息,确定各候选词对应的评估得分。

在一个实施例中,所述根据所述编辑距离、评估概率以及出错信息,确定各候选词对应的评估得分的步骤包括:若错词与候选词首字母相同,则根据所述编辑距离、评估概率以及第一系数计算所述候选词的评估得分;若错词与候选词首字母不同,则根据所述编辑距离、评估概率以及第二系数计算所述候选词的评估得分。

在一个实施例中,根据如下公式计算各候选词的评估得分:

评估得分的具体计算过程举例如下:

已知情形是,用户在智能交互平板上书写英文词句时,将some错写成sone,上下文语言环境为ihavesoneapples。

对于n-gram模型,n-gram模型中n取值3:

1、经过英文词典检测,发现sone在英文词典中不存在,确定sone为错词。

2、获取英文词典中与sone的编辑距离为1和2的词,假设有some、same、son、one,作为候选词。候选词some、same、son、one对应的编辑距离分别为:1,2,1,1。

3、分别将some、same、son、one替换ihavesoneapples中的sone,得到对应的评估语句;根据n-gram模型以及评估语句,分别计算各个候选词对应的评估概率,得到的评估概率如下:

4、根据公式计算得到每个候选词的评估得分如下:

scoresome=-1×1/1×1/(-5.6)=0.179;

scoresame=-1×1/2×1/(-6.35)=0.079;

scoreson=-1×1/1×1/(-7.58)=0.132;

scoreone=-0.5×1/1×1/(-5.26)=0.095。

由此可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

在另一实施例中,对于bilstm模型来说,上述步骤1和步骤2相同;步骤3替换为:分别将some、same、son、one替换ihavesoneapples中的sone;根据bilstm模型以及评估语句,分别计算各个候选词对应的评估概率,得到的评估概率如下:

步骤4替换为:

根据公式计算得到各个候选词的评估得分为:

scoresome=-1×1/1×1/(-2.88)=0.347;

scoresame=-1×1/2×1/(-3.62)=0.138;

scoreson=-1×1/1×1/(-4.1)=0.244;

scoreone=-0.5×1/1×1/(-2.62)=0.191。

同样可得,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

在另一实施例中,对于lstm模型来说,上述步骤1和步骤2相同;步骤3替换为:根据lstm模型以及评估语句,分别计算各个候选词对应的评估概率,得到的评估概率如下:

步骤4替换为:

根据公式计算得到各个候选词的评估得分为:

scoresome=-1×1/1×1/(-3.175)=0.315;

scoresame=-1×1/2×1/(-3.75)=0.133;

scoreson=-1×1/1×1/(-4.6)=0.217;

scoreone=-0.5×1/1×1/(-3.45)=0.145。

同样可得,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

通过上述三种语言模型下的候选词评估得分计算,既考虑到了用户书写词时的习惯问题,还考虑了编辑距离以及语言环境信息,由此能确定出更有效的评估错词的候选词。

如图11所示,在第十实施例中,提供了一种候选词评估方法,包括以下步骤:

步骤s101、检测到错词,获取错词对应的多个候选词。

关于该步骤的实现可参考第一实施例的对应步骤,不作赘述。

步骤s102,确定各候选词与错词的相似度,所述相似度根据各候选词与错词的最长公共子序列和/或最长公共子串得到。

关于该步骤的实现可参考第二实施例的对应步骤,不作赘述。

步骤s103,确定各候选词在所述错词位置的语言环境概率。

关于该步骤的实现可参考第三实施例的说明,不作赘述。

步骤s104,获取所述错词相对于各候选词的出错信息。

关于该步骤的实现可参考第一实施例的说明,不作赘述。

步骤s105,根据所述相似度、语言环境概率以及出错信息,确定各候选词对应的评估得分。

本实施例根据各候选词与错词的相似度、语言环境概率以及出错信息确定各个候选词对应的评估得分。既考虑到了候选词与错词的相似度以及用户书写的现象问题,还将语言模型的评估信息加入进来,能提高候选词评估结果的可靠性,有利于提高文本编辑的效率以及准确性。

在一个实施例中,当语言环境概率通过各候选词在所述错词位置的概率的log值表示时,可根据所述相似度、语言环境概率的倒数以及出错信息,确定各候选词对应的评估得分。

在一个实施例中,所述根据所述相似度、语言环境概率以及出错信息,确定各候选词对应的评估得分的步骤包括:若错词与候选词首字母相同,则根据所述相似度、语言环境概率以及第一系数计算所述候选词的评估得分;若错词与候选词首字母不同,则根据所述相似度、语言环境概率以及第二系数计算所述候选词的评估得分。

在一个实施例中,根据如下公式计算各候选词的评估得分:

在一个实施例中,所述语言模型为n-gram模型、bilstm模型或者lstm模型。

可选地,可以结合上述多个语言模型计算候选词对应的语言环境概率。

可选地,通过n-gram模型确定各候选词对应的评估得分可以通过以下公式进行计算:

其中,为通过n-gram模型计算的某一候选词对应的语言环境概率。

对于n-gram模型,n-gram模型中n取值3:

具体举例如下:已知情形是,用户在智能交互平板上书写英文词句时,将some错写成sone,上下文语言环境为ihavesoneapples。

1、通过英文词典检测,发现sone在英文词典中不存在,确定sone为错词。

2、获取英文词典中与sone的编辑距离为1和2的词,假设有some、same、son、one,作为候选词。确定各个候选词与错词的相似度分别为:ssome=1.675;ssame=0.925;sson=1.86;sone=1.86。

3、分别将some、same、son、one替换ihavesoneapples中的sone,根据替换后的语句计算候选词对应的语言环境概率

根据n-gram模型计算的各个候选词在sone的位置的语言环境概率为:

其中,p(i,have,some)=c(i,have,some)/c(3-gram),c代表计数,即语料中i,have,some这样的3元组计数(个数)除以所有3元组的计数;

其中,p(have|i)=c(have,i)/c(i),即语料中have,i这样的2元组计数除以所有i的计数;

其中,p(i)=c(i)/c(1-gram),即语料中i这样的1元组计数除以所有1元组的计数。

4、根据公式计算得到各个候选词对应的评估得分为:

scoresome=-1×1.675×1(-5.7)=0.294;

scoresame=-1×0.925×1(-6)=0.154;

scoreson=-1×1.86×1(-8)=0.219;

scoreone=-0.5×1.86×1(-4.8)=0.182。

由此可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

在另一实施例中,对于bilstm模型来说,上述步骤1和步骤2相同;步骤3替换为:分别将some、same、son、one替换ihavesoneapples中的sone,计算各候选词对应的语言环境概率每个候选词计算如下:

步骤4替换为:

根据公式计算得到各个候选词对应的评估得分为:

scoresome=-1×1.675×1/-5.6=0.299;

scoresame=-1×0.925×1/-6.3=0.147;

scoreson=-1×1.86×1/-8.6=0.203;

scoreone=-0.5×1.86×1/-5.1=0.172。

由此可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

在另一实施例中,对于lstm模型来说,上述步骤1和步骤2相同;步骤3替换为:分别将some、same、son、one替换ihavesoneapples中的sone,计算各候选词对应的语言环境概率每个候选词计算如下:

步骤4替换为:

根据公式计算得到各个候选词对应的评估得分为:

scoresome=-1×1.675×1/-5.6=0.299;

scoresame=-1×0.925×1/-6.3=0.147;

scoreson=-1×1.86×1/-8.6=0.203;

scoreone=-0.5×1.86×1/-5.1=0.172。

同样可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

通过上述三种语言模型下的候选词评估,既考虑到了用户书写词时的习惯问题,还将相似度信息以及语言环境的评估信息加入进来,由此提高了候选词评估的可靠性。

如图12所示,在第十一实施例中,提供了一种候选词评估方法,包括以下步骤:

步骤s111,检测到错词,获取错词对应的多个候选词。

关于该步骤的实现可参考第一实施例的说明,不作赘述。

步骤s112,确定各候选词与错词的相似度,所述相似度根据各候选词与错词的最长公共子序列和/或最长公共子串得到。

关于该步骤的实现可参考第二实施例的说明,不作赘述。

步骤s113,分别用各候选词替换所述错词,得到候选语句,根据所述候选语句确定对应候选词的评估概率,所述评估概率根据候选语句中候选词的语言环境概率、以及候选词的临近词的语言环境概率得出。

关于该步骤的实现可参考第四实施例的说明,不作赘述。

步骤s114,获取所述错词相对于各候选词的出错信息。

关于该步骤的实现可参考第一实施例的说明,不作赘述。

步骤s115,根据所述相似度、评估概率以及出错信息,确定各候选词对应的评估得分。

本实施例根据各候选词与错词的相似度、评估概率以及出错信息确定各个候选词对应的评估得分。既考虑到了候选词与错词的相似度以及用户书写的现象问题,还将语言模型的评估信息加入进来,能提高候选词评估结果的可靠性。

在一个实施例中,各词的语言环境概率用各词在其位置的概率的log值表示,基于此得到候选词的评估概率,进一步地,可根据所述相似度、评估概率的倒数以及出错信息,确定各候选词对应的评估得分。

在一个实施例中,所述根据所述相似度、评估概率以及出错信息,确定各候选词对应的评估得分的步骤包括:若错词与候选词首字母相同,则根据所述相似度、评估概率以及第一系数计算所述候选词的评估得分;若错词与候选词首字母不同,则根据所述相似度、评估概率以及第二系数计算所述候选词的评估得分。

在一个实施例中,根据如下公式计算各候选词的评估得分:

评估得分的具体计算过程举例如下:

已知情形是,用户在智能交互平板上书写英文词句时,将some错写成sone,上下文语言环境为ihavesoneapples。

1、经过英文词典检测,发现sone在英文词典中不存在,确定sone为错词。

2、获取英文词典中与sone的编辑距离为1和2的词,假设有some、same、son、one,作为候选词。确定各个候选词与错词的相似度分别为:ssome=1.675;ssame=0.925;sson=1.86;sone=1.86。

3、分别将some、same、son、one替换ihavesoneapples中的sone;得到:

候选语句一:ihavesomeapples;

候选语句二:ihavesameapples;

候选语句三:ihavesonapples;

候选语句四:ihaveoneapples。

基于n-gram模型,n-gram模型中n取值3,候选语句一中候选词some对应的临近词为apples,候选语句二中候选词same对应的临近词为apples,候选语句三中候选词son对应的临近词为apples,候选语句四中候选词one对应的临近词为apples;并根据n-gram模型分别计算各个候选词对应的评估概率,得到的评估概率如下:

4、根据公式计算得到各个候选词的评估得分为:

scoresome=-1×1.675×1/(-5.6)=0.299;

scoresame=-1×0.925×1/(-6.35)=0.146;

scoreson=-1×1.86×1/(-7.58)=0.245;

scoreone=-0.5×1.86×1/(-5.26)=0.177。

由此可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

在另一实施例中,对于bilstm模型来说,候选语句一中候选词some对应的临近词为i、have以及apples,候选语句二中候选词same对应的临近词为i、have以及apples,候选语句三中候选词son对应的临近词为i、have以及apples,候选语句四中候选词one对应的临近词为i、have以及apples;基于此计算各候选语句中候选词对应的评估概率如下:

步骤4替换为:

根据公式计算得到各个候选词的评估得分为:

scoresome=-1×1.675×1/(-2.88)=0.582;

scoresame=-1×0.925×1/(-3.62)=0.256;

scoreson=-1×1.86×1/(-4.1)=0.454;

scoreone=-0.5×1.86×1/(-2.62)=0.355。

同样可得,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

在另一实施例中,对于lstm模型来说,候选语句一中候选词some对应的临近词为i、have以及apples,候选语句二中候选词same对应的临近词为i、have以及apples,候选语句三中候选词son对应的临近词为i、have以及apples,候选语句四中候选词one对应的临近词为i、have以及apples;基于此计算各候选语句中候选词对应的评估概率如下:

步骤4替换为:

根据公式计算得到各个候选词的评估得分为:

scoresome=-1×1.675×1/(-3.175)=0.528;

scoresame=-1×0.925×1/(-3.75)=0.247;

scoreson=-1×1.86×1/(-4.6)=0.404;

scoreone=-0.5×1.86×1/(-3.45)=0.27。

同样可得,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

通过上述三种语言模型下的候选词评估,既考虑到了用户书写词时的习惯问题,还将相似度信息以及语言环境的评估信息加入进来,由此提高了候选词评估的可靠性。

如图13所示,在第十二实施例中,提供了一种候选词评估方法,包括以下步骤:

步骤s121,检测到错词,获取错词对应的多个候选词。

关于该步骤的实现可参考第一实施例的说明,不作赘述。

步骤s122,确定各候选词与所述错词的编辑距离。

关于该步骤的实现可参考第一实施例的说明,不作赘述。

步骤s123,确定各候选词与错词的相似度,所述相似度根据各候选词与错词的最长公共子序列和/或最长公共子串得到。

关于该步骤的实现可参考第二实施例的说明,不作赘述。

步骤s124,确定各候选词在所述错词位置的语言环境概率。

关于该步骤的实现可参考第三实施例的说明,不作赘述。

步骤s125,获取所述错词相对于各候选词的出错信息。

关于该步骤的实现可参考第一实施例的说明,不作赘述。

步骤s126,根据所述编辑距离、相似度、语言环境概率以及出错信息,确定各候选词对应的评估得分。

本实施例根据各候选词与错词的编辑距离、相似度、语言环境概率以及出错信息确定各个候选词对应的评估得分。既考虑到了候选词与错词的编辑距离、相似度以及用户书写的现象问题,还将语言模型的评估信息加入进来,能提高候选词评估结果的可靠性,进一步地,有利于提高文本编辑的效率以及准确性。

在一个实施例中,当语言环境概率通过各候选词在所述错词位置的概率的log值表示时,可根据所述编辑距离的倒数、相似度、语言环境概率的倒数以及出错信息,确定各候选词对应的评估得分。

在一个实施例中,所述根据所述编辑距离、相似度、语言环境概率以及出错信息,确定各候选词对应的评估得分的步骤包括:若错词与候选词首字母相同,则根据所述编辑距离、相似度、语言环境概率以及第一系数计算所述候选词的评估得分;若错词与候选词首字母不同,则根据所述编辑距离、相似度、语言环境概率以及第二系数计算所述候选词的评估得分。

在一个实施例中,根据如下公式计算各候选词的评估得分:

评估得分的具体计算过程举例如下:

已知情形是,用户在智能交互平板上书写英文词句时,将some错写成sone,上下文语言环境为ihavesoneapples。

1、经过英文词典检测,发现sone在英文词典中不存在,确定sone为错词。

2、获取英文词典中与sone的编辑距离为1和2的词,假设有some、same、son、one,作为候选词。确定各个候选词与错词的相似度分别为:ssome=1.675;ssame=0.925;sson=1.86;sone=1.86。候选词some、same、son、one对应的编辑距离分别:1,2,1,1。

3、分别将some、same、son、one替换ihavesoneapples中的sone,根据n-gram模型计算各候选词对应的n-gram模型中n取值3,得到每个候选词的语言环境概率如下:

4、根据公式计算得到每个候选词的评估得分为:

scoresome=-1×1.675×1/1×1/(-5.7)=0.294;

scoresame=-1×0.925×1/2×1/(-6)=0.077;

scoreson=-1×1.86×1/1×1/(-8)=0.233;

scoreone=-0.5×1.86×1/1×1/(-4.8)=0.194。

由此可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

在另一实施例中,对于bilstm模型来说,上述步骤1和步骤2相同;步骤3替换为:分别将some、same、son、one替换ihavesoneapples中的sone,计算各候选词对应的语言环境概率每个候选词计算如下:

步骤4替换为:

根据公式计算每个候选词的评估得分:

scoresome=-1×1.675×1/1×1/-4.9=0.342;

scoresame=-1×0.925×1/2×1/-5.07=0.182;

scoreson=-1×1.86×1/1×1/-7.6=0.246;

scoreone=-0.5×1.86×1/1×1/-4.66=0.199。

同样可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

在另一实施例中,对于lstm模型来说,上述步骤1和步骤2相同;步骤3替换为:分别将some、same、son、one替换ihavesoneapples中的sone,计算各候选词对应的语言环境概率每个候选词计算如下:

步骤4替换为:

根据公式计算每个候选词的评估得分:

scoresome=-1×1.675×1/1×1/-5.6=0.3;

scoresame=-1×0.925×1/2×1/-6.3=0.147;

scoreson=-1×1.86×1/1×1/-6=0.216;

scoreone=-0.5×1.86×1/1×1/-5.1=0.182。

同样可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

通过上述三种语言模型下的候选词评估,既考虑到了用户书写词时的习惯问题,还将编辑距离、相似度以及语言环境的评估信息加入进来,由此提高了候选词评估的可靠性。

如图14所示,在第十三实施例中,提供了一种候选词评估方法,包括以下步骤:

步骤s131,检测到错词,获取错词对应的多个候选词。

关于该步骤的实现可参考第一实施例的说明,不作赘述。

步骤s132,确定各候选词与所述错词的编辑距离。

关于该步骤的实现可参考第一实施例的说明,不作赘述。

步骤s133,确定各候选词与错词的相似度,所述相似度根据各候选词与错词的最长公共子序列和/或最长公共子串得到。

关于该步骤的实现可参考第二实施例的说明,不作赘述。

步骤s134,分别用各候选词替换所述错词,得到候选语句,根据所述候选语句确定对应候选词的评估概率,所述评估概率根据候选语句中候选词的语言环境概率、以及候选词的临近词的语言环境概率得出。

关于该步骤的实现可参考第四实施例的说明,不作赘述。

步骤s135,获取所述错词相对于各候选词的出错信息。

关于该步骤的实现可参考第一实施例的说明,不作赘述。

步骤s136,根据所述编辑距离、相似度、评估概率以及出错信息,确定各候选词对应的评估得分。

本实施例根据各候选词与错词的编辑距离、相似度、评估概率以及出错信息确定各个候选词对应的评估得分。既考虑到了候选词与错词的编辑距离、相似度以及用户书写的现象问题,还将语言模型的评估信息加入进来,能提高候选词评估结果的可靠性,有利于提高文本编辑的效率以及准确性。

在一个实施例中,各词的语言环境概率用各词在其位置的概率的log值表示,基于此得到候选词的评估概率,进一步地,可根据所述编辑距离的倒数、相似度、评估概率的倒数以及出错信息,确定各候选词对应的评估得分。

在一个实施例中,所述根据所述编辑距离、相似度、评估概率以及出错信息,确定各候选词对应的评估得分的步骤包括:若错词与候选词首字母相同,则根据所述编辑距离、相似度、评估概率以及第一系数计算所述候选词的评估得分;若错词与候选词首字母不同,则根据所述编辑距离、相似度、评估概率以及第二系数计算所述候选词的评估得分。

在一个实施例中,根据如下公式计算各候选词的评估得分:

评估得分的具体计算过程举例如下:

已知情形是,用户在智能交互平板上书写英文词句时,将some错写成sone,上下文语言环境为ihavesoneapples。

1、经过英文词典检测,发现sone在英文词典中不存在,确定sone为错词。

2、获取英文词典中与sone的编辑距离为1和2的词,假设有some、same、son、one,作为候选词。计算各个候选词与错词的相似度分别为:ssome=1.675;ssame=0.925;sson=1.86;sone=1.86。候选词some、same、son、one对应的编辑距离分别:1,2,1,1。

3、分别将some、same、son、one替换ihavesoneapples中的sone,并根据n-gram模型分别计算各个候选词对应的评估概率,得到的评估概率如下:

4、根据公式计算得到每个候选词的评估得分为:

scoresome=-1×1.675×1/1×1/(-5.6)=0.299;

scoresame=-1×0.925×1/2×1/(-6.35)=0.073;

scoreson=-1×1.86×1/1×1/(-7.58)=0.245;

scoreone=-0.5×1.86×1/1×1/(-5.26)=0.177。

由此可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

在另一实施例中,对于bilstm模型来说,计算各候选语句中候选词对应的评估概率如下:

步骤4替换为:

根据公式计算得到各个候选词的评估得分为:

scoresome=-1×1.675×1/1×1/(-2.88)=0.582;

scoresame=-1×0.925×1/2×1/(-3.62)=0.128;

scoreson=-1×1.86×1/1×1/(-4.1)=0.454;

scoreone=-0.5×1.86×1/1×1/(-2.62)=0.355。

同样可知,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

在另一实施例中,对于lstm模型来说,计算各候选语句中候选词对应的评估概率如下:

步骤4替换为:

根据公式计算得到各个候选词的评估得分为:

scoresome=-1×1.675×1/1×1/(-3.175)=0.528;

scoresame=-1×0.925×1/2×1/(-3.75)=0.124;

scoreson=-1×1.86×1/1×1/(-4.6)=0.404;

scoreone=-0.5×1.86×1/1×1/(-3.45)=0.27。

同样可得,候选词some相对于其他候选词,为错词sone对应的正确词(纠错词)的可能性更大。

通过上述三种语言模型下的候选词评估,既考虑到了用户书写词时的习惯问题,还将编辑距离、相似度以及语言环境的评估信息加入进来,由此提高了候选词评估结果的可靠性。

在上述任一实施例得出候选词对应的评估得分的基础上,在一实施例中,上述候选词评估方法还包括步骤:根据所述评估得分从所述多个候选词中确定出所述错词对应的纠错词,用所述纠错词对所述错词进行校正;由此能够更准确的确定对错词进行校正。

可选地,从错词的多个候选词中选出评估得分最高的候选词,作为所述错词对应的纠错词。进一步地,还可以采用该纠错词对错词进行替换,以实现对错词自动纠错的效果。

此外,在一实施例中,在上述任一实施例得出候选词对应的评估得分的基础上,上述候选词评估方法还包括步骤:根据评估得分对多个候选词进行排序,根据排序显示多个候选词,使得评估得分越高的候选词显示越靠前,以更好的提示用户。

在一实施例中,在上述任一实施例的基础上,上述候选词评估方法还包括步骤:检测待检测词是否在预设词库中,若否,则确定所述待检测词为错词。例如:扫描每个词,检测每个词是否在词典中,如果不在词典中则确定为错词。

可以理解的,预设词库既可以是通用的英文词典、汉语词典等,也可以是其他特定的词库,词库可根据实际情况选定。

在一实施例中,可选地,在检测出错词之后,上述候选词评估方法还包括确定该错词对应的候选词集合的步骤。该步骤可为:计算所述错词与词库中已知词的编辑距离,选取编辑距离在设定范围内的已知词,得到所述错词对应的多个候选词。例如,选取编辑距离小于3的已知词作为候选词,由此提高候选词评估的有效性。

应该理解的是,对于前述的各方法实施例,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,方法实施例的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

基于与上述第一实施例~第十三实施例的候选词评估方法的思想,本申请实施例还提供了相应的候选词评估装置。

如图15所示,在第十四实施例中,候选词评估装置包括:

候选词获取模块101,用于检测到错词,获取错词对应的多个候选词;

距离确定模块102,用于确定各候选词与所述错词的编辑距离;

出错信息获取模块103,用于获取所述错词相对于各候选词的出错信息;

以及,第一评估模块104,用于根据所述编辑距离以及出错信息,确定各候选词对应的评估得分。

上述实施例的候选词评估装置,在检测到错词时,首先获取对应的多个候选词,分别确定各候选词与所述错词的编辑距离,以及确定所述错词相对于各候选词的出错信息;根据所述编辑距离以及出错信息,确定各候选词对应的评估得分;既考虑到了词书写的现象问题,还将词之间的编辑距离的信息考虑进来,由此能提高候选词评估结果的可靠性。

在一实施例中,所述第一评估模块104,用于根据所述编辑距离的倒数以及出错信息,确定各候选词对应的评估得分。

在一实施例中,其中,错词相对于各候选词的出错信息中包括:所述错词与候选词是否首字母相同的信息;

所述第一评估模块104包括:第一评分子模块,用于若错词与候选词首字母相同,则根据所述编辑距离以及第一系数,计算所述候选词对应的评估得分;第二评分子模块,用于若错词与候选词首字母不同,则根据所述编辑距离以及第二系数,计算所述候选词对应的评估得分。

如图16所示,在第十五实施例中,候选词评估装置包括:

候选词获取模块201,用于检测到错词,获取错词对应的多个候选词;

相似度确定模块202,用于确定各候选词与错词的相似度,所述相似度根据各候选词与错词的最长公共子序列和/或最长公共子串得到;

出错信息获取模块203,用于获取所述错词相对于各候选词的出错信息;

以及,第二评估模块204,用于根据所述相似度以及出错信息,确定各候选词对应的评估得分。

上述实施例的候选词评估装置,在检测到错词时,首先获取对应的多个候选词,分别确定各候选词与所述错词的相似度,以及确定所述错词相对于各候选词的出错信息;根据所述相似度以及出错信息,确定各候选词对应的评估得分;既考虑到了词书写的现象问题,还将词之间的相似度信息考虑进来,由此能提高候选词评估结果的可靠性。

在一实施例中,所述相似度确定模块202包括:第一相似度计算子模块或者第二相似度计算子模块。

其中,第一相似度计算子模块,用于根据各候选词与所述错词的最长公共子序列率、最长公共子串率中的至少一个,计算各候选词与所述错词的相似度;或者,第二相似度计算子模块,用于根据各候选词与所述错词的最长公共子序列率、最长公共子串率中的至少一个,以及各候选词与所述错词的编辑距离,计算各候选词与所述错词的相似度。

在一实施例中,所述第二相似度计算子模块,用于根据各候选词与所述错词的最长公共子序列率、最长公共子串率中的至少一个,以及各候选词与所述错词的编辑距离的倒数,计算各候选词与所述错词的相似度。

在一实施例中,所述错词相对于各候选词的出错信息中包括:所述错词与候选词是否首字母相同的信息;可选地,所述第二评估模块204包括:第一评分子模块,用于若错词与候选词首字母相同,则根据所述相似度以及第一系数,计算所述候选词对应的评估得分;第二评分子模块,用于若错词与候选词首字母不同,则根据所述相似度以及第二系数,计算所述候选词对应的评估得分。

如图17所示,在第十六实施例中,候选词评估装置包括:

候选词获取模块301,用于检测到错词,获取错词对应的多个候选词;

第一概率确定模块302,用于确定各候选词在所述错词位置的语言环境概率;

出错信息获取模块303,用于获取所述错词相对于各候选词的出错信息;

以及,第三评估模块304,用于根据所述语言环境概率以及出错信息,确定各候选词对应的评估得分。

上述实施例的候选词评估装置,在检测到错词时,首先获取对应的多个候选词,分别确定各候选词在所述错词位置的概率,以及确定所述错词相对于各候选词的出错信息;根据所述语言环境概率以及出错信息,确定各候选词对应的评估得分;既考虑到了用户书写词时的习惯问题,还将上下文语言环境的信息考虑进来,由此能提高候选词评估结果的可靠性。

在一实施例中,所述第一概率确定模块302,用于根据预设的语言模型计算各候选词在所述错词位置的概率,将该概率的log值作为所述候选词的语言环境概率。

在一实施例中,所述第三评估模块304,用于根据所述语言环境概率的倒数以及出错信息,确定各候选词对应的评估得分;其中,所述语言模型包括但不限于n-gram模型、bilstm模型或者lstm模型。

在一实施例中,错词相对于各候选词的出错信息中包括:所述错词与候选词是否首字母相同的信息;对应地,所述第三评估模块304包括:第一评分子模块,用于若错词与候选词首字母相同,根据所述语言环境概率的倒数以及第一系数计算所述候选词的评估得分;第二评分子模块,用于若错词与候选词首字母不同,根据所述语言环境概率的倒数以及第二系数计算所述候选词的评估得分。

如图18所示,在第十七实施例中,候选词评估装置包括:

候选词获取模块401,用于检测到错词,获取错词对应的多个候选词;

第二概率确定模块402,用于分别用各候选词替换所述错词,得到候选语句,根据所述候选语句确定对应候选词的评估概率,所述评估概率根据候选语句中候选词的语言环境概率、以及候选词的临近词的语言环境概率得出;

出错信息获取模块403,用于获取所述错词相对于各候选词的出错信息;

以及,第四评估模块404,用于根据所述评估概率以及出错信息,确定各候选词对应的评估得分。

上述实施例的候选词评估装置,在检测到错词时,首先获取对应的多个候选词,分别确定各候选词对应的评估概率,以及确定所述错词相对于各候选词的出错信息;根据所述评估概率以及出错信息,确定各候选词对应的评估得分;既考虑到了用户书写词时的习惯问题,还将上下文语言环境的信息考虑进来,由此能提高候选词评估结果的可靠性。

在一实施例中,所述第二概率确定模块402,还用于根据预设的语言模型计算候选语句中候选词、候选词的临近词各自在其位置的概率,将所述概率的log值作为各词的语言环境概率;对候选语句中候选词的语言环境概率、候选词的临近词的语言环境概率求平均,得到所述候选语句中候选词的评估概率。

在一实施例中,所述第四评估模块404,具体用于根据所述评估概率的倒数以及出错信息,确定各候选词对应的评估得分;其中,所述语言模型包括但不限于n-gram模型、bilstm模型或者lstm模型。

在一实施例中,所述错词相对于各候选词的出错信息中包括:所述错词与候选词是否首字母相同的信息;所述第四评估模块404包括:第一评分子模块,用于若错词与候选词首字母相同,则根据所述评估概率以及第一系数,计算所述候选词对应的评估得分;第二评分子模块,用于若错词与候选词首字母不同,则根据所述评估概率以及第二系数,计算所述候选词对应的评估得分。

如图19所示,在第十八实施例中,候选词评估装置包括:

候选词获取模块501,用于检测到错词,获取错词对应的多个候选词。

距离确定模块502,用于确定各候选词与所述错词的编辑距离;

第二概率确定模块503,用于分别用各候选词替换所述错词,得到候选语句,根据所述候选语句确定对应候选词的评估概率,所述评估概率根据候选语句中候选词的语言环境概率、以及候选词的临近词的语言环境概率得出;

以及,第五评估模块504,用于根据所述编辑距离以及评估概率,确定各候选词的评估得分。

在一个实施例中,所述第二概率确定模块503,用于分别用各候选词替换所述错词,得到候选语句,根据预设的语言模型计算候选语句中候选词、候选词的临近词各自在其位置的概率,将所述概率的log值作为各词的语言环境概率;对候选语句中候选词的语言环境概率、候选词的临近词的语言环境概率求平均,得到所述候选语句中候选词的评估概率。其中,所述语言模型包括但不限于:n-gram模型、bilstm模型或者lstm模型。

基于上述实施例,第五评估模块504具体用于根据所述编辑距离的倒数以及评估概率的倒数,确定各候选词对应的评估得分。

如图20所示,在第十九实施例中,候选词评估装置包括:

候选词获取模块601,用于检测到错词,获取错词对应的多个候选词。

相似度确定模块602,用于确定各候选词与错词的相似度,所述相似度根据各候选词与错词的最长公共子序列和/或最长公共子串得到;

第二概率确定模块603,用于分别用各候选词替换所述错词,得到候选语句,根据所述候选语句确定对应候选词的评估概率,所述评估概率根据候选语句中候选词的语言环境概率、以及候选词的临近词的语言环境概率得出;

以及,第六评估模块604,用于根据所述相似度以及评估概率,确定各候选词的评估得分。

在一个实施例中,所述第二概率确定模块603,用于分别用各候选词替换所述错词,得到候选语句,根据预设的语言模型计算候选语句中候选词、候选词的临近词各自在其位置的概率,将所述概率的log值作为各词的语言环境概率;对候选语句中候选词的语言环境概率、候选词的临近词的语言环境概率求平均,得到所述候选语句中候选词的评估概率。其中,所述语言模型包括但不限于:n-gram模型、bilstm模型或者lstm模型。

基于上述实施例,第六评估模块604具体用于根据所述评估概率的倒数以及相似度,确定各候选词对应的评估得分。

如图21所示,在第二十实施例中,候选词评估装置包括:

候选词获取模块701,用于在检测到错词时,获取错词对应的多个候选词;

距离确定模块702,用于确定各候选词与所述错词的编辑距离;

第一概率确定模块703,用于确定各候选词在所述错词位置的语言环境概率;

出错信息获取模块704,用于获取所述错词相对于各候选词的出错信息;

以及,第七评估模块705,用于根据所述编辑距离、语言环境概率以及出错信息,确定各候选词对应的评估得分。

上述实施例的候选词评估装置,在检测到错词时,首先获取对应的多个候选词,分别确定各候选词与所述错词的编辑距离,以及各候选词在所述错词位置的概率,以及确定所述错词相对于各候选词的出错信息;根据所述编辑距离、语言环境概率以及出错信息,确定各候选词对应的评估得分;既考虑到了编辑距离信息以及上下文语言环境,又考虑到了用户书写词时的习惯问题,由此能提高候选词评估结果的可靠性。

在一实施例中,所述第一概率确定模块703,用于根据预设的语言模型计算各候选词在所述错词位置的概率,将所述概率的log值作为候选词的语言环境概率。

在一实施例中,所述第七评估模块505,具体用于根据所述编辑距离的倒数、语言环境概率的倒数以及出错信息,确定各候选词对应的评估得分;所述语言模型包括但不限于n-gram模型、bilstm模型或者lstm模型。

在一实施例中,错词相对于各候选词的出错信息中包括:所述错词与候选词是否首字母相同的信息;对应地,所述第七评估模块705包括:第一评分子模块,用于若错词与候选词首字母相同,则根据所述编辑距离、语言环境概率以及第一系数,计算所述候选词对应的评估得分;第二评分子模块,用于若错词与候选词首字母不同,则根据所述编辑距离、语言环境概率以及第二系数,计算所述候选词对应的评估得分。

如图22所示,在第二十一实施例中,候选词评估装置包括:

候选词获取模块801,用于检测到错词,获取错词对应的多个候选词。

距离确定模块802,用于确定各候选词与所述错词的编辑距离。

相似度确定模块803,用于确定各候选词与错词的相似度,所述相似度根据各候选词与错词的最长公共子序列和/或最长公共子串得到。

出错信息获取模块804,用于获取所述错词相对于各候选词的出错信息。

以及,第八评估模块805,用于根据所述编辑距离、相似度以及出错信息,确定各候选词对应的评估得分。

上述实施例的候选词评估装置,在检测到错词时,首先获取对应的多个候选词,分别确定各候选词与所述错词的编辑距离和相似度,并确定所述错词相对于各候选词的出错信息;根据所述编辑距离、相似度以及出错信息,确定各候选词对应的评估得分;既考虑到了编辑距离信息以及相似度,又考虑到了用户书写词时的习惯问题,由此能提高候选词评估结果的可靠性。

在一个实施例中,所述第八评估模块805包括:第一评分子模块,用于若错词与候选词首字母相同,则根据所述距离、相似度以及第一系数计算所述候选词对应的评估得分;第二评分子模块,用于若错词与候选词首字母不同,则根据所述距离、相似度以及第二系数计算所述候选词对应的评估得分。

如图23所示,在二十二实施例中,提供一种候选词评估装置,本实施例的候选词评估装置包括:

候选词获取模块901,用于检测到错词,获取错词对应的多个候选词。

距离确定模块902,用于确定各候选词与所述错词的编辑距离。

第二概率确定模块903,用于分别用各候选词替换所述错词,得到候选语句,根据所述候选语句确定对应候选词的评估概率,所述评估概率根据候选语句中候选词的语言环境概率、以及候选词的临近词的语言环境概率得出。

出错信息获取模块904,用于获取所述错词相对于各候选词的出错信息。

以及,第九评估模块905,用于根据所述编辑距离、评估概率以及出错信息,确定各候选词对应的评估得分。

上述实施例的候选词评估装置,在检测到错词时,首先获取对应的多个候选词,分别确定各候选词与所述错词的编辑距离,以及各候选词在所述错词位置的评估概率,以及确定所述错词相对于各候选词的出错信息;根据所述编辑距离、评估概率以及出错信息,确定各候选词对应的评估得分;既考虑到了编辑距离信息以及上下文语言环境,又考虑到了用户书写词时的习惯问题,由此能提高候选词评估结果的可靠性。

在一个实施例中,第二概率确定模块903,具体用于根据预设的语言模型计算候选语句中候选词、候选词的临近词各自在其位置的概率,将所述概率的log值作为各词的语言环境概率;对候选语句中候选词的语言环境概率、候选词的临近词的语言环境概率求平均,得到所述候选语句中候选词的评估概率。

在一个实施例中,所述第九评估模块905包括:第一评分子模块,用于若错词与候选词首字母相同,则根据所述编辑距离、评估概率以及第一系数计算所述候选词的评估得分;第二评分子模块,用于若错词与候选词首字母不同,则根据所述编辑距离、评估概率以及第二系数计算所述候选词的评估得分。

如图24所示,在二十三实施例中,提供一种候选词评估装置,本实施例的候选词评估装置包括:

候选词获取模块1001,用于检测到错词,获取错词对应的多个候选词。

相似度确定模块1002,用于确定各候选词与错词的相似度,所述相似度根据各候选词与错词的最长公共子序列和/或最长公共子串得到。

第一概率确定模块1003,用于确定各候选词在所述错词位置的语言环境概率。

出错信息获取模块1004,用于获取所述错词相对于各候选词的出错信息。

第十评估模块1005,用于根据所述相似度、语言环境概率以及出错信息,确定各候选词对应的评估得分。

上述实施例的候选词评估装置,在检测到错词时,首先获取对应的多个候选词,分别确定各候选词与所述错词的相似度,以及各候选词在所述错词位置的预言环境概率,以及确定所述错词相对于各候选词的出错信息;根据所述相似度、语言环境概率以及出错信息,确定各候选词对应的评估得分;既考虑到了编辑距离信息以及上下文语言环境,又考虑到了用户书写词时的习惯问题,由此能提高候选词评估结果的可靠性。

在一实施例中,第一概率确定模块1003,用于根据预设的语言模型计算各候选词在所述错词位置的概率,将所述概率的log值作为候选词的语言环境概率。

在一个实施例中,所述第十评估模块1005包括:第一评分子模块,用于若错词与候选词首字母相同,则根据所述相似度、语言环境概率以及第一系数计算所述候选词的评估得分;第二评分子模块,用于若错词与候选词首字母不同,则根据所述相似度、语言环境概率以及第二系数计算所述候选词的评估得分。

如图25所示,在第二十四实施例中,提供一种候选词评估装置,本实施例的候选词评估装置包括:

候选词获取模块1101,用于检测到错词,获取错词对应的多个候选词。

相似度确定模块1102,用于确定各候选词与错词的相似度,所述相似度根据各候选词与错词的最长公共子序列和/或最长公共子串得到。

第二概率确定模块1103,用于分别用各候选词替换所述错词,得到候选语句,根据所述候选语句确定对应候选词的评估概率,所述评估概率根据候选语句中候选词的语言环境概率、以及候选词的临近词的语言环境概率得出。

出错信息获取模块1104,用于获取所述错词相对于各候选词的出错信息。

以及,第十一评估模块1105,用于根据所述相似度、评估概率以及出错信息,确定各候选词对应的评估得分。

上述实施例的候选词评估装置,在检测到错词时,首先获取对应的多个候选词,分别确定各候选词与所述错词的相似度以及各候选词在所述错词位置的评估概率,以及确定所述错词相对于各候选词的出错信息;根据所述相似度、评估概率以及出错信息,确定各候选词对应的评估得分;既考虑到了相似度以及上下文语言环境,又考虑到了用户书写词时的习惯问题,由此能提高候选词评估结果的可靠性。

在一个实施例中,第二概率确定模块1103,具体用于根据预设的语言模型计算候选语句中候选词、候选词的临近词各自在其位置的概率,将所述概率的log值作为各词的语言环境概率;对候选语句中候选词的语言环境概率、候选词的临近词的语言环境概率求平均,得到所述候选语句中候选词的评估概率。

在一个实施例中,所述第十一评估模块1105包括:第一评分子模块,用于若错词与候选词首字母相同,则根据所述相似度、评估概率以及第一系数计算所述候选词的评估得分;第二评分子模块,用于若错词与候选词首字母不同,则根据所述相似度、评估概率以及第二系数计算所述候选词的评估得分。

如图26所示,在第二十五实施例中,提供一种候选词评估装置,本实施例的候选词评估装置包括:

候选词获取模块1201,用于检测到错词,获取错词对应的多个候选词。

距离确定模块1202,用于确定各候选词与所述错词的编辑距离。

相似度确定模块1203,用于确定各候选词与错词的相似度,所述相似度根据各候选词与错词的最长公共子序列和/或最长公共子串得到。

第一概率确定模块1204,用于确定各候选词在所述错词位置的语言环境概率。

出错信息获取模块1205,用于获取所述错词相对于各候选词的出错信息。

以及,第十二评估模块1206,用于根据所述编辑距离、相似度、语言环境概率以及出错信息,确定各候选词对应的评估得分。

上述实施例的候选词评估装置,在检测到错词时,首先获取对应的多个候选词,分别确定各候选词与所述错词的编辑距离和相似度以及各候选词在所述错词位置的语言环境概率,以及确定所述错词相对于各候选词的出错信息;根据所述编辑距离、相似度、语言环境概率以及出错信息,确定各候选词对应的评估得分;既考虑到了编辑距离信息、相似度以及上下文语言环境,又考虑到了用户书写词时的习惯问题,由此能提高候选词评估结果的可靠性。

在一个实施例中,所述第一概率确定模块1204,具体用于根据预设的语言模型计算各候选词在所述错词位置的概率,将该概率的log值作为所述候选词的语言环境概率。

在一个实施例中,所述第十二评估模块1206包括:第一评分子模块,用于若错词与候选词首字母相同,则根据所述编辑距离、相似度、语言环境概率以及第一系数计算所述候选词的评估得分;第二评分子模块,用于若错词与候选词首字母不同,则根据所述编辑距离、相似度、语言环境概率以及第二系数计算所述候选词的评估得分。

如图27所示,在第二十六实施例中,提供一种候选词评估装置,本实施例的候选词评估装置包括:

候选词获取模块1301,用于检测到错词,获取错词对应的多个候选词。

距离确定模块1302,用于确定各候选词与所述错词的编辑距离。

相似度确定模块1303,用于确定各候选词与错词的相似度,所述相似度根据各候选词与错词的最长公共子序列和/或最长公共子串得到。

第二概率确定模块1304,用于分别用各候选词替换所述错词,得到候选语句,根据所述候选语句确定对应候选词的评估概率,所述评估概率根据候选语句中候选词的语言环境概率、以及候选词的临近词的语言环境概率得出。

出错信息获取模块1305,用于获取所述错词相对于各候选词的出错信息。

以及,第十三评估模块1306,用于根据所述编辑距离、相似度、评估概率以及出错信息,确定各候选词对应的评估得分。

上述实施例的候选词评估装置,在检测到错词时,首先获取对应的多个候选词,分别确定各候选词与所述错词的编辑距离和相似度以及各候选词在所述错词位置的评估概率,以及确定所述错词相对于各候选词的出错信息;根据所述编辑距离、相似度、评估概率以及出错信息,确定各候选词对应的评估得分;既考虑到了编辑距离、相似度以及上下文语言环境,又考虑到了用户书写词时的习惯问题,由此能提高候选词评估结果的可靠性。

在一个实施例中,第二概率确定模块1304,具体用于根据预设的语言模型计算候选语句中候选词、候选词的临近词各自在其位置的概率,将所述概率的log值作为各词的语言环境概率;对候选语句中候选词的语言环境概率、候选词的临近词的语言环境概率求平均,得到所述候选语句中候选词的评估概率。

在一个实施例中,所述第十三评估模块1306,还用于根据所述编辑距离的倒数、相似度、评估概率的倒数以及出错信息,确定各候选词对应的评估得分。

在一个实施例中,所述第十三评估模块1306包括:第一评分子模块,用于若错词与候选词首字母相同,则根据所述编辑距离、相似度、评估概率以及第一系数计算所述候选词对应的评估得分;第二评分子模块,用于若错词与候选词首字母不同,则根据所述编辑距离、相似度、评估概率以及第二系数计算所述候选词对应的评估得分。

在上述任一实施例的候选词评估装置的基础上,在一实施例中,候选词评估装置还包括:候选词确定模块,用于计算错词与预设词库中已知词的编辑距离,选取编辑距离在设定范围内的已知词,得到所述错词对应的多个候选词。

在一实施例中,在上述任一实施例的候选词评估装置的基础上,候选词评估装置还包括:校正模块,用于根据所述评估得分从所述多个候选词中确定出所述错词对应的纠错词,用所述纠错词对所述错词进行校正。可选地,所述错词校正模块,用于从多个候选词中确定出所述评估得分最高的候选词,作为所述错词对应的纠错词。

在一实施例中,在上述任一实施例的候选词评估装置的基础上,候选词评估装置还包括:排序模块,用于根据所述评估得分对所述多个候选词进行排序,显示排序后的所述多个候选词。

在一实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述任一实施例中候选词评估方法的步骤。

通过该计算机设备,相比于传统根据编辑距离的候选词评估方式,能够更有效的评估错词的候选词。

在一实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例中候选词评估方法的步骤。

通过该计算机可读存储介质,相比于传统根据编辑距离的候选词评估方式,能够更有效的评估错词的候选词。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

本文实施例的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或(模块)单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

在本文中提及的“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二”区分的对象在适当情况下可以互换,以使这里描述的实施例能够以除了在这里图示或描述的那些以外的顺序实施。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1