用于对表意字符的输入字符串进行自动纠错的方法转让专利

申请号 : CN200710101134.2

文献号 : CN101295293B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 韩客松陈桂林

申请人 : 摩托罗拉公司

摘要 :

一种用于对表意字符的输入字符串进行自动纠错的方法能够改善光学字符识别或自动语音识别。所述方法包括使用主题词典将输入字符串分段以提供第一分段的字符串,其中,第一分段的字符串包括至少一个不匹配的主题词典子字符串(步骤305)。然后,使用一般词典对不匹配的主题词典子字符串进行分段,以提供第二分段的字符串(步骤310)。然后,识别第二分段的字符串的目标子字符串(步骤315),并生成目标子字符串的多个纠正候选字符串(步骤320)。然后,根据多个纠正候选字符串确定优选的纠正候选字符串(步骤325)。最后,通过用优选的纠正候选字符串替换目标子字符串,纠正输入字符串中的错误(步骤330)。

权利要求 :

1.一种用于对表意字符的输入字符串进行自动纠错的方法,所述方法包括:使用主题词典将所述输入字符串分段以提供第一分段的字符串,其中,所述第一分段的字符串包括至少一个与所述主题词典不匹配的主题词典子字符串;

使用一般词典对所述不匹配的主题词典子字符串进行分段,以提供第二分段的字符串;

识别所述第二分段的字符串的目标子字符串;

生成所述目标子字符串的多个纠正候选字符串;

根据所述多个纠正候选字符串确定优选的纠正候选字符串;以及

通过用所述优选的纠正候选字符串替换所述目标子字符串,纠正所述输入字符串中的错误。

2.根据权利要求1所述的方法,其中,识别所述第二分段的字符串的目标子字符串的步骤包括:识别至少两个相邻的实词表意字符;

识别在所述至少两个相邻的实词表意字符之前并且与所述至少两个相邻的实词表意字符相邻的第一观察点单词,以及在所述至少两个相邻的实词表意字符之后并且与所述至少两个相邻的实词表意字符相邻的第二观察点单词;以及将所述目标子字符串识别为包括所述第一观察点单词、所述至少两个相邻的实词表意字符以及所述第二观察点单词。

3.根据权利要求1所述的方法,其中,生成所述目标子字符串的多个纠正候选字符串的步骤包括将所述目标子字符串分段。

4.根据权利要求1所述的方法,其中,根据所述多个纠正候选字符串确定优选的纠正候选字符串的步骤包括:统计所述多个纠正候选字符串中的每一个纠正候选字符串中的单词数量;

通过在每一个纠正候选字符串中添加多个单词的最小编辑距离,生成每一个纠正候选字符串的总的编辑距离;

基于每一个纠正候选字符串中的单词数量并基于每一个纠正候选字符串的所述总的编辑距离,生成包括每一个纠正候选字符串的实用成本的实用成本组;以及通过确定所述实用成本组中的最小实用成本确定优选的纠正候选字符串。

5.根据权利要求4所述的方法,其中,基于每一个纠正候选字符串中的单词数量并基于每一个纠正候选字符串的所述总的编辑距离,生成包括每一个纠正候选字符串的实用成本的所述实用成本组是基于下列公式进行的:PBest=arg minP(num(P)+Σi=1nmined(Wi)),其中,P是纠正候选字符串,num(P)和n  是P中的单词数量,Wi是P的第i个单词,mined(Wi)是Wi的最小编辑距离。

6.根据权利要求4所述的方法,其中,使用所述主题词典和所述一般词典两者,生成每一个纠正候选字符串的所述总的编辑距离。

7.根据权利要求1所述的方法,其中,所述输入字符串包括多个汉语字符。

8.根据权利要求1所述的方法,其中,所述主题词典包括表意字符的图像或表述。

9.根据权利要求1所述的方法,其中,所述一般词典包括表意字符的图像或表述。

10.根据权利要求1所述的方法,其中,所述输入字符串是光学字符识别过程的输出或自动语音识别过程的输出。

说明书 :

技术领域

本发明一般涉及光学字符识别和语音识别系统,具体来说,涉及光学字符和语音识别过程中的纠错。

背景技术

