手写字符识别的方法和装置的制作方法

文档序号:6412855阅读:205来源:国知局
专利名称:手写字符识别的方法和装置的制作方法
技术领域
本发明总体上讲涉及通过字符识别器实现的手写字符的识别,更具体地说,是涉及采用一种后处理方法和装置进行的改进的手写字符识别方法。
几种目前流行的手持设备能够使用户使用指示笔和数字化仪输入文字字符或字母数字。例如,苹果电脑公司的NewtonTM个人数字助理和摩托罗拉公司的MarcoTM无绳个人通信装置,在显示屏幕上接受手写字符(相对于草书手写字体)。这类设备试图将手写字符转换成打印样式的手写字符。将手写的内容转换成打印样式这一思想可以延伸到中文和其它语言文字的识别。
将手写字符转换成打印样式的部分已知过程包括将手写字符的各字元与预定义的一组模板字符相比较。这一过程通常由字符识别器来完成,字符识别器确定一个模板字符库中哪一组模板字符最接近给定的手写字符。这种确定通常是根据所选中的模板字符与手写字符相同的概率来进行。
传统的字符识别器在从数字化仪或其它输入设备上试图正确地识别手写字符的准确率大致为70%到80%,产生的错误率为15%到30%。这样的准确率不足以让一般的用户信服识别器的能力。
字符识别器在有些领域内的使用是非常有用和有价值的。例如,在讨论会或研讨会上,对于那些没有自备键盘又想用电子的方法记笔记的人,字符识别器就会派上用场。这个人可能就会使用字符识别器。如果字符识别器没有相当高的准确率,研讨会上记下的笔记可能会使人误导。
如果字符识别器具有高的准确率,在医院使用字符识别器将会很有价值。手持字符识别器将使医院的工作人员用于对病人进行检查并记入挽救生命的报告。如果没有高的识别率,生命将会受到危及。
字符识别器的一个非常有用的应用是输入中文字符以进行电子处理和存储。中文字符不能通过键盘很好地输入使得中文的处理变得十分困难。中文字符的结构复杂,字符的一个小部分的变动会改变字符或词的整个意思。中文字符的识别必须要有高的准确率。不幸的是,传统的字符识别器和识别处理对这些不同的应用没有取得这种高的必要的准确率。
本发明的第一个方面提供了一种方法,这种方法包括下述步骤从可能类似于一个手写字符的模板字符集中选择一组模板字符,由此给出了一组可能接受字符,每一个可能接受字符有着一个表示与手写字符相似程度的数值;根据一个语言模型处理这些可能接字符,确定哪个可能接受字符最接近手写字符。
根据语言模型处理可接受字符的最佳步骤包括用一个周边字符组合每一个可能接受字符形成组合字符;对每一个组合字符赋予一个组合值,这个组合值表示这个周边字符与各自的一个可能接受字符组合的概率。此外,或在另一种方法中,这一步骤包括将每一个可能接受字符与一个周边字符进行比较以确定这个周边字符与各自的一个可能接受字符组合的概率的步骤;和根据每一个可能接受字符的概率确定哪一个可能接受字符最接近手写字符的步骤。
每一个可能接受字符的数值和组合字符的组合值可进行加权以确定每个可能接受字符的一个加权值;并且可对每一个可能接受字符的加权值进行排序,确定对可能接受字符进行排序的一个顺序次序。
本发明的第二个方面,提供了一种识别器,它包括与手写输入设备相联的一个字符识别器,用于从可能与手写字符相似的一个模板字符集中选择一组模板字符(可能接受字符),每一个可能接受字符有着一个表示与手写字符相似程度的数值;一个与字符识别器相联的后期处理器,用于根据一种语言模型处理可能接受字符,以确定哪个可能接受字符最接近手写字符;和一个与后期处理器相联的显示装置,用于接收可能接受字符中与手写字符最相似的那个字符。
本发明的其它方面和实施例将在下面的详细描述部分以实施例和附图的方式加以说明。


