专利名称:一种字词输入的纠错方法及系统的制作方法
技术领域:
本发明涉及输入法技术领域,特别是涉及一种字词输入的纠错方法及系统。
背景技术:
随着计算机、互联网等技术应用的越来越广泛,人们很多的日常工作和娱乐都在计算机上进行,用户越来越频繁地需要通过计算机输入信息而完成人机交互。对于中文、日文、韩文等用户而言,一般需要通过输入法程序与计算机进行交互。以中文用户为例,一般来说,用户输入的是一串字母(通常是汉字的拼音)或笔画等编码字符串,系统需要把它转换成相应的中文字符。然而用户在进行字词输入的过程中可能存在较多的错误,这里涉及的输入错误, 大致可以分为认知错误和非认知错误两类。认知错误是那些不知道欲输入的字词如何正确拼写,造成的输入错误,模糊音就属于认知错误这个范畴。而非认知错误是指,知道字词如何拼写,但是由于输入时手忙脚乱或者受制于输入设备等而造成了输入错误。目前,一些输入法系统提供了纠错设置,参见图1,这种方法通常根据大量的用户输入数据训练生成纠错列表;在生成候选之前根据纠错列表中的规则进行强制纠错,例如, 根据图ι所示的纠错列表,如果用户的输入序列中出现了 gn,便直接将其转换为ng。这种方法虽然在一定程度上实现了自动纠错,但也存在一些缺点,例如,纠错列表是默认预置的, 在用户输入的过程中,只要发现用户输入的字符串中命中了纠错列表中的某项,就会不加区分地强制纠错,并展现纠错后的结果,这会使得误判的可能性比较高。例如,用户在输入法英文输入模式下输入单词gnome,如果利用该方法,则会强制将其转换为ngome,并且直接作为纠错后的输出,而这显然是一个无效的纠错结果,会影响输入的流畅度。因此,需要本领域技术人员迫切解决的一个技术问题就是如何提供一种新的纠错方案,在实现纠错的同时,提高纠错的有效性或命中率。
发明内容
本发明提供一种字词输入的纠错方法及系统,能够提高纠错的有效性或命中率。本发明提供了如下方案一种字词输入的纠错方法,包括检测用户输入的编码字符串中存在的错误输入片段;纠正所述编码字符串中的错误输入片段,生成至少一个纠错候选字符串;利用基于编码字符串的噪音信道模型,对所述纠错候选字符串进行评估;根据评估的结果,将至少一个所述纠错候选字符串转换为输入文字,并展现所述输入文字。其中,所述基于编码字符串的噪音信道模型包括基于编码字符串的语言模型和/ 或基于编码字符串的纠错模型;所述基于编码字符串的语言模型用于描述编码字符串中前后连接的各个元素之间通顺的概率;所述基于编码字符串的纠错模型用于描述编码字符串中上下文位置关系确定的情况下,出现各种可能的输入错误的概率。其中,当所述噪音信道模型为所述语言模型时,所述利用基于编码字符串的噪音信道模型,对所述纠错候选字符串进行评估包括对于纠错候选字符串中的各个元素,利用所述语言模型,计算其在所述纠错候选字符串中的上下文位置出现时通顺的概率;综合针对各个元素计算出的概率,对所述纠错候选字符串进行评估。其中,所述基于编码字符串的语言模型包括基于字母的二元模型或多元模型;当所述编码字符串为汉语拼音串时,所述基于编码字符串的语言模型还包括基于拼音音节的二元模型或多元模型。其中,当所述噪音信道模型为所述纠错模型时,所述利用基于编码字符串的噪音信道模型,对所述纠错候选字符串进行评估包括利用所述纠错模型,计算在所述编码字符串中所述错误输入片段所在的上下文位置,将所述纠错候选字符串中的纠错结果输入为所述错误输入片段的概率;根据所述概率,对所述纠错候选字符串进行评估。其中,所述纠错模型包括基于左边单字母或多字母的纠错模型、基于右边单字母或多字母的纠错模型,或者,基于左右两边单字母或多字母的纠错模型;当所述编码字符串为汉语拼音串时,所述基于编码字符串的语言模型还包括基于左边单音节或多音节的纠错模型、基于右边单音节或多音节的纠错模型,或者,基于左右两边单音节或多音节的纠错模型。优选地,还包括将所述纠错候选字符串转换为输入文字,根据所述输入文字,利用基于转换后文字的噪音信道模型、用户词频、用户词库及用户输入习惯中的一种或多种,对所述纠错候选字符串进行重评估。优选地,还包括将所述用户输入的编码字符串发送到远端服务器,并接收所述远端服务器返回的纠错候选字符串及其评估的结果。优选地,还包括当用户选择了某纠错候选字符串对应的字词转换结果时,抽取该纠错候选字符串中的错误输入片段;利用抽取出的该用户的错误输入片段,生成针对该用户的所述噪音信道模型。优选地,所述噪音信道模型为多个,组合为多种模型加载方案,每个模型加载方案包括至少一个噪音信道模型;所述方法还包括根据所在计算机系统的配置信息,选择与其计算能力匹配的模型加载方案进行加载。一种字词输入的纠错系统,包括检错单元,用于检测用户输入的编码字符串中存在的错误输入片段;纠错单元,用于纠正所述编码字符串中的错误输入片段,生成至少一个纠错候选字符串;评估单元,用于利用基于编码字符串的噪音信道模型,对所述纠错候选字符串进行评估;转换单元,用于根据评估的结果,将至少一个所述纠错候选字符串转换为输入文字,并展现所述输入文字。其中,所述基于编码字符串的噪音信道模型包括基于编码字符串的语言模型和/ 或基于编码字符串的纠错模型;所述基于编码字符串的语言模型用于描述编码字符串中前后连接的各个元素之间通顺的概率;所述基于编码字符串的纠错模型用于描述编码字符串中上下文位置关系确定的情况下,出现各种可能的输入错误的概率。其中,当所述噪音信道模型为所述语言模型时,所述评估单元包括第一计算子单元,用于对于纠错候选字符串中的各个元素,利用所述语言模型,计算其在所述纠错候选字符串中的上下文位置出现时通顺的概率;第一评估子单元,用于综合针对各个元素计算出的概率,对所述纠错候选字符串进行评估。其中,所述基于编码字符串的语言模型包括基于字母的二元模型或多元模型;当所述编码字符串为汉语拼音串时,所述基于编码字符串的语言模型还包括基于拼音音节的二元模型或多元模型。其中,当所述噪音信道模型为所述纠错模型时,所述评估单元包括第二计算子单元,用于利用所述纠错模型,计算在所述编码字符串中所述错误输入片段所在的上下文位置,将所述纠错候选字符串中的纠错结果输入为所述错误输入片段的概率;第二评估子单元,用于根据所述概率,对所述纠错候选字符串进行评估。其中,所述纠错模型包括基于左边单字母或多字母的纠错模型、基于右边单字母或多字母的纠错模型,或者,基于左右两边单字母或多字母的纠错模型;当所述编码字符串为汉语拼音串时,所述基于编码字符串的语言模型还包括基于左边单音节或多音节的纠错模型、基于右边单音节或多音节的纠错模型,或者,基于左右两边单音节或多音节的纠错模型。优选地,还包括重评估单元,用于将所述纠错候选字符串转换为输入文字,根据所述输入文字,利用基于转换后文字的噪音信道模型、用户词频、用户词库及用户输入习惯中的一种或多种, 对所述纠错候选字符串进行重评估。优选地,还包括云计算单元,用于将所述用户输入的编码字符串发送到远端服务器,并接收所述远端服务器返回的纠错候选字符串及其评估的结果。优选地,还包括抽取单元,用于当用户选择了某纠错候选字符串对应的字词转换结果时,抽取该纠错候选字符串中的错误输入片段;
个性化模型生成单元,用于利用抽取出的该用户的错误输入片段,生成针对该用户的所述噪音信道模型。优选地,所述噪音信道模型为多个,组合为多种模型加载方案,每个模型加载方案包括至少一个噪音信道模型;所述系统还包括加载方案选择单元,用于根据所在计算机系统的配置信息,选择与其计算能力匹配的模型加载方案进行加载。根据本发明提供的具体实施例,本发明公开了以下技术效果本发明实施例在对用户的输入进行纠错时,在得到纠错候选字符串之后,并不是直接进行音字转换,并向用户展现转换后的结果,而是首先对纠错候选字符串进行评估,根据评估的结果,来决定对哪个或哪些纠错候选字符串进行转换,这样,可以提高纠错的有效性或命中率。其中,在对纠错候选字符串进行评估时,使用的是基于编码字符串本身建立的噪音信道模型,这样,在进行评估时,仅对纠错候选字符串本身进行分析即可,而不需要首先将字符串进行转换,再利用依据转换后的文字建立的模型进行评估,因此,可以提高评估的实现效率。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的方法的流程图;图2是本发明实施例提供的系统的示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。参见图1,本发明实施例提供的字词输入的纠错方法包括以下步骤SlOl 检测用户输入的编码字符串中存在的错误输入片段;具体在检测用户输入的编码字符串中存在的错误输入片段时,可以有多种检测方法。其中一种方法可以是,使用当前语境下的词典对输入字符串进行分词(如,对于汉语而言,每个音节即是一个词),查看是否存在分词碎片,或者是否存在词典中没有出现过的输入片段;如果存在,则证明存在错误输入片段。例如,假设用户输入的编码字符串是 "shenem",按照音节进行分词时,“em”就会成为分词碎片,因为“nem”或“em”都不能构成一个音节,因此,就可以将其作为一个可能的错误输入片段检测出来。当编码字符串为拼音串时,另一种方法可以是基于字母ngram统计的错误检测方法。语言模型ngram是使用统计的方法用来评判输入的编码字符串是否符合该语言的拼写规范及其流畅程度的一种度量。例如,对于汉语而言,根据413个音节及其不同组合,可生成全拼输入的合法三元列表,如aaa、abu、zuz......接下来就可以对输入进行三元匹配,
凡拼音串中的某个三元串没有命中合法三元列表,或者基于三元统计的概率得分小于某阈值,则可将其判定为该拼音串中存在的错误输入片段。比如某用户在中文拼音输入语境下输入tutor,则,该拼音串可以拆分成tut、uto、tor共三个三元串,第一个三元串tut符合合法三元列表,而第二个不符合,则可推断在第二个位置存在错误输入片段。当然如果在英文语境下,tutor则符合三元统计,同时它也能直接命中英文词典,也就是说,在不同的语境下,模型参数可能会不同。除上述方法之外,还可以有其他的检测方法,这里不再一一列举。S102:针对所述编码字符串中的错误输入片段处进行纠正,生成至少一个纠错候选字符串;在检测出编码字符串中存在错误输入片段之后,就可以对该错误输入片段进行纠正。具体的纠正方法可以有多种,例如,在一种方式下,由于用户的错误输入片段通常有漏输了某个字母、多输了某个字母、将某字母错输为另一字母,或者,某两个字母之间的顺序颠倒,等等,因此,对于检测出的错误输入片段,可以采用字母的替换、插入、删除等操作方法进行纠正。例如,在进行插入操作时,可以在错误输入片段的每个位置分别用字母a到ζ 进行尝试,判断插入后的输入片段是否命中三元列表,等等。其他的操作也可以类似进行。当然,也可以基于统计的方法,生成正确概率较高,或者更加符合用户习惯的纠错候选字符串。例如,在进行字母的替换操作时,可以根据键盘上的键位分布情况,选择距离当前字母较近的几个字母进行尝试;或者,如果用户总是习惯性地将字母a错输为字母z, 则可以优先尝试使用字母ζ进行替换字母a的操作,等等。同样,也可以有其他的纠错方法,例如,还可以采用规则列表的方式,等等,这里不
再一一介绍。需要说明的是,在本发明实施例中,纠错候选字符串可以是指,对于用户输入的编码字符串中存在的错误输入片段进行纠正后,与编码字符串中原来已经输入正确的部分连接在一起,得到的各种可能的正确的字符串。例如,用户输入的编码字符串为“maifng”,通过步骤SlOl检测出“fng”处存在错误输入片段,则经过插入字母的操作,可以得到以下纠错候选字符串“maifang,,、“maifeng,,等。S103 利用基于编码字符串的噪音信道模型,对所述纠错候选字符串进行评估;在本发明实施例中,在得到了纠错候选字符串之后,并不是马上给出针对各个纠错候选字符串的字词转换结果,而是首先对各个纠错候选字符串进行评估。具体在评估时, 本发明实施例采用的是基于编码字符串的噪音信道模型。也即,在对纠错候选字符串进行评估时,可以仅考虑纠错候选字符串本身的因素,而不需要考虑纠错候选字符串转换后的字词的因素,因此,在进行评估的过程中,暂时不需要转换为输入文字,可以提高效率。这尤其适用于计算能力相对差一些的环境,通过省去转换这一计算量大的步骤而降低了计算开销。当然,如果不考虑实现效率,则与可以综合考虑纠错候选字符串本身的因素,及其转换后的字词的因素,这样可以提高评估的精度。其中,对于基于编码字符串的噪音信道模型,具体可以有多种表现形式,例如,可以有基于编码字符串的语言模型,还可以有基于编码字符串的纠错模型,等等。 其中,基于编码字符串的语言模型可以用于描述编码字符串中前后连接的各个元素之间通顺的概率。也就是说,可以用于评判一个编码字符串是否符合当前语言环境下的拼写规范及流畅度等。具体实现时,可以采用统计的方式对这种通顺度进行量化。例如,对于汉语拼音输入法而言,可以建立基于拼音音节的二元模型,则该语言模型中的数据可以入表1中所示表 权利要求
1.一种字词输入的纠错方法,其特征在于,包括检测用户输入的编码字符串中存在的错误输入片段;纠正所述编码字符串中的错误输入片段,生成至少一个纠错候选字符串;利用基于编码字符串的噪音信道模型,对所述纠错候选字符串进行评估;根据评估的结果,将至少一个所述纠错候选字符串转换为输入文字,并展现所述输入文字。
2.根据权利要求1所述的方法,其特征在于,所述基于编码字符串的噪音信道模型包括基于编码字符串的语言模型和/或基于编码字符串的纠错模型;所述基于编码字符串的语言模型用于描述编码字符串中前后连接的各个元素之间通顺的概率;所述基于编码字符串的纠错模型用于描述编码字符串中上下文位置关系确定的情况下,出现各种可能的输入错误的概率。
3.根据权利要求2所述的方法,其特征在于,当所述噪音信道模型为所述语言模型时, 所述利用基于编码字符串的噪音信道模型,对所述纠错候选字符串进行评估包括对于纠错候选字符串中的各个元素,利用所述语言模型,计算其在所述纠错候选字符串中的上下文位置出现时通顺的概率;综合针对各个元素计算出的概率,对所述纠错候选字符串进行评估。
4.根据权利要求3所述的方法,其特征在于,所述基于编码字符串的语言模型包括基于字母的二元模型或多元模型;当所述编码字符串为汉语拼音串时,所述基于编码字符串的语言模型还包括基于拼音音节的二元模型或多元模型。
5.根据权利要求2所述的方法,其特征在于,当所述噪音信道模型为所述纠错模型时, 所述利用基于编码字符串的噪音信道模型,对所述纠错候选字符串进行评估包括利用所述纠错模型,计算在所述编码字符串中所述错误输入片段所在的上下文位置, 将所述纠错候选字符串中的纠错结果输入为所述错误输入片段的概率;根据所述概率,对所述纠错候选字符串进行评估。
6.根据权利要求5所述的方法,其特征在于,所述纠错模型包括基于左边单字母或多字母的纠错模型、基于右边单字母或多字母的纠错模型,或者,基于左右两边单字母或多字母的纠错模型;当所述编码字符串为汉语拼音串时,所述基于编码字符串的语言模型还包括基于左边单音节或多音节的纠错模型、基于右边单音节或多音节的纠错模型,或者,基于左右两边单音节或多音节的纠错模型。
7.根据权利要求1至6任一项所述的方法,其特征在于,还包括将所述纠错候选字符串转换为输入文字,根据所述输入文字,利用基于转换后文字的噪音信道模型、用户词频、用户词库及用户输入习惯中的一种或多种,对所述纠错候选字符串进行重评估。
8.根据权利要求1至6任一项所述的方法,其特征在于,还包括将所述用户输入的编码字符串发送到远端服务器,并接收所述远端服务器返回的纠错候选字符串及其评估的结果。
9.根据权利要求1至6任一项所述的方法,其特征在于,还包括当用户选择了某纠错候选字符串对应的字词转换结果时,抽取该纠错候选字符串中的错误输入片段;利用抽取出的该用户的错误输入片段,生成针对该用户的所述噪音信道模型。
10.根据权利要求1至6任一项所述的方法,其特征在于,所述噪音信道模型为多个, 组合为多种模型加载方案,每个模型加载方案包括至少一个噪音信道模型;所述方法还包括根据所在计算机系统的配置信息,选择与其计算能力匹配的模型加载方案进行加载。
11.一种字词输入的纠错系统,其特征在于,包括检错单元,用于检测用户输入的编码字符串中存在的错误输入片段; 纠错单元,用于纠正所述编码字符串中的错误输入片段,生成至少一个纠错候选字符串;评估单元,用于利用基于编码字符串的噪音信道模型,对所述纠错候选字符串进行评估;转换单元,用于根据评估的结果,将至少一个所述纠错候选字符串转换为输入文字,并展现所述输入文字。
12.根据权利要求11所述的系统,其特征在于,所述基于编码字符串的噪音信道模型包括基于编码字符串的语言模型和/或基于编码字符串的纠错模型;所述基于编码字符串的语言模型用于描述编码字符串中前后连接的各个元素之间通顺的概率;所述基于编码字符串的纠错模型用于描述编码字符串中上下文位置关系确定的情况下,出现各种可能的输入错误的概率。
13.根据权利要求12所述的系统,其特征在于,当所述噪音信道模型为所述语言模型时,所述评估单元包括第一计算子单元,用于对于纠错候选字符串中的各个元素,利用所述语言模型,计算其在所述纠错候选字符串中的上下文位置出现时通顺的概率;第一评估子单元,用于综合针对各个元素计算出的概率,对所述纠错候选字符串进行评估。
14.根据权利要求13所述的系统,其特征在于,所述基于编码字符串的语言模型包括 基于字母的二元模型或多元模型;当所述编码字符串为汉语拼音串时,所述基于编码字符串的语言模型还包括基于拼音音节的二元模型或多元模型。
15.根据权利要求12所述的系统,其特征在于,当所述噪音信道模型为所述纠错模型时,所述评估单元包括第二计算子单元,用于利用所述纠错模型,计算在所述编码字符串中所述错误输入片段所在的上下文位置,将所述纠错候选字符串中的纠错结果输入为所述错误输入片段的概率;第二评估子单元,用于根据所述概率,对所述纠错候选字符串进行评估。
16.根据权利要求15所述的系统,其特征在于,所述纠错模型包括基于左边单字母或多字母的纠错模型、基于右边单字母或多字母的纠错模型,或者,基于左右两边单字母或多字母的纠错模型;当所述编码字符串为汉语拼音串时,所述基于编码字符串的语言模型还包括基于左边单音节或多音节的纠错模型、基于右边单音节或多音节的纠错模型,或者,基于左右两边单音节或多音节的纠错模型。
17.根据权利要求11至16任一项所述的系统,其特征在于,还包括重评估单元,用于将所述纠错候选字符串转换为输入文字,根据所述输入文字,利用基于转换后文字的噪音信道模型、用户词频、用户词库及用户输入习惯中的一种或多种,对所述纠错候选字符串进行重评估。
18.根据权利要求11至16任一项所述的系统,其特征在于,还包括云计算单元,用于将所述用户输入的编码字符串发送到远端服务器,并接收所述远端服务器返回的纠错候选字符串及其评估的结果。
19.根据权利要求11至16任一项所述的系统,其特征在于,还包括抽取单元,用于当用户选择了某纠错候选字符串对应的字词转换结果时,抽取该纠错候选字符串中的错误输入片段;个性化模型生成单元,用于利用抽取出的该用户的错误输入片段,生成针对该用户的所述噪音信道模型。
20.根据权利要求11至16任一项所述的系统,其特征在于,所述噪音信道模型为多个, 组合为多种模型加载方案,每个模型加载方案包括至少一个噪音信道模型;所述系统还包括加载方案选择单元,用于根据所在计算机系统的配置信息,选择与其计算能力匹配的模型加载方案进行加载。
全文摘要
本发明公开了一种字词输入的纠错方法及系统,其中,所述方法包括检测用户输入的编码字符串中存在的错误输入片段;纠正所述编码字符串中的错误输入片段,生成至少一个纠错候选字符串;利用基于编码字符串的噪音信道模型,对所述纠错候选字符串进行评估;根据评估的结果,将至少一个所述纠错候选字符串转换为输入文字,并展现所述输入文字。通过本发明,能够提高纠错的有效性或命中率。
文档编号G06F3/023GK102156551SQ20111007920
公开日2011年8月17日 申请日期2011年3月30日 优先权日2011年3月30日
发明者张扬 申请人:北京搜狗科技发展有限公司