专利名称:用于过滤手写识别结果的技术的制作方法
用于过滤手写识别结果的技术 背景
诸如写字板PC或袖珍PC等设备上的手写识别系统通常采用机器学习 模型来为大量书写风格产生良好的直式准确度(walkup accuracy),但对于 某些个人书写风格仍然会发生错误。在用户确认样本的真正转换的情况下 使用显式样本来个性化手写识别器是很耗时的,并且因而许多用户或者放 弃该步骤或者提供不充足的样本。较好的方法是使用在用户进行其正常任 务时所收集的隐式样本。为有效地利用隐式数据,需要良好的过滤技术来 对所识别的结果更可能是正确的情况与其是不正确的情况进行区别。
概述
公开了标识和量化手写识别器所返回的识别结果中的可能的"不正确 性"程度的各种技术和方法。从用户接收手写输入。对该手写输入执行识 别操作以产生初始识别结果。使用在初始识别结果与该用户的正常书写风 格不一致时标识可能的不正确识别的自身一致性(self-consistency)过程来 标识可能的不正确识别。通过使用识别过程所返回的识别结果,该自身一 致性过程执行与对应于该结果的手写风格与该用户先前提供的其它样本的 比较。如果该比较揭示初始识别结果与这一 (些)样本不一致,则将该结 果标识为是可能不正确的。该系统可以选择降低可能不正确的识别的权重 或将其忽略。在一实现中,除自身一致性过程之外或取代其可使用分类器 置信度过程来确定初始识别结果是否具有足够高的置信度分数,并且如果 没有,则将该结果标记为是可能不正确的。
在另一实现中,取决于手写转换可能是正确的还是不正确的而更改使 用手写识别系统的用户的工作流程。作为一些非限制性示例,在转换可能 正确时,只在用户界面上向用户显示单个正确结果,而在转换不太可能正 确时,可以自动地向用户显示一列替换项。
提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一 些概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征,也 不旨在用于帮助确定所要求保护的主题的范围。附图简述
图1是一个实现的计算机系统的图解视图。
图2是在图1的计算机系统上操作的一个实现的手写识别应用程序的 图解视图。
图3是关于图1系统的一个实现的高级过程流程图。
图4是关于图l系统的一个实现的、示出执行自身一致性过程来标识 可能的不正确识别时所涉及的各个阶段的过程流程图。
图5是关于图1系统的一个实现的、示出使用Kullback-Liebler距离 测量操作来确定自身一致性程度时所涉及的各个阶段的过程流程图。
图6是关于图1系统的一个实现的、示出用户提供显式书写样本的模 拟屏幕。
图7是关于图1系统的一个实现的、示出在给定图6所提供的样本的 情况下产生可疑的识别结果的初始识别操作的模拟屏幕。
图8是关于图1系统的一个实现的、示出标识可能的不正确识别时所 涉及的各个阶段的过程流程图。
详细描述
为促进对本发明的原理的理解,现将对图中所示的各实施方式加以参 考,同时也将用具体语言描述它们。不过,需要理解的是,并无意由此作
范围上的限制。在所述实施方式中的任何改变和进一步修正,以及在此所 述的原理的进一步应用可以预期将是本领域技术人员通常能想到的。
该系统可以在执行手写识别的应用程序的一般上下文中描述,但是该 系统还用于除此之外的其它目的。在一个实现中,此处所描述的一个或多 个技术可被实现为手写识别程序内、或来自允许用户输入手写输入的任何 其它类型的程序或服务的特征。在一实现中,该系统在正常使用期间从用 户本身的手写中学习,而不要求用户标识什么识别是正确的什么识别是不
正确的。
如图1所示,用于实现该系统的一个或多个部分的示例性计算机系统 包括诸如计算设备100等计算设备。在其最基本的配置中,计算设备100 通常包括至少一个处理单元102和存储器104。取决于计算设备的确切配置和类型,存储器104可以是易失性的(如RAM)、非易失性的(如ROM、
闪存等)或是两者的某种组合。该最基本配置在图1中由虚线106来例示。
另外,设备100还可具有附加的特征/功能。例如,设备100还可包含
附加存储(可移动和/或不可移动),包括但不限于磁或光盘或磁带。这样
的附加存储在图1中由可移动存储108和不可移动存储110示出。计算机
存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其 它数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不
可移动介质。系统存储器104、可移动存储108和不可移动存储110都是计 算机存储介质的示例。计算机存储介质包括但不限于,RAM、 ROM、 EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或 其它光存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或者可用于存 储所需信息并且可由设备100访问的任何其它介质。任何这样的计算机存 储介质都可以是设备100的一部分。
计算设备100包括允许计算设备100与其它计算机/应用程序115进行 通信的一个或多个通信连接114。设备100也可以具有诸如键盘、鼠标、笔、 语音输入设备、触摸输入设备等输入设备112。也可以包括诸如显示器、扬 声器、打印机等输出设备111。这些设备在本领域中公知且无需在此处详细 讨论。在一实现中,计算设备100包括手写识别应用程序200。手写识别应 用程序200将在图2中更详细地描述。
继续参照图l,现转到图2,其示出了运行于计算设备100上的手写识 别应用程序200。手写识别应用程序200是驻留在计算设备100上的应用程 序之一。然而,可以理解,手写识别应用程序200可另选地或另外地被具 体化为一个或多个计算机上的计算机可执行指令和/或图1所示的不同的变 型。另选地或另外地,手写识别应用程序200的一个或多个部分可以是系 统存储器104的一部分、可以在其它计算机和/或应用程序115上、或可以 是计算机软件领域的技术人员能想到的其它此类变型。
手写识别应用程序200包括负责执行在此描述的一些或全部技术的程 序逻辑204。程序逻辑204包括用于保存/存储用户手写输入的样本(例如, 供在自身一致性过程中使用)的逻辑205;用于接收用户手写输入的逻辑
7206;用于对用户手写输入执行识别操作以产生初始识别结果的逻辑208;
用于使用自身一致性过程来标识可能的不正确识别(例如,与其它用户样
本进行比较并标识与用户正常书写不一致的识别)的逻辑210;用于使用分 类器置信度过程来标识可能的不正确识别(例如,标识具有低置信度分数 的识别)的逻辑212;用于使用自身一致性过程和/或分类器置信度过程的 结果来降低可疑的识别判定的权重或将其忽略的逻辑214;和用于操作应用
程序的其它逻辑220。在一个实现中,程序逻辑204可用于通过编程,如使 用对程序逻辑204中的一个过程的单一调用而从另一程序调用。
继续参照图1-2,现转到图3-6,其更详细地描述了用于实现手写识别 应用程序200的一个或多个实现的各个阶段。图3是关于手写识别应用程 序200的高级处理流程图。在一种形式中,图3的过程至少部分地被实现 在计算设备100的操作逻辑中。
该过程在开始点240处开始,接收用户手写输入(阶段242)。该输 入可以是一次一个字符或多个单词或多个短语。此处所使用的术语"字符" 旨在包括任何基本的手写单元,其在某些语言(如日语)中可以意味着字 符的一部分(例如,偏旁)。对用户手写输入执行识别操作以产生初始识 别结果(阶段244)。使用自身一致性过程来标识可能的不正确识别(阶段 246)。在一实现中,初始识别结果首先被分解为各个基本单元(例如,字 符),并且然后,将每一基本单元与来自用户的其它样本进行风格一致性 比较(例如,使用距离测量)。使用距离测量的一个这样的实现在图5中 更详细地描述。将其中距离很大的样本标记为与用户的正常书写不一致(阶 段246)。
作为标识可能的不正确识别的自身一致性过程的替换或补充,该系统 可以使用初始识别过程的分类器置信度来标识可能的不正确初始识别结果 (例如,标识具有低置信度分数的结果)(阶段248)。在一实现中,使用 多个分类器并使用各单独分类器之间的协定量作为置信度来计算置信度。
使用自身一致性过程和/或分类器置信度过程的结果来降低可疑的识 别判定的权重(例如,在为用户个性化识别器时,对与该可能的不正确识 别相关联的样本给予较小权重)或将其忽略(阶段250)。通过使用自身一致性过程和/或分类器置信度过程,在正常使用期间从用户本身的手写中学
习而不要求用户标识什么识别是正确的什么识别是不正确的(阶段252)。 该过程结束于结束点254。
图4示出在执行自身一致性过程来标识可能的不正确识别时所涉及的 各个阶段的一个实现。在一种形式中,图4的过程至少部分地被实现在计 算设备100的操作逻辑中。该过程在开始点270处开始,至少获得少量(n) 已知的书写样本(例如,由用户作为显式样本给出)并将其存储为墨水样 本(H ...In}(阶段272)。另选地或另外地,可以在用户正常使用手写识 别系统期间在其书写时收集适当量的隐式样本(阶段272)。从用户接收手 写输入(阶段274)。对用户手写输入执行识别操作以产生初始识别结果(阶 段276)。将初始识别结果与已知的字符形式(显式或隐式样本)进行比较 并标识任何可疑的结果(例如,与用户正常风格不一致)(阶段278)。该 过程结束于结束点280。
图5示出在使用Kullback-Liebler距离测量操作来确定自身一致性时所
涉及的各个阶段的一个实现。在一种形式中,图5的过程至少部分地被实
现在计算设备100的操作逻辑中。该过程在开始点290处开始,对用户手
写输入样本执行初始识别操作(阶段292)。初始识别被分解为各个基本单
元(例如,字符)(阶段293),且将每一基本单元与从用户收集的该基本
单元的其它样本进行风格一致性比较(阶段294)。在一个这样的实现中,
通过首先使用手写识别器产生在给定隐式数据Is时分类器所支持的所有字 符c上的关于样本S的概率分布a(cI/J,来形成量化风格一致性的差异的
度量。类似地,还计算关于所存储的每一样本的概率分布&(*)。计算样本
s和所存储的每一样品k之间的Kullback-Liebler距离KL(s, k):
KL(s,k) = !>A(C| C|/t)/A(C|")
在以上公式中,/,是当前隐式样本而A是所存储的第k个样本。可以
显式地、隐式地或显示隐式同时地收集所存储的样本。对于隐式样本,所 存储的样本的身份也存在不确定性,并且因此应当随机地处理KL(s,k)并相
应地与其它实例进行平均,随后使用比较(例如,距离测量)的结果来降低用来个性化分类器的样本s中的各个字符的权重或将其消除(阶段296)。
在一实现中,包含具有大于预定义阈值的距离度量的一个或多个字符的任 何样本都将该样本标识为可疑的。更改用于显示识别结果的笔输入屏面或
其它区域中的识别结果的显示,指示其可能是不正确的。该过程结束于结
束点298。
让我们看看使用某些模拟屏幕来进一步示出自身一致性概念的非限制 性示例。假定,例如,用户已给出至少一个书写显式样本。如图6的模拟 屏幕300所示,用户先前已经提供了关于所提示的短语"Grab the plate under"的显式书写样本302。稍后在正常工作流程期间,如图7的模拟屏 幕306所示,用户输入另一短语"Grade your work" 308 (再次使用包含具 有前缀"Gm"的单词的短语)。从识别器返回的初始识别结果认为该短语 是"Guide your work" 309 (例如,该"ra"是"u")。不使用此处所描述 的一种或多种技术和方法,则不正确的识别结果309将被用来更新分类器。 然而,使用此处所描述的技术和方法,则在接收到用户手写输入时,系统 执行图3-5所描述的自身一致性过程。例如,图7中(错误地)对应于"u" 的墨水段与图6中所收集的作为单词"under"的一部分的"u"进行比较。 由于距离测量揭示其并不足够密切相关(即,非自身一致或匹配),则在 为用户个性化分类器时可以消除图7中的整个单词"Guide"或降低其权重。 另选地或另外地,在更新分类器时,可以只降低对应于很差地匹配的字符 的墨水段。
现转到图8,其是在标识可能的不正确识别时所涉及的各个阶段的一 个实现。在一种形式中,图8的过程至少部分地被实现在计算设备100的 操作逻辑中。该过程在开始点310处开始,从用户接收手写输入(阶段312)。 对用户手写输入执行初始识别操作(阶段314)。使用一种或多种方法来标 识可能不正确的/可疑的初始识别结果的任一个(例如,使用分类器置信度 过程和/或自身一致性过程等)(阶段316)。该系统降低可疑的识别结果 (具有过低的识别置信度分数的结果)的权重或将其忽略(阶段218)。可 任选地使用这些结果来修改用于显示最终结果的用户界面(阶段320)。作 为一非限制性示例,取代只显示识别器所返回的第一替换项(如图7所示),
10用户界面可以自动向用户显示其检测为不一致的单词的超过一个的替换项
(阶段320)。该过程结束于结束点322。
尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。落入在此所述和/或所附权利要求所描述的实现的精神的范围内的所有等效方案、更改和修正都期望受到保护。
例如,计算机软件领域普通技术人员将认识到,在此讨论的示例中的客户机和/或服务器安排、用户界面屏幕、和/或所述数据布置可在一台或多台计算机上不同地组织,以包括比示例中所描绘的更少的或额外的选项或特征。
1权利要求
1. 一种用于标识可疑的识别判定的方法,所述方法包括以下步骤存储用户的手写样本以供稍后在自身一致性过程中使用(272);从所述用户接收手写输入(274);对所述手写输入执行识别操作以产生初始识别结果(276);以及使用所述自身一致性过程在所述初始识别结果的至少一部分中标识可能的不正确识别,所述自身一致性过程可用于在所述初始识别结果与所存储的表示所述用户的正常书写风格的样本不一致时标识所述可能的不正确识别(278)。
2. 如权利要求1所述的方法,其特征在于,在标识所述可能的不正确识别 时,识别器选择忽略所述可能的不正确识别(250)。
3. 如权利要求1所述的方法,其特征在于,在标识所述可能的不正确识别 时,识别器选择降低与所述可能的不正确识别相关联的样本的权重(250)。
4. 如权利要求1所述的方法,其特征在于,所述自身一致性过程是使用距 离测量来执行的(294)。
5. 如权利要求4所述的方法,其特征在于,所述距离测量测量所述初始识 别结果的至少一部分与所述用户先前提供的样本之间的距离(294)。
6. 如权利要求1所述的方法,其特征在于,基于所述可能的不正确识别来 修改用于显示最终结果的用户界面(320)。
7. 如权利要求1所述的方法,其特征在于,还包括 使用分类器置信度过程来标识所述初始识别结果的至少一部分中的所述可能的不正确识别(250)。
8. 如权利要求7所述的方法,其特征在于,还包括 使用所述自身一致性过程和所述分类器置信度过程来降低所述可能的不正确识别的权重(250)。
9. 如权利要求7所述的方法,其特征在于,还包括 使用所述自身一致性过程和所述分类器置信度过程来忽略所述可能的不正确识别(250)。
10. —种具有用于使得计算机执行如权利要求1所述的步骤的计算机可 执行指令的计算机可读介质。
11. 一种具有用于使得计算机执行以下步骤的计算机可执行指令的计 算机可读介质,所述步骤包括从用户接收手写输入(206);对所述手写输入执行识别操作以产生初始识别结果(208);执行所述初始识别结果和所述用户先前提供的至少一个显式样本的比较(210);以及如果所述比较揭示所述初始识别结果的至少一部分与所述至少一个显式 样本不一致,则将所述初始识别结果的至少一部分标识为是可能的不正确识别结果(210)。
12. 如权利要求11所述的计算机可读介质,其特征在于,还具有用于 使得计算机执行以下步骤的计算机可执行指令,所述步骤包括在标识所述可能的不正确识别时,基于所述可能的不正确识别来修改用于显示最终结果的用户界面(320)。
13. 如权利要求11所述的计算机可读介质,其特征在于,还具有用于使得计算机执行以下步骤的计算机可执行指令,所述步骤包括
14. 在标识所述可能的不正确识别时,降低所述可能的不正确识别的权 重(214)。
15. 如权利要求11所述的计算机可读介质,其特征在于,还具有用于使得计算机执行以下步骤的计算机可执行指令,所述步骤包括使用距离测量来执行所述比较(294)。
16. 如权利要求11所述的计算机可读介质,其特征在于,还具有用于使得计算机执行以下步骤的计算机可执行指令,所述步骤包括在标识所述可能的不正确识别时,忽略所述可能的不正确识别(214)。
17. 如权利要求11所述的计算机可读介质,其特征在于,还具有用于使得计算机执行以下步骤的计算机可执行指令,所述步骤包括使用分类器置信度过程来标识所述初始识别结果的至少一部分中的所述可能的不正确识别(212)。
18. 如权利要求16所述的计算机可读介质,其特征在于,还具有用于 使得计算机执行以下步骤的计算机可执行指令,所述步骤包括使用所述自身一致性过程和所述分类器置信度过程来降低所述可能的不 正确识别的权重(214)。
19. 如权利要求16所述的计算机可读介质,其特征在于,还具有用于使得计算机执行以下步骤的计算机可执行指令,所述步骤包括-使用所述自身一致性过程和所述分类器置信度过程来忽略所述可能的不正确识别(214)。
20. —种用于标识可疑的识别判定的方法,所述方法包括以下步骤从用户接收手写输入(312);对所述手写输入执行识别操作以产生初始识别结果(314); 使用一个或多个过程来标识可能的不正确识别,所述一个或多个过程选自 包括分类器置信度过程和自身一致性过程的组(316);以及 基于所述可能的不正确识别来修改用户界面(320)。
21. —种具有用于使得计算机执行如权利要求19所述的步骤的计算 机可执行指令的计算机可读介质。
全文摘要
公开了标识可能的不正确识别结果的各种技术和方法。从用户接收手写输入。对该手写输入执行识别操作以产生初始识别结果。使用在初始识别结果与该用户的正常书写风格不一致时标识可能的不正确识别的自身一致性过程来标识可能的不正确识别。自身一致性过程执行初始识别结果与该用户先前提供的至少一个样本的比较。如果该比较揭示初始识别结果与该至少一个样本不一致,则将该结果标识为是可能不正确的。可以另选地或另外地使用分类器置信度过程来标识可能的不正确识别结果。考虑到可能的不正确识别结果,可以适当地修改用于显示最终结果的用户界面。
文档编号G06K9/18GK101479743SQ200780024623
公开日2009年7月8日 申请日期2007年6月7日 优先权日2006年6月28日
发明者M·雷沃尔 申请人:微软公司