借助于光学字符识别(OCR)和自动语音识别(ASR)系统,可以进行各式各样的重要的数据处理和人机交互。现代的高效率的OCR和ASR系统可以使用复杂性降低的算法来进行操作,这些算法使系统能集成到诸如移动电话和个人数字助理(PDA)之类处理器和的存储器有限的手持设备中。然而,这些OCR和ASR系统有时会产生用户无法接受的识别错误率。因此,后处理纠错技术对于提高识别准确度是很有用的。
对单词进行准确的分段是许多OCR和ASR过程的重要方面。在诸如英语之类的许多语言中,对输入的文本字符串的自动分段是一个简单的过程,因为单词是由轻松地定义的空格符来分隔的。然而,在诸如中文及其他基于表意字符的语言之类的中未分段的语言中,没有使用空格或其他分隔符来分隔文本字符串中的单个单词。因此,这些语言需要在OCR和ASR后处理单词分段纠错中有其他方法,包括形态学和词法技术。
形态学技术包括使用隐藏马尔可夫模型(HMM)的n-gram技术。HMM是统计描述,包括平均和方差矢量,描述了诸如单词和音素之类的语音单位。在使用n-grams对文本字符串进行分析时,单词被模型化,以便每一个n-gram都包括n个单词。然而,在诸如移动电话之类的处理器和存储器有限的手持设备中,n一般被限于非常低的数字,这会抑制分析精确度。
词法技术包括使用上下文特定的词典来实现单词分段纠错。然而,只依赖于个别的上下文特定的词典术语来对文本字符串进行分段会大大地限制OCR或ASR系统的功能。

发明内容

根据本发明的一个方面,提供了一种用于对表意字符的输入字符串进行自动纠错的方法,所述方法包括:使用主题词典将所述输入字符串分段以提供第一分段的字符串,其中,所述第一分段的字符串包括至少一个与所述主题词典不匹配的主题词典子字符串;使用一般词典对所述不匹配的主题词典子字符串进行分段,以提供第二分段的字符串;识别所述第二分段的字符串的目标子字符串;生成所述目标子字符串的多个纠正候选字符串;根据所述多个纠正候选字符串确定优选的纠正候选字符串;以及通过用所述优选的纠正候选字符串替换所述目标子字符串,纠正所述输入字符串中的错误。

附图说明

为了可以轻松地理解本发明并使本发明产生经济效果,现在将参考示范性实施例并参考附图,其中,在各个单独的视图中,类似的参考编号表示相同的或功能上类似的元件。附图与下面的详细描述一起,构成了说明书的一部分,用于进一步显示各个实施例,并说明根据本发明的各种原理和优点,其中:
图1是显示了根据本发明的某些实施例的呈现移动电话的形式的电子设备的示意图。
图2是显示了根据本发明的某些实施例的用于对表意字符的输入字符串的进行自动纠错的方法的流程图;
图3是显示了根据本发明的某些实施例的用于对表意字符的输入字符串的进行自动纠错的方法的一般流程图;
图4是根据本发明的某些实施例的识别目标子字符串的步骤的分步骤的一般流程图;以及
图5显示了根据本发明的某些实施例的根据多个纠正候选字符串确定优选的纠正候选字符串的步骤的分步骤的一般流程图。
本领域技术人员将理解,图中的元素是简明而清晰地显示的,不一定是按比例绘制的。例如,图中的某些元素的维可以相对于其他元素而放大,以帮助改善对本发明的实施例的理解。

具体实施方式