图1是说明本发明最佳实施例的框图。
图2是说明本发明运行方法的流程图。
图3是根据最佳实施例说明本发明运行方法的流程图。
图4给出了根据本发明一个语言模拟后期处理器操作的一个例子。
图1及图2说明了根据本发明提高手写字符识别准确性的一种装置和方法。手写字符识别装置,如字符识别装置100,通常包括某种类型的手写输入装置或数字化仪110,用户使用这些装置可将手写字符输入到字符识别装置100上。需要指出的是,字符识别装置还可以通过数字化仪以外的其它装置接收输入。例如,手写字符可以通过传真或除数字化仪110以外的其它媒体输入给字符识别装置100。
参考图1中的最佳实施例(并参照图2中的流程图),手写字符从数字化仪110输入到字符识别器120(图2中的步骤200)。在该实施例中,字符识别器120从一个预定义的模板字符集125(步骤210)中选择一组字符与手写字符进行比较。模板字符集125中的预定义模板字符是字符识别装置100在设计上所能处理的语言中使用的字符。例如,如果要将英文手写字符输入到字符识别装置100,那么模板字符集125将包含以某种形式表达英文字符的信息,例如普通书法(longhand)、印刷体(print)或某个多种字体的组合。如果识别器100是为输入中文字符而设计的,那么模板字符集125将包含以字符识别装置在设计上所能处理的形式(草体或印刷体)表达中文字符的信息。
字符识别器120将每一个输入的手写字符与存储在模板字符集125中的字符进行比较,并从中选择一组字符或与输入字符最相近的可接受字符。在最佳实施例中,字符识别器120从模板字符集125中选择了10个字符。对于这组(最佳实施例中为10个)可能接受字符中的每一个,字符识别器120都赋予了一个数值。这个数值表示各个可能接受字符与输入字符的相似程度(图2中的步骤220)。然后,字符识别器120根据它们各自的数值确定这组可能接受字符的优先次序(步骤240)。字符识别器120根据它们各自的数值确定这组可能接受字符的优先次序将它们排列成顺序列表,使得具有表示最相似的数值的可能接受字符排列在列表的顶部。
如前所述,选择按优先次序排列在顶部的可能接受字符时,仅由字符识别器处理的手写字符大约有15%到30%的错误率。换句话说,由字符识别器选择的按优先次序排列在顶部的可能接受字符与手写输入字符在实际上一样的概率约为80%到85%。最佳实施例中当可能接受字符的总数为10时,实际手写字符是字符识别器120选择的可能接受字符中的一个的概率为92%到96%。这一准确率接近绝大多数人在阅读手写字符时所具有的准确程度,后者的准确率大约在95%到97%。根据本发明的思想,利用下述的方法将增加10个选中的可能接受字符准确性的概率,在这个方法中,选作最优先的可能接受字符的字符即为手写字符。
本发明将接着对字符识别器120生成的这组可能接受字符进行进一步的分析和处理,以提高识别的准确率。这些分析和处理(后处理)将集中于10个可能接受字符。
再次参看图1和图2,根据本发明的最佳实施例,字符识别器120向后期处理器130(步骤250)输出10个可能接受字符的列表。后期处理器130根据一个语言模型处理这10个可能接受字符,在这10个可能接受字符中选择一个最适宜字符(步骤260)。换言之,语言模型后处理选择这10个可能接受字符中的一个作为输出。这样,用作输出,或作为最适宜字符的这个字符与输入的手写字符相同的概率大约为90%到92%。
语言模拟是一种处理过程,在这种处理中每个要处理的可能接受字符都将与周边字符相比较,以确定这个可能接受字符在所使用的语言中恰当地用于与周边字符的组合的概率。这一处理将在下面详细描述。
在后期处理器130从10个可能接受字符中选择了最适宜字符后,后期处理器130输出这个最适宜字符(步骤270)。在图1所示的最佳实施例中,这个最适宜字符输出到数字化显示器110并显示给用户。
图3的流程图给出了后处理方法的一个最佳实施例,并和图1的最佳实施例一起对其进行了描述。在字符识别器120进行了字符识别处理生成了一组可能接受字符后(图3的步骤300和310)(如前所述,最佳实施例中使用了10个可能接受字符),用户必须确定是否要对字符识别的输出进行进一步的处理(步骤320)。用户所作的选择在图1中表示为开关160。
这里也有可能会出现不需要后期处理器130提高准确性的情况。在这样的情况下,用户可选择只使用字符识别器输出的字符。
如果用户选择了不对字符识别器120的输出进行进一步的处理的话,最优先的可能接受字符将被选作最适宜字符(步骤325)并输出给最佳实施例中的数字化显示器110(步骤380)。选择最优先的可能接受字符作为最适宜字符表示没有选择进行进一步的处理,并且字符识别器120以一种传统的将输出(最优先的可能接受字符)直接送到数字化显示器110的方式工作。
如果用户决定需要后期处理器130进行进一步的处理并增加准确性,那么这组可接受字符将被送往语言模型处理器140,这个语言模型处理器包括组合器142、赋值装置144和语言模型库145。语言模型处理器140将来自字符识别器120的每一个可能接受字符与周边字符相比较,确定这个可能接受字符能够与周边字符结合的概率。这些周边字符是已经识别了的由计算装置存储起来的常规字符(周边字符141),但也可能是表示一个句子或来自不同语言的一个词、一组词(例如,书写中文时使用的英文公司名)起点的数字,等等。周边字符还可能是尚未识别的字符,例如排在目前正在识别的手写字符后面的一个字符。本发明力图找出手写字符周边的被存储在前一字符141中的任何信息,这是因为这些周边信息总是含有有助于语言模型处理器140进行的语言模型处理的某些信息。一般而言,前一个相邻的已经正确识别了的已识别字符是语言模型处理器140中对可能接受字符进行比较的周边字符。
图4说明了采用以两个字母为例的语言模型后处理方法。在这个例子中,假定已经输入了两个作为手写字符的字母。在位置b上的第一个字符假定是经过了在前的处理并由字符识别器100正确地识别并确认为字母“h”。在位置a上的字符是要识别的字符。正如前面解释的那样,字符识别器120生成了一组可能接受字符(最佳实施例中为10个可能接受字符),这些字符在图4中列为a1到an,其中n等于10(列400)。接着,这些模板字符在最佳实施例中的组合器142中与位置b处的前正确识别的相邻手写字符,或字母“h”进行组合(图3中的步骤330)。其结果是位置b处的字母,或本例中的“h”,与从a1到an每一个可能接受字符的组合(列400)。
位置b与a1到an的组合结果为图1中的赋值装置144所接收。赋值装置144从语言模型库145获得每一个组合的一个预定义概率(组合值),这个概率是位置b处的字母“h”这个相邻字符与一组可能接受字符a1到an组合的概率。接下来,每一个组合被赋予一个它们各自的组合值(步骤340和列420)。例如,如果字符识别器120确定a1是“a”,位置b处的字母已经确定为“h”,那么,这两个字母顺序组合的概率将非常高,这是因为在许多不同的词中都有“h”和“a”的顺序组合。从语言模型库145中找到的表示这一概率的组合值将很高并且一个适当的组合值将赋给“ha”。
如果这些字母是(比方说)an=“z”和b=“m”,那么这两个字母的组合概率以英文词为基础将非常低。在另一种语言中,这一概率则可能较高。语言模型库是为具体用途和语言而设计的。反映反常组合的低组合值可能会接近零,如果这一组合没有包括在语言模型库145中以至概率过低,这个组合值甚至可以等于零。然后这个组合值将会赋给组合“mz”。
在上述的例子中,一组可能接受字符中的每一个都将与前一个相邻字符相组合。事实上,本发明可进行任何周边字符的组合。上述在语言模型处理中采用前一相邻字符的例子是一个推荐的实施作法。
再次参看图1,3和4,重排器150从赋值装置144得到的组合值,根据这些组合值生成一个列表,并依据这个列表对可能接受字符进行重新排序。具体地说,重排器150的一个加权单元152对来自赋值装置144的与赋值相对应的一组可能接受字符的每一个组合值进行加权,确定这组可能接受字符的每一个的一个加权值(步骤350)。对一组可能接受字符进行加权计算是通过(i)将来自字符识别器120的赋值(参看上述附图2中步骤220的讨论)乘以第一个加权因子λCR,得到一个加权的可能接受字符值,(ii)将对应的组合值乘以第二个加权因子λLM,得到一个加权的组合的可能接受字符值,和(iii)将这两个值相加,得到这组可能接受字符中的每一个的加权值(图4中的列430)。这个公式是STOTan=λCRSCRan+λLMSLMan在最佳实施例中,λCR和λLM相加等于1。此外,加权因子的优化值为,λCR大于λLM,并且λCR等于0.33。用户可以选择λLM的值,比优化值大一点或小一点取决于所希望得到的输出,并且这个选择可以手工输入到加权单元152中。
重排器150中的重新排序器154接收来自加权单元152的加权值并按大小顺序对加权值重新排序。在最佳实施例中,加权值从最大到最小排定次序。这个排定的次序将用于对这组可能接受字符的排序。在此之后,重新排序器154根据它刚刚确定的次序对这组可能接受字符进行排序(步骤360和370),然后输出最适宜字符(步骤380)。
为了提高选择表示一个手写字符的单个可能接受字符的准确率,对字符识别器的输出进行后处理是必要的。没有后处理对准确性的提高,字符识别器或许将不具备商业应用的价值。通过使用本发明的语言模拟处理,选择一个与手写字符一样的单个可能接受字符的概率将从大约84%提高到大约90%到92%。这种识别准确度将使手写字符识别进入消费使用的可接受范围。
权利要求
1.一种手写字符识别方法,包括以下步骤从可能与一个手写字符相似的一个模板字符集中选择一组模板字符,由此提供了一组可能接受字符,每一个可能接受字符都具有一个表示与所述手写字符相似程度的数值;和根据一个语言模型处理可能接受字符以确定哪一个可能接受字符与所述手写字符最相似。
2.根据权利要求1的方法,其中根据一个语言模型处理可能接受字符的步骤包括将每一个可能接受字符与一个周边字符组合,形成组合字符;对每一个组合字符赋予一个组合值,其中的组合值表示所述周边字符在与各自的一个可能接受字符的组合中可能具有的概率;和对可能接受字符进行重新排序。
3.根据权利要求2的方法,其中根据每一个组合字符的一个顺序次序对可能接受字符重新排序的步骤包括对每一个可能接受字符的数值和组合字符的组合值进行加权,以确定每个可能接受字符的一个加权值;和对每一个可能接受字符的加权值进行排序以确定对可能接受字符进行重新排序的一个顺序次序。
4.根据权利要求3的方法,其中对每一个可能接受字符的数值相对于对应的组合字符的组合值进行加权以确定每个可能接受字符的一个加权值的步骤包括将每一个可能接受字符的数值乘以第一个加权因子以获得加权的可能接受字符值;将每一个组合字符的组合值乘以第二个加权因子以获得加权的组合字符值;和将每一个加权的可能接受字符值与各自的加权的组合字符值相加以获得每一个可能接受字符的加权值。
5.根据权利要求2的方法,其中对每一个组合字符赋予一个组合值的步骤包括从一个语言模型库中获得所述组合值。
6.根据权利要求1的方法,其中处理可能接受字符的步骤包括将每一个可能接受字符与一个周边字符进行比较以确定所述周边字符在与各自的一个可能接受字符的组合中可能具有的概率;和根据每一个可能接受字符的概率确定哪一个可能接受字符与所述手写字符最相似。
7.根据权利要求6的方法,其中将一组模板字符中的每一个与一个周边字符进行比较的步骤包括将每一个可能接受字符与一个周边字符进行组合以形成组合字符;和对每一个组合字符赋予一个组合值,其中的组合值表示概率。
8.根据权利要求6或7的方法,其中将一组模板字符中的每一个与一个周边字符进行比较以确定一个概率的步骤包括从一个语言模型的对照表中获得所述概率。
9.一种识别器,包括与一个手写输入装置相联的一个字符识别器,用于从与一个手写字符可能相似的一个模板字符集中选择一组模板字符,并由此提供了一组可能接受字符,每一个可能接受字符具有一个表示与所述手写字符相似程度的数值;与所述字符识别器相联的一个后处理器,它用于根据一个语言模型处理可能接受字符以确定哪个可能接受字符与所述手写字符最相似;和与所述后处理器相联的一个显示装置,它用于接收一个与所述手写字符最相似的可能接受字符。
10.根据权利要求9的手写识别器,其中的字符识别器与一个模板字符集相联,用于接收来自所述模板字符集的可能接受字符并对每一个可能接受字符赋值。
11.根据权利要求10的手写识别器,其中的后处理器包括与所述字符识别器相联的一个组合器,用于每一个可能接受字符与一个周边字符的组合以形成组合字符;与所述组合器相联的一个赋值装置,用于给每一个组合字符赋予一个组合值,其中的组合值表示所述已正确识别了的周边字符在与各自的一个可能接受字符的组合中可能具有的概率;和与所述赋值装置相联的一个重排器,用于根据每一个组合字符组合值的顺序次序对可能接受字符进行重新排序。
12.根据权利要求11的手写识别器,其中的重排器包括与所述赋值装置相联的一个加权单元,用于对每一个可能接受字符的数值相对于对应的组合字符的组合值进行加权以确定每一个可能接受字符的一个加权值;与所述加权单元相联的一个重新排序器,用于根据每一个可能接受字符的加权值的一个顺序次序对可能接受字符进行重新排序;和与所述显示装置相联的所述重新排序器,用于输出一个与手写字符最相似的可能接受字符。
13.根据权利要求12的手写识别器,其中的赋值装置与一个语言模型库相联,用于获得组合值。
14.根据权利要求11的手写识别器,其中的手写输入装置和显示装置是同一个数字化仪。
全文摘要
本发明的手写字符识别装置(100)和用于手写字符识别的方法通过使用一个后处理器(130)提高了传统字符识别器的准确性。手写字符识别装置包括一个字符识别器;一个语言模型处理器,这个语言模型处理器将字符识别器的输出与周边手写字符进行比较,以确定字符识别器的输出在与周边手写字符的组合中可能具有的概率;和一个重排器,这个重排器对与字符识别器相关的语言模型处理器中确定的概率进行加权并对字符识别器的输出进行重新排序。
文档编号G06K9/34GK1181827SQ9719016
公开日1998年5月13日 申请日期1997年3月6日 优先权日1996年3月8日
发明者法查德·俄萨尼, 周黎阳 申请人:摩托罗拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1