在详细描述根据本发明的实施例之前,应该注意,实施例主要地组合了涉及对表意字符的输入字符串进行自动纠错的方法步骤和设备组件。相应地,设备组件和方法步骤在适当的情况下通过图形中的惯用符号来代表,只显示了与本发明的实施例有关的那些具体细节,以便不会用对对那些精通具有这里的描述的优点的技术的人员显而易见的细节使本说明书模糊。
在此文档中,诸如第一和第二、顶部和底部、之前和之后等等关系术语可以只用于区别一个实体或操作与另一个实体或操作,而不一定需要或暗示这样的实体或操作之间的任何实际这样的关系或顺序。术语“包括”或其任何其他变体,用于涵盖非排他性的包含,以便包括元件列表的过程、方法、产品或设备不只包括那些元件而是可以包括没有明确地列出的其他元件或这样的过程、方法、产品或设备固有的其他元件。前面有“包括一个”的元件没有更多约束地,不排除包括该元件的过程、方法、产品或设备中的另外的相同元件的存在。
请参看图1,示意图显示了根据本发明的某些实施例的呈现移动电话100的形式的电子设备。移动电话100包括与处理器103的公用数据和地址总线117通信的射频通信单元102。电话100还具有与处理器103进行通信的小键盘106和显示屏幕105(如触摸屏)。
处理器103还包括具有用于存储数据的关联的代码只读存储器(ROM)112的编码器/解码器111,用于对可以由移动电话100传输的或接收到的语音或其他信号进行编码和解码。处理器103进一步包括微处理器113,该微处理器通过公用数据和地址总线117连接到编码器/解码器111、字符只读存储器(ROM)114、随机存取存储器(RAM)104、可编程序存储器116和用户身份模块(SIM)接口118。可编程序存储器116和SIM可操作地连接到SIM接口118,它们各自都可以存储,其中,电话号码数据库(TND)(包括电话号码的号码字段,与电话号码中的电话号码唯一地关联的标识符的名称字段)。
射频通信单元102是具有共用天线107的组合接收器和发射器。通信单元102具有通过射频放大器109连接到天线107的收发器108。收发器108还连接到组合调制器/解调器110,而该组合调制器/解调器110又连接到编码器/解码器111。
微处理器113具有用于连接到小键盘106和显示屏幕105的端口。微处理器113进一步具有用于连接到警告模块115(该模块通常包含警告扬声器、振动器电动机和关联的驱动程序)、连接到麦克风120;以及连接到通信扬声器122的端口。字符ROM 114存储了用于对可以由通信单元102传输或接收到的诸如控制信道消息之类的数据进行解码或进行编码的代码。在本发明的某些实施例中,字符ROM 114、可编程序存储器116或SIM还可以存储微处理器113的操作代码(OC)和用于执行与移动电话100关联的功能的代码。例如,可编程序存储器116可以包括自动纠错程序代码组件125,这些组件被配置为导致对表意字符的输入字符串的进行自动纠错的方法的执行。
如此,本发明的某些实施例包括使用移动电话100来自动地纠正表意字符的输入字符串中的错误的方法。例如,这样的输入字符串可以是在移动电话100上执行的光学字符识别(OCR)过程的输出或自动语音识别(ASR)过程的输出。所述方法包括使用主题词典来将输入字符串分段以提供第一分段的字符串,其中,所述第一分段的字符串包括至少一个不匹配的主题词典子字符串。然后,使用一般词典来对不匹配的主题词典子字符串进行分段,以提供第二分段的字符串。然后,识别第二分段的字符串的目标子字符串,并生成目标子字符串的多个纠正候选字符串。然后,根据多个纠正候选字符串确定优选的纠正候选字符串。最后,通过用优选的纠正候选字符串替换目标子字符串,来纠正输入字符串中的错误。
因此,本发明的某些实施例能基于对主题词典和一般词典的内容的考虑,使从光学字符识别(OCR)过程或从自动语音识别(ASR)过程输出的一组表意字符得到纠正。主题词典可以包括与特定OCR或ASR任务关联的单词,如响应在麦克风120中接收到的ASR语音命令,检索存储在移动电话100中的可编程序存储器116中的地址簿项。
请参看图2,流程图显示了根据本发明的某些实施例的对表意字符的输入字符串进行自动纠错的方法200。首先,从识别过程的输出中获取输入字符串205。例如,输入字符串205可以是从光学字符识别过程或从自动语音识别过程输出的表意字符的文本字符串,如多个汉语字符。然后,使用主题词典对输入字符串205进行分段,以提供第一分段的字符串210。第一分段的字符串210包括两个匹配的主题词典子字符串215、220和至少一个不匹配的主题词典子字符串225。
主题词典可以包括各种文件或数据库中的任何一种,大概包括单词或短语,或输入字符串205中包括的表意字符的图像或表述。例如,假设移动电话100的可编程序存储器116包括电子地址簿文件,该文件包括与移动电话100的用户关联的人们的姓名和地址。此外,假设输入字符串205是移动电话100的语音识别过程的输出,该过程对由移动电话100的用户向麦克风120发出的音频命令进行处理。因此,从统计学上来讲,比较可能输入字符串205可以包括来自移动电话100的电子地址簿的单词或短语,而不是来自一般词典的任意单词或短语。因此,从统计学上来讲,两个匹配的主题词典子字符串215、220比只基于一般词典的分段更加可能代表输入字符串205的正确的分段。
然后,使用一般词典来对不匹配的主题词典子字符串225进行分段,以提供第二分段的字符串230。例如,这样的一般词典可以包括存储在移动电话100的可编程序存储器116的压缩的标准词典,并还可以包括表意字符的图像或表述。
接下来,识别第二分段的字符串230的目标子字符串235。如下面比较详细地描述的,可以通过识别与不匹配的主题词典子字符串225相邻的实词表意字符,来识别目标子字符串235。实词表意字符一般包括普通名词和动词;而所有格和定冠词和不定冠词一般被视为非实词表意字符。例如,在中文中,诸如“花”(“flower”)之类的名词和诸如“跳”(“jump”)之类的动词是实词;而诸如“的”(英语中的所有格“s”)被视为非实词。
然后,对于目标子字符串235,生成多个纠正候选字符串240。例如,可以对目标子字符串235进一步进行分段,以生成多个纠正候选字符串240。
然后,根据多个纠正候选字符串240确定优选的纠正候选字符串245。接下来,目标子字符串235被替换为优选的纠正候选字符串245。最后,方法200通过识别新的目标子字符串来进行重复。
请参看图3,一般流程图进一步显示了根据本发明的某些实施例的用于对表意字符的输入字符串205进行自动纠错的方法200。在步骤305中,使用主题词典来对输入字符串205进行分段,以提供第一分段的字符串210,其中,第一分段的字符串210包括至少一个不匹配的主题词典子字符串225。
在步骤310中,使用一般词典来对不匹配的主题词典子字符串225进行分段,以提供第二分段的字符串230。
在步骤315中,识别第二分段的字符串230的目标子字符串235。
在步骤320中,生成目标子字符串235的多个纠正候选字符串240。
在步骤325中,根据多个纠正候选字符串240确定优选的纠正候选字符串245。
在步骤330中,通过用优选的纠正候选字符串245替换目标子字符串235,来纠正输入字符串205中的错误。然后,方法200返回到步骤315,在该步骤中,识别新的目标子字符串。
请参看图4,一般流程图显示了根据本发明的某些实施例的识别目标子字符串235的步骤315的分步骤。在步骤405中,识别至少两个相邻的实词表意字符。
在步骤410中,识别至少两个相邻的实词表意字符之前且相邻的第一观察点单词,以及至少两个相邻的实词表意字符之后且相邻的第二观察点单词。
在步骤415中,目标子字符串235被确定为包括第一观察点单词、至少两个相邻的实词表意字符,以及第二观察点单词。
例如,假设输入字符串205包括下列汉字:我们是摩托罗泣公司。进一步假设使用主题词典的分段结果是:我们|是|摩托|罗泣|公司,而使用一般词典的分段结果是我们|是|摩托|罗|泣|公司。单词“罗”和“泣”是连续的单字符实词,如此,这些单词和它们的左边的邻居“摩托”和右边的邻居“公司”被用来将目标子字符串235识别为“摩托+罗+泣+公司”。
请参看图5,一般流程图显示了根据本发明的某些实施例的根据多个纠正候选字符串确定优选的纠正候选字符串的步骤325的分步骤。在步骤505中,统计多个纠正候选字符串中的每一个纠正候选字符串中的单词数量。例如,再次考虑下列汉字输入字符串205:
摩托+罗+泣+公司
输入字符串205包括下列六个纠正候选字符串:
摩托罗+泣+公司,摩托+罗泣+公司,摩托+罗+泣公司,摩托罗泣+公司,
摩托+罗泣公司,和摩托罗泣公司.
因此,六个纠正候选字符串中的每一个的字数num(p)分别是3,3,3,2,2,和1。
在步骤510中,通过在每一个纠正候选字符串中添加多个单词的最小编辑距离,生成每一个纠正候选字符串的总的编辑距离。根据本发明的某些实施例,最小编辑距离是将纠正候选字符串转换为目标子字符串所需的诸如“插入”、“删除”或“修改”之类的编辑器操作的最小数量。例如,对于纠正候选字符串“ac”和目标子字符串“abc”,最小编辑距离是1。这是因为将“ac”转换为“abc”只需要一个“插入”操作(即,在“a”和“c”之间插入“b”)。
在上文涉及汉字的示例中,假设主题词典包括下列单词:
摩托,公司和摩托罗拉公司.
上文的汉字的输入字符串205的一个可能的分段结果是上文的六个纠正候选字符串240中的第一个:摩托罗+泣+公司,其中,单词摩托罗,泣,和公的最小编辑距离分别是1,1,和0。因此,这些最小编辑距离的总和是1+1+0=2。类似地,上文的汉字的输入字符串205的另一个可能的分段结果是上文的六个纠正候选字符串240中的第二个:摩托+罗泣+公司,其中,单词摩托,罗泣,和公司的最小编辑距离分别是0,2,0。这些最小编辑距离的总和是0+2+0=2。那么,剩余的四个纠正候选字符串的最小编辑距离的总和分别是:0+1+1=2,2+0=2,0+2=2和1。根据本发明的某些实施例,使用主题词典和一般词典两者生成每一个纠正候选字符串240的总的编辑距离。
在步骤515中,基于每一个纠正候选字符串中的单词的数量并基于每一个纠正候选字符串的总的编辑距离,生成包括每一个纠正候选字符串的实用成本的实用成本组。例如,基于每一个纠正候选字符串240中的单词的数量并基于每一个纠正候选字符串240的总的编辑距离,生成包括每一个纠正候选字符串240的实用成本的实用成本组是基于下列公式进行的:
PBest=argminP(num(P)+Σi=1nmined(Wi)),(公式1)
其中,P是纠正候选字符串,num(P)和n是P中的单词数量,Wi是P的第i个单词,mined(Wi)是Wi的最小编辑距离。
在步骤520中,通过确定实用成本组中的最小实用成本来确定优选的纠正候选字符串。例如,使用公式1中的函数argpmin,可以确定最小实用成本。考虑上文所描述的汉字的六个纠正候选字符串240中的每一个,分别是:3+2=5,3+2=5,3+2=5,2+2=4,2+2=4和1+1=2。因此,Pbest是2,因此,第六纠正候选字符串240被判断为优选的纠正候选字符串245。
因此,本发明的某些实施例的优点包括改善了光学字符识别(OCR)或自动语音识别(ASR)过程的识别准确度。主题词典可以包括与特定OCR或ASR任务关联的单词,如响应ASR语音命令,检索存储在移动电话中的地址簿项。然后,纠错过程可以使用主题词典和一般词典两者来确定优选的纠正候选字符串并纠正输入字符串中的错误。因此,可以改善总的OCR或ASR性能,特别是在诸如移动电话和个人数字助理(PDA)之类的资源有限的手持设备中。
应该理解,这里所描述的本发明的实施例可以包括一个或多个常规处理器和唯一存储的程序指令,这些指令控制一个或多个处理器与某些非处理器电路一起实现这里所描述的对表意字符的输入字符串的进行自动纠错的某些、大多数或所有功能。非处理器电路可以包括,但不仅限于,无线电接收器、无线电发射器、信号驱动器、时钟电路、电源电路,以及用户输入设备。因此,这些功能可以被解释为对表意字符的输入字符串进行自动纠错的方法的步骤。或者,一些或所有功能可以通过没有存储程序指令的状态机来实现,或以一个或多个专用集成电路(ASIC)来实现,其中,每一个功能或某些功能的某种组合作为自定义逻辑来实现。当然,也可以使用两种方法的组合。如此,这里描述了这些功能的方法和装置。此外,可以预期,本领域技术人员,尽管可能花费大量的努力和可用的时间、当前技术,以及经济方面的考虑所推动的许多设计选择,当由这里所说明的概念和原理来指导时,将轻松地能够用最少量的实验生成这样的软件指令和程序和IC。
在前面的说明中,描述了本发明的特定实施例。然而,那些本领域技术人员将理解,在不偏离如下面的权利要求所阐述的本发明的范围的情况下,可以进行各种修改和更改。相应地,说明和图形应被视为说明性的,而不是限制性的,所有这样的修改方案都包括在本发明的范围内。优点、优势、对问题的解决方案,以及可能导致任何优点、优势,或解决方案发生或变得更加明显的任何元素不应该被理解为任何或所有权利要求的关键的、必需的或基本特点或元素。本发明只由所附权利要求进行定义,包括在本申请的待审批过程中作出的任何修改以及这些权利要求的所有等效内容。