自适应手写识别的系统和方法

文档序号:6402761阅读:154来源:国知局
专利名称:自适应手写识别的系统和方法
技术领域
本发明主要涉及手写识别,更具体地,本发明涉及利用一般和特定用户分类器的自适应手写识别的系统和方法。
发明的背景计算机已成为社会生活不可分割的一部分——人们每天更依赖于这项技术以利于工作和休闲活动。这项技术的一个重大缺点是相比于其所起作用的“模拟”世界它具有“数字”属性。计算技术工作于需要识别离散状态来使得信息得以处理的数字领域。用简单的话来说,信息必须以一连串“开”和“关”的状态输入计算系统中。但是,人类生活在一个特殊的模拟世界,其中出现的事物决不是完全的黑或白,而看起来总是介于两者之间或模棱两可的。因此,数字和模拟之间的主要区别是数字需要随时间而间断的离散状态(例如,不同的等级),而模拟是一直连续的。由于人类自然地以模拟的方式进行操作,所以计算技术在同“非数字实体”或人类交互时已发展以减少它所具有的影响。
一组结构化按键是最早的人机接口装置之一,常用于打字机中。该接口系统适应于交互,不是与机械按键和纸交互,而是适应于触发传送至计算系统的离散状态。因而,开发了计算机“键盘”,使人们能利用现有的熟悉接口结合不熟悉的技术。这简化了到计算机时代的过渡。不幸的是,不是每个想使用计算机的人都知道如何打字。这限制了能充分使用计算技术的计算机用户的数量。对此,一种解决方法是引入图形用户接口,使用户能从计算监视器中选择图片来使计算机进行工作。因此,常用被称为“鼠标”的指点和选择装置获得对计算系统的控制。这就允许更多(数量)的人不用学习使用键盘就能利用计算技术。虽然,这类装置使得使用计算技术变得更容易,但是它还没有解决人类时代通信的老方法——手写。
最初,技术着眼于尝试向计算机输入现有的用打字机打出的或已排字的信息。起先,使用扫描仪或光学图片来“数字化”图象(例如,向计算系统输入图象)。一旦图象能被数字化到计算系统中,随后,印好的或已排字的材料也能被数字化。但是,扫描的文本页的图象在传给计算系统后不能作为文本被操纵。字符和单词是“图片”,不是实际可编辑的文本。因此,发展了光学字符识别(OCR)技术,利用扫描技术将文本数字化为可编辑的页。如果使用特定的文本字体使OCR软件能够将扫描的图象转化为可编辑文本,那么这项技术工作得相当好。最初,这项技术只有大约50%到60%的正确率,但今天它已提高到接近98%到99%或更高的正确率。OCR技术甚至已发展到不仅能考虑识别文本字符,而且能保持图形、页格式甚至是字体特征的阶段。
随后,OCR技术达到的正确率水平,使得尝试使用它来识别手写似乎变得实际。毕竟,如果它能直接数字化到计算系统中,为什么还要通过键盘将手写变换到文本?该方法的问题在于现有的OCR技术被调节为识别受限的或有限的可能种字体的选择。因此,它能通过与预先存在的字体数据库作比较来“识别”字符。如果字体是不连贯的,OCR软件会返回陌生或“非存在”的字符,表明它没有识别出该文本。手写实为该问题的一个更为极端的情况。人在书写的时候,他们自己的特殊风格通过其书法体现出来。由于这种唯一性将人们同其它的每个人区分开来,所以在法律文档中使用签名。正是由于这一特性,所以手写甚至对于同个字符都有无限多的形态。显然,为特定的字符存储每个可能的手写形态是不可能的。需要采取其它方法来使手写识别成为实际。
在手写识别上的一个更早尝试包括了实际上根本不是手写的“手写”。系统通过“板”或能被数字化和转化入该系统的书写表面,使用“笔划”或线作为计算系统的输入。虽然,过去尝试使笔划完全成为被打印文本字母的象征,但是计算系统实际不识别手写。实际上,这种方法实际地迫使人们去适应所使用的机器或系统。之后,取得了进一步的发展,实际地识别真正的手写。此外,如果要求系统匹配字母每个可能的变化到给定数据库中的一个字母,将耗费无数的处理资源和时间。所以,一些最初的改进是在至少是有限,即使是巨大的可能性群组的领域中取得的。结果技术对诸如邮件排序等操作(证明)是无价的。在这种情况下,可尝试光学地识别诸如一个城市的名字。如果计算系统不能“理解”该名字,那么它可使用诸如一封邮件是来自哪个州以及系统是否识别城市名称中至少一些字符等的上下文环境。这使得查找工作得以在州城市名称的数据库中继续进行,与此同时常消除差异导致更高地产生“可读”地址。
当然,在美国采用邮政编码最小化了OCR技术读取名字地址的重要性。因此,该技术主要的重点在于只识别数字而不是字母。它将所需的转换限定于只是10个字符(O到9)。但是,依赖于地址、教育和其它因素,人们学写的数字各不相同。最普通的变化数字是“2”和“4”。通常,人们书写的2带有或不带有一个圈,所写的4’上面或者闭或开。这些同一字符的不同变化手写技术都要考虑,以便同一字符的不同变化都能被计算系统解释为同个字符。由于具有有限的字符数量,并因而有数量的允许变化,OCR技术工作得非常高效。
可以理解的是识别数字是正确方向的第一步。但,大部分计算系统用户更愿意系统直接识别字母表中的所有字符和诸如“#”“$”等特殊字符,而不只是数字。人们更喜欢要求机器去学习他们而不是去适应机器的工作方式。所以,“学习”计算系统已逐渐形成以促进人机接口的领域。通过使计算系统理解唯一的用户手写体的技术,手写识别已进入更先进的水平。在这种上下文环境中,使用各种方法来准确地解释和使用用户在一段时间中的输入。为加快学习过程,技术常常需要结构化的用户输入或“注册”信息来提高其性能。典型的注册需要用户书写字符、数字、特殊字符和某些段落以调教计算系统用于识别。目前,这可能是非常漫长的过程,通常在得到高正确率之前要花费大量的时间。
虽然训练手写识别的技术看起来很费力,但是通过传统计算系统接口具有这种能力的好处是巨大的。目前,多用户向系统输入信息的最有效方式是通过键盘。这是因为键盘在设计上常常是通用的,所以始终是标准接口,可容易地被许多不同的用户使用。但是,对键盘的人体工程学(例如,使用装置的人的舒适度)要求按键间隔特定的距离。这就驱使整个键盘只能到某个最小尺寸,使之不便于被便携使用。虽然手持计算装置等小巧而且易于携带,但是利用隐秘的笔划识别和/或获取技术对这些类型的装置进行数据输入倾向于使得这些装置的使用沉闷冗长。用户再次被要求来学习机器而不是机器学习用户。一些制造商已尝试生产更小更紧凑的键盘来克服这个不足,但这些“改进”已证实为对用户不便,因为结果装置是或者笨重和/或非人性化的。便携和非便携计算装置证实在用户能够通过普通的手写直接输入信息时最有价值。它使得这些装置能被类似的熟练和不熟练的用户所使用。
发明的摘要下面描述本发明的简单摘要以提供本发明一些方面的基本了解。摘要不是本发明的广泛性总览。它不打算确定本发明的重要/关键元素,也不想划定本发明的范畴。它唯一的目的是以简化的形式提出本发明的一些概念作为后面陈述的更详细描述的前奏。
本发明主要涉及手写识别,更具体的是涉及使用一般和特定用户分类器的自适应手写识别的系统和方法。手写样本的一般和特定用户特征通过自适应手写系统被量化,向特定用户手写识别提供最低程度的特定用户注册数据。通过允许一般和特定用户分类器以帮助识别过程,特定用户手写的特征能从一些样本字符中抽取出来,并用来快速确定手写字符的特征,不只是通过用户输入来确定特征。这使得自适应手写系统能适应于一些字符,而不需要用户开始就输入这些字符的样例作为注册或“训练”数据。由于可使用减少的注册数据集,使用本发明的注册时间大大减少,而同时保持手写识别处理中的高正确率。本发明通过以一般特征和特定用户特征的形式识别手写样本的特征,完成了这一点。它由一般分类器处理一般特征,而通过一个或更多的特定用户分类器将特定用户的特征进一步分类。对特定分类器呈现非常类似的特定用户特征的字符组成“捆绑集”。所以,特征可外推至捆绑集中的其它字符,而不需要用户输入该特定捆绑集的所有字符,使大大减少训练本发明分类器的注册时间,减少用户在训练手写识别分类器中的所花的力气和时间,同时还保持识别的正确率成为可能。
本发明也通过使一般和特定用户分类器能够交互来帮助手写识别。它允许根据手写样本得到不同的粒度。所以,如果一般分类器能容易地辨别出特征,那么该特征就能被快速地识别。但是,可能不清楚或“糊涂”的数据通过“混淆规则”进行处理,混淆规则使用特定用户后处理器技术来分类属于特定混淆规则的字符。在本发明中可使用不同类型的后处理器分类,例如,适应MLLR(最大似然线性回归)的密度模型、直接密度模型和直接判别模型等等。使用不同模型和分类器的灵活性使本发明能容易地与现有手写识别技术集成。所以,本发明能利用基于从多个用户集体观察的一般分类器和/或通过其它不是本发明中特定用户分类器的方法,从一般分类器适应得到的特定用户分类器以提高手写识别系统从特定用户识别数据的能力。
本发明也大大增强便携式软件产品,诸如微软视窗XPTablet(平板)PC。Tablet PC通过使用户能像用写字板一样使用显示器而提供简易的笔和纸,用他们自己的手写输入信息。然后,手写输入信息被容易地转换成文本供诸如软件应用程序等组件使用,例如字处理器、电子表格和邮件。使用诸如本发明所提供的数字识别系统,用户也能标记导入手写识别兼容的软件程序中的现有文档。本发明快速解释和适应用户的手写到如Tablet PC等产品所能识别的形式。没有本发明,手写解释将耗费更长的时间来处理,而且正确率更低。所以,便携产品能通过使用本发明的实例来增加它们的使用。
针对前述和相关的目标的实现,在此也描述与下面描述和附属的图表相关的本发明的某些示例方面。这些方面是提示性的,但也只是运用本发明的原理的各种方法中一小部分,本发明想要包括所有这样的方面和它们的对等物。本发明的其它优点和创新特征将从下面结合图例考虑的本发明的详述中变得透明。
附图的简述

图1是依照本发明的一个方面,手写识别系统的框图。
图2是依照本发明的一个方面,手写观察过程的框图。
图3是依照本发明的一个方面,手写观察过程的另一框图。
图4还是依照本发明的一个方面,手写观察过程的另一框图。
图5是依照本发明的一个方面,特征集的图。
图6是依照本发明的一个方面,手写字符特征的图。
图7是依照本发明的一个方面,捆绑集的图。
图8是依照本发明的一个方面,字符组捆绑集的实例。
图9是依照本发明的一个方面,混淆规则的示例。
图10是依照本发明的一个方面,特定用户分类器实例的框图。
图11是依照本发明的一个方面,构造手写识别系统方法的流程图。
图12是依照本发明的一个方面,使用手写识别系统方法的流程图。
图13是依照本发明的一个方面,分类特定用户数据方法的流程图。
图14示出在其中本发明能运行的实例操作环境。
图15示出在其中本发明能运行的另一实例操作环境。
本发明的详述现在参照附图描述本发明,其中相同的参考数字总是用来指相同的元素。在下面的描述中,出于说明的目的,阐述无数特定的细节来提供对本发明的彻底的理解。但是,应当清楚的是本发明的实施可以没有这些特定的细节。在其它实例中,在框图表中示出众所周知的结构和装置以帮助描述本发明。
本申请中所用的术语“组件”想指的是计算机相关的实体,或者是硬件、硬件和软件的组合、软件,或者是执行中的软件。例如,组件可以是,但不限于,处理器上运行的进程、处理器、对象、可执行的东西、执行的线程、程序和/或计算机。作为示例,运行在服务器上的应用程序和服务器都可以是计算机的组件。一个或更多的组件可驻留在一个进程和/或执行的线程中,组件可位于一台计算机上和/或分布于两个或多个计算机之间。“线程”是进程中的实体,由操作系统内核调度执行。正如本领域所熟知的,每个线程有关联的“上下文环境”,它是与线程执行相关联的易失数据。线程的上下文环境包括系统注册表的内容和属于线程的进程的虚拟地址。所以,实际包含线程上下文环境的数据在其执行时各有不同。
本发明包括使通用分类模型能够适应于特定用户以提高用户分类正确率的系统和方法。很短的注册时间(只需要很少一些实例)和快速的适应性是本发明的特征。对于已经通过本发明适应于用户的分类器,分类是基于(第一)一般的分类模型(对于所有用户)和(第二)用作后处理器的一组小分类模型的组合。后处理器模型是针对特定用户的,所以或者是自适应的和/或者是直接从注册数据学习的。这些模型或“双向”分类器作用于如下文所述的不同特征集。要注意的是在这设置中,可用通过其它不是本发明中特定用户分类器的方法从一般分类器适应得到的特定用户分类器来代替一般识别器被使用,出于表达简易性的考虑,(语义上不确切地)在下面被称作一般分类器。
通常,特征向量能被分成具有一般特征的一部分和特定用户特征的一个或多个部分。典型地,如果观察的值对所有用户都很类似,那么选择特征为一般特征,而如果观察的值对所有用户很不相同,仅仅是对特定用户非常相似,那就选择特征为特定用户特征。对于单字符手写识别,特征向量的一般部分可由例如比例形状相关的特征组成,而用户特定部分由大小和位置特征组成。作为例子,对特定字符的比例观察可在所有用户中表现得非常类似,而不同字符的大小和位置(不带缩放)可占特定用户手写个性化特征的重要部分。
通常,本发明的一个实例包括三个方面。第一方面是一般分类模型或在从多个用户的观察上训练的“分类器”。该模型所用的特征可以只是一般特征,或者是一般和特定用户特征。第二方面包括多注册分类模型,他们或者首先在来自多个用户的观察上训练,稍后再通过特定用户的简短注册得到的观察来自适应该特定用户,或者直接在得到的注册数据上训练。在这些模型中使用的特征只是特定用户特征。第三方面是用于组合一般和特定用户注册分类模型或分类器的系统和/或方法。
在图1中,示出依照本发明一个方面的手写识别系统100的框图。手写识别系统100包括至少具有一个一般分类器组件104和/或至少一个特定用户分类器组件的106的识别组件102。在这个本发明的实例中,一般分类器组件104包括一般分类器#1-N 108-112,其中N代表从1到无穷的任意整数。特定用户分类器组件106包括特定用户分类器#1-M114-118,其中M代表从1到无穷的任何整数。识别组件102接收和分析手写数据120。可结合使用一般分类器组件104和特定用户分类器组件106以利于识别组件102进行分析。在本发明的一个实例中,使用一般分类器组件104来提供在用户中非常类似的手写数据的分类,并且使用特定用户分类器组件106来帮助确定特定用户数据的分类。
为了使本发明能有效地分析手写,它从各种数据源进行训练或学习以识别手写的方方面面。见图2,示出依照本发明一个方面,手写观察过程200的框图。在这个本发明的实例中,手写观察过程200包括具有一般分类器#1-N204-208的一般分类器组件202,其中N代表从1到无穷的任意整数,以及包含来自多用户#1-X 212-216的数据的手写观察数据210,其中X表示从1到无穷的任意整数。在过程200中,一般分类器组件202根据来自多用户212-216的数据210训练它的分类器204-208。所用的用于训练一般分类器组件202的观察可包括一般特征和/或特定用户特征。
转至图3,该图描述依照本发明一个方面,手写观察过程300的另一框图。在这个本发明的实例中,手写观察过程300包括具有特定用户分类器#1-M304-308的特定用户分类器组件302,其中M表示从1到无穷的任意整数;包含来自多用户#1-X 312-316的数据的手写观察数据310,其中X表示从1到无穷的任意整数;以及特定用户注册数据318。在过程300中,特定用户分类器组件302根据来自多用户312-316的数据来训练它的分类器304-308,然后基于特定用户注册数据318自适应它的分类器304-308。所用的用于训练特定用户分类器组件302的观察只包括特定用户特征。
参照图4,示出依照本发明一个方面,手写观察过程400的另一框图。在这个本发明的实例中,手写观察过程400包括具有特定用户分类器#1-M 404-408的特定用户分类器组件402,其中M表示从1到无穷的任意整数,和特定用户注册数据410。在过程400中,特定用户分类器组件202根据特定用户注册数据410训练其分类器404-408,然后基于特定用户注册数据410自适应它的分类器404-408。所使用的用于训练特定用户分类器组件402的观察只包括特定用户特征。
转至图5,该图示出依照本发明一个方面,特征集502的图。为了进一步说明具有一般和特定用户方面的特征集的概念,特征集502包括一般特征Fg504,其下标“g”表示任意的一般特征;而特定用户特征Fp 506,其下标“p”表示任何特定用户(或人)的特征。特定用户特征506包括子特征Fp1-Fpn508-512。形式上,完全特征集F=FgUFp1UFp2U…UFpn,其中Fg是一般特征,而Fpi,i=1,…,n是特定用户特征的子集。
这个概念在图6中进一步示出,其中描述了依照本发明的一个方面,手写字符特征600的图。在该图中,字符“A”602对于字符“B”604是一般和特定用户交叉分析的。在此例中,分析了三个子属性606,610,即字符的形状、大小和位置。于是在“A”和“B”间进行比较,确定字符间是否有任何子属性606,610是“普通”或者是一般的。FgA表示“A”的形状,它与表示“B”形状的FgB作比较。在此例中,形状视作一般特征,在“A”和“B”间是唯一的。因此,形状子特征的一般分类器能容易地区分此例中的“A”和“B”。出于示例的目的,子特征大小和位置视为特定用户特征。在比较字符间的大小和位置时,它们是完全相同的。所以能认为“A”的特定用户子特征608也完全表示“B”的那些子特征612。因此,特定用户分类器只需要注册的字符中的一个来识别其它字符的这些特征,减少了识别该字符所需要的特定用户注册的数据量。
短暂的用户注册是与所选的特定用户特征很类似但同时一般特征又很不同的许多字符/类而定。例如上面的手写例子,在考虑一般形状子特征时,“A”和“B”很不相同,而在只考虑大小和位置时看起来却完全相同。在学习可适应的特定用户模型时,在“A”上的观察所以同在“B”上的观察一样的好,因此,要包括所有的字符只需要更少的观察。这个概念表示为“捆绑”,绑在一起的类/字符表示为“捆绑集”。经常要将特定用户特征分成多特征集。这些特征的不同子集或子特征表现得各不相同。例如,“f”和“g”在只考虑大小特征时看起来完全相同,但考虑到位置特征时却很不相同。
特定用户特征的不同子集可导致产生所考虑的类/字符的不同捆绑集,如图7所示。在此图中,示出依照本发明的一个方面,捆绑集的图700。图700由类/字符列702、Fp1捆绑特征类704 Fp2捆绑特征类706组成。图700示出相对于各种类/字符的特定用户子特征Fp1和Fp2间的关系。类/字符表示为数字0-9,但也可以是字母等等。从图700可以看出Fp1捆绑特征类704包括第一和第二Fp1捆绑集714、716。第一Fp1捆绑集714将类/字符0-5连在一起作为Fp1表示的特定用户子特征的一个方面。第二Fp1捆绑集716将类/字符6-9连在一起作为由Fp1表示的特定用户子特征的另一方面。这允许对特定用户的子特征作更多限定的注册要求。因此,特定用户只需要为特定捆绑集中的一个类/字符提供Fp1子特征的注册数据。同样地,Fp2捆绑特征类706包括第一、第二和第三Fp2捆绑集718-722。第一Fp2捆绑集718将类/字符0-2连到一起作为Fp2表示的特定用户子特征的一个方面。第二Fp2捆绑集720将类/字符3-8连到一起作为这些相同子特征的另一方面。第三Fp2捆绑集722只包含类/字符9。虽然只示出两个子特征类,但本发明可有任何数量的子特征类。类似地,每个类中的捆绑集的数量可比所示更多或更少。类甚至可能只有单一的捆绑集。线708-712表示根据Fp1和Fp2中的捆绑集,类/字符的最佳粒度划分。因此,线710表示由Fp1类产生的划分,而线708和712表示由Fp2类产生的划分。这些被用于下文讨论的一些小型后处理器。
为了进一步示出捆绑集,图8是依照本发明的一个方面,对于字符组的捆绑集的实例800。实例800由字符列802、Fp1捆绑特征(高度)列804和Fp2捆绑特征(宽度)列806组成。实例800示出字符列802中的手写样本字符“a”,“c”,“b”,“d”和“1”。Fp1捆绑特征(高度)列804表示具有相同数字的相同捆绑集。因此,带有数字“1”的任意行说明它与同个Fp1捆绑特征(高度)列804中其它带有数字“1”的行具有相同的子特征。从Fp1高度特征列804可以清楚地知道“a”和“c”在捆绑集“1”中,而“b”,“d”和“1”在捆绑集“2”中。这说明对于字符高度的子特征,“a”和“c”有非常类似的高度特征,同时“b”,“d”和“1”有非常类似的高度特征。所以,只包含“b”的注册样本也可用于提供“d”和“1”的高度子特征特性,减少了该子特征所需的注册数据。同样的情况也适用于“a”和“c”高度子特征。这些字符中的任意一个可用于构造其它字符的高度子特征。
可应用类似的过程到Fp2捆绑特征(宽度)列806。这里,捆绑集的相同成员由大写字母“A”或“B”来说明。从这里可以确定字符“a”,“c”,“b”和“d”具有非常类似的宽度特征和共同表示的捆绑集“A”,而字符“1”有其独特的字符宽度,所以成为捆绑集“B”中的唯一字符。同样地,特定用户的注册数据只需要包括捆绑集中的一个字符实例用于构造同一捆绑集中任何字符的宽度,减少了需要的注册数据。
本发明的效率也依赖于对一般特征是类似的(“或易被混淆的”)而对特定用户特征是可区分的一些类/字符。作为例子,“c”和“C”的比例形状特征看起来非常类似,而对于特定用户的大小和位置特征却有很大的区别。为这些类/字符定义“混淆规则”。混淆规则将类/字符与易被一般分类器混淆的一组类/字符相关联。混淆规则的例子是c-{C},C-{c}和9-{q,g},分别具有下面的意思如果被一般分类器识别为“c”,那它有可能是“C”。如果被识别为“C”,那它有可能是“c”。以及,如果被识别为“9”,那它可能是“q”或“g”。类/字符在混淆规则集的左边部分最多只出现一次。
参考图9,为上述例子示出依照本发明的一个方面,混淆规则900的示例。该图示出一组规则906-910,包括各种混淆规则的左侧部分902和右侧部分904。左侧部分902通常指明会被一般分类器混淆的字符。右侧部分904通常指明非常类似于左侧部分902的易混淆字符的字符。规则集中规则的数量可以为由规则“Z”所指示的任何数量,其中Z表示从1到无穷的任意整数。作为例子,规则“Z”也示出在用户写“9”的时候,会被混淆的一般分类器。规则“Z”说明“9”也可能是“q”或“g”。同样,规则“1”906和“2”908说明在分别遇到“c”和“C”时遵循的规则,如上文所述。
在本发明中,为每条规则构造小型双向分类器来确定字符是在规则的左侧部分还是在右侧部分。如果一般分类器得到的分类出现在规则的左侧部分,那么小型特定用户双向分类器介入并确定分类是否正确,或是否是在规则右侧部分的字符。如果此分类是右侧部分,就有两种可能性。如果规则的右侧部分只由一个类/字符组成,原先的分类被覆盖为此类/字符,而如果规则的右侧部分由多个类/字符组成,可使用原先的一般分类器来确定这些可能性中正确的字符。
转至图10,描述了依照本发明的一个方面,特定用户分类器实例1000的框图。在本发明中可使用不同类型的注册模型作为小型后处理器分类器或双向分类器以利于手写识别系统的分类。在这个本发明的实例中,实例1000包括特定用户分类器组件1002和用于分类数据的各种模型,包括MLLR适应的密度模型1004、直接密度模型1006、直接判别模型1008和模型“Y”1010,其中Y表示可用于提供特定用户分类器组件1002想要的功能的任何模型。MLLR适应的模型1004提供为混淆规则的每个字符构造密度模型、使用注册的数据适应字符密度模型于特定用户、以及使用适应的模型来确定双向分类的功能。为关联于规则的Fpi中的特征构造密度模型,此模型通常是具有对角的和/或完全协方差矩阵的高斯混合。可使用最大似然线性回归的方法实现功能,如Leggeter和Woodland(1994);利用线性回归的隐马尔可夫的扬声器适应;研究报告;剑桥大学工程系和Gales和Woodland(1996);MLLR框架中的均值和方差适应;研究报告;剑桥大学工程系中所述,以便基于通过用户短暂注册时间得到的数据适应这些模型于特定用户。由于捆绑集的实现,需要的数据量很小。然后,利用适应的模型确定混淆规则的双向分类。如果实例的密度对于混淆规则的左侧部分比对于混淆规则右侧部分更大,那么它是左侧部分的分类。否则,是右侧部分的分类。在本发明的其它实例中,适应的特定用户模型的可能性可通过例如乘法过程与一般模型相结合。
直接密度模型1006提供功能为特定用户子特征集Fpi的每个捆绑集建立密度模型,并且利用捆绑集密度模型为混淆规则确定双向分类。使用所有捆绑在一起的字符的注册数据为每个捆绑集构造密度模型。为定义捆绑集的特征建立单独的密度模型。然后,利用这些模型进行双向分类。对于关联于规则的特定用户特征集Fpi,在混淆规则左侧部分上的类/字符不应与混淆规则右侧部分上的类/字符在同一捆绑集中。在本发明的其它实例中,模型的可能性可通过例如乘法过程与一般模型结合。
直接判别模型1008利用观察的注册数据提供分类器模型,创建分类器模型为混淆规则确定双向分类。利用注册的数据建立分类器,其中类/字符的数据依照对不同特定用户特征的捆绑集的最佳划分而绑定。见图7,横线708-712。捆绑集和混淆规则应当以保证混淆规则左侧部分上的类/字符与混淆规则右侧部分上的类/字符不在同一捆绑集的方式构造。然后,用这些模型进行后处理器分类。
类似地,模型“Y”1010表示可提供用于利用注册数据建立分类器和构造分类器模型来确定双向分类的功能的其它模型。“Y”表示能提供所要的功能从1到无穷的模型的任意数量。
考虑所示和上述的示例系统,依照本发明实现的方法参照图11-13的流程图可得到更好的理解。但出于解释简易的目的,该方法以一系列的框图来显示和描述,可以理解和明白的是本发明不限于框图的顺序,因为依照本发明,一些框图可以不同于所示和在此描述的顺序发生和/或同时与其它框图发生。而且,依照本发明,不是所有的框图都需要实现此方法。
本发明可在由一个或多个组件执行的诸如程序模块等计算机可执行指令的通用上下文环境中描述。通常,程序模块包括运行特定任务或实现特定抽象数据类型的例行程序、程序、对象、数据结构等等。典型地,程序模块的功能可如所其所想,结合或分布于各种实施例中。
在图11中,示出依照本发明的一个方面,构造手写识别系统的方法1100的流程图。方法1100开始于1102,利用来自多个用户1104的手写数据建立至少一个一般分类器。一般分类器使用的数据可包括一般特征和/或特定用户特征。一般分类器典型地用作分类手写数据的第一处理器。在本发明的其它实例中,此功能由现有系统提供。然后,能利用来自特定用户1106的数据适应一般分类器。在本发明的其它实例中,是否以这种方式适应一般分类器是可任选的。然后,利用来自特定用户或特定用户和多用户1108的手写数据为每个捆绑特征类构造特定用户分类器。然后,结合一般分类器和特定用户分类器1110,结束该流程1112。在本发明的一个实例中,例如,结合的分类器使用如下。如果一般分类器作出的分类出现于规则左侧部分上,那么特定用户分类器介入并确定分类是否正确,或者是否分类可以是规则右侧部分上的字符。如果此分类结果为右侧部分,有两种可能性。如果规则的右侧部分只由一个类/字符组成,那么原先的分类用此类/字符覆盖,而如果规则的右侧部分由多个类/字符组成,可使用原先的一般分类器来确定这些可能性中正确的字符。
转至图12,该图描述依照本发明的一个方面,使用手写识别系统的方法1200的流程图。方法1200开始于1202,建立具有第一和第二部分1204的混淆规则。混淆规则给出关于符合混淆规则的类/字符的分类的向导。然后,为每个混淆规则1206提供具有第一和第二分类的双向分类器。这使得特定用户分类器在一般分类器混淆时能更利于类/字符的分类。然后,使用一般分类器确定手写样本1208的分类。然后,对于该分类是否符合第一分类1210进行判定。第一分类通常表示混淆规则的第一部分(例如,“左侧部分”)。如果不是,接受一般分类器的分类1212,结束该流程1214。但是,如果判定结果发现是在第一分类1210中,那么对于混淆规则的第二部分(例如,“右侧部分”)是否包含多于一个字符进行判定。如果该规则的右侧部分只由一个类/字符组成,那么原先的分类被覆盖为该类/字符1220,结束该流程1214。但是,如果该规则的右侧部分由多类/字符组成,可用原先的一般分类器在这些可能性中确定正确的字符,结束该流程1214。
见图13,该图示出依照本发明的一个方面,用于分类特定用户数据的构造方法1300的流程图。本发明可使用提供双向分类器支持混淆规则的任何方法。图13示出本发明可使用的一些实例。该方法1300开始于1302,确定是否使用基于MLLR的方法1304。如果是,那么基于多用户训练数据,为混淆规则中出现的每个字符构造密度模型1312。为关联于规则的Fpi中的特征构造这些密度模型,此模型通常是具有对角的和/或完全协方差矩阵的高斯混合。最大似然线性回归(MLLR)方法诸如在Leggeter和Woodland(1994)和Gales和Woodland(1996),同样作者,中所述,然后基于通过用于用户1314的短暂的注册时间得到的数据,用此方法适应密度模型于特定用户1314,结束该流程1310。由于使用捆绑集,所要的数据量很小。适应的密度模型于是用作对混淆规则的双向分类器。但是,如果不使用MLLR1304,那么就是否使用直接密度模型作出决定1306。如果是,利用捆绑到一起的所有字符的注册数据为每个捆绑集构造密度模型1316,结束该流程1310。对关联于规则的特定用户特征集Fpi,混淆规则左侧上的类/字符不应与该混淆规则右侧的类/字符在同个捆绑集。然后该密度模型用作混淆规则的双向分类器。但是,如果不使用直接密度模型1306,那么就是否使用直接判别模型作出决定1308。如果是,利用注册数据构造分类器,其中类/字符的数据根据对不同的特定用户特征的捆绑集的最佳划分而被绑定1318,结束该流程1310。一般而言,应构造捆绑集和混淆规则使混淆规则左侧上的类/字符与该混淆规则右侧的类/字符不在同一个捆绑集。然后,使用此模型作为对混淆规则的双向分类器。但是,如果不使用直接判别模型1308,流程结束1310。流程1310的结束不是指排除本发明使用其它的模型。它只表示对于上述的本发明实例的例子,所讨论的可能的三种模型方法的结束。
为了提供用于实现本发明的各个方面的其它上下文环境,图14和下面的讨论想要提供合适计算环境1400的简单通用描述,本发明的各个方面都可在其中实现。虽然上面已经在运行于本地和/或远程计算机上的计算机程序的计算机可执行指令的通用上下文环境中对本发明作了描述,但本领域的熟练人员都知道本发明也可结合其它的程序模块实现。通常,程序模块包括运行特定任务和/或实现特定抽象数据类型的例行程序、程序、组件、数据结构等等。而且,那些本领域的熟练人员都清楚本发明的方法可和其它计算机系统配置一起实施,包括单处理器或多处理器计算机系统、微型计算机、大型计算机、个人计算机、手持计算装置、基于微处理器和/或可编程消费电子元件等等,其中的每一个都可与一个或多个相关的装置进行有效的通信。所示的本发明的方面也可实施在分布计算环境中,其中的某些任务由通过通信网络连接的远程处理装置运行。但是,本发明的一些方面,即使不是全部,可在计算机单机上实施。在分布计算环境中,程序模块可位于本地和/或远程存储装置中。
在此申请中所用的术语“组件”想指的是计算机相关实体,或者是硬件、硬件和软件的结合、软件,或者是执行中的软件。例如,组件可以是,但不局限于,运行在处理器上的进程、处理器、对象、可执行的东西、执行的线程、程序和计算机。作为示例,运行在服务器上的应用程序和/或服务器可以是组件。另外,组件可包括一个或多个子组件。
参照图14,用于实现本发明各方面的示例系统环境包括传统的计算机1402,它包括处理单元1404、系统内存1406和连接包括系统内存在内的各种系统组件到处理单元1404的系统总线1408。处理单元1404可以是任何商业上可购买的或专用的处理器。另外,处理单元可实现成由多于一个处理器通过诸如并行连接形成的多处理器。
系统总线1408可以是使用诸如PCI、VESA、Microchanel(微通道)、ISA和EISA,如此等等任何种类的传统总线结构的任何几种类型的总线结构,包括内存总线或内存控制器、外围总线和局域总线。系统内存包括只读存储器(ROM)1410和随机访问存储器(RAM)1412。含有基本例行指令帮助传送计算机1402中元素间的信息的基本输入输出系统(BIOS)1414,如在启动过程中,存储在ROM 1410中。
计算机1402也可包括,例如,硬盘驱动器1416、如用于读写可移动盘1420的磁盘驱动器1418、以及如读写CD-ROM盘1424或其它光介质的光盘驱动器1422。硬盘驱动器1416、磁盘驱动器1418和光盘驱动器1422通过各自的硬盘驱动器接口1426、磁盘驱动器接口1428和光盘驱动器接口1430连接到系统总线1408。驱动器1416-1422和与之相关的计算机可读介质为计算机1402提供数据、数据结构、计算机可执行指令等的非易失存储。虽然上面的计算机可读介质的描述指的是硬盘、可移动磁盘和CD,但那些本领域的熟练人员应当清楚计算机可读的其它类型的介质,如盒式磁带、闪存卡、数字视频盘、Bernoulli卡盘等也可用于示例操作环境1400,而且任何这样的介质可包含计算机可执行指令用于运行本发明的方法。
大量的程序模块可存储在驱动器1416-1422和RAM1412中,包括操作系统1432、一个或多个应用程序1434、其它程序模块1436以及程序数据1438。操作系统1432可以是任何合适的操作系统或操作系统的组合。作为例子,应用程序1434可包括依照本发明的一个方面,自适应的手写识别系统。
用户可以通过诸如键盘1440和指点装置(如鼠标1442)等一个或多个用户输入装置向计算机1402输入控制命令和信息。其它输入装置(未示出)可包括麦克风、游戏杆、游戏手柄、卫星式转盘、无线遥控、扫描仪等等。这些和其它的输入装置常通过连接至系统总线1408的串行端口接口1444连接至处理单元1404,但也可由其它接口连接,如并行端口、游戏端口或通用串行总线(USB)。监视器1446或其它类型的显示装置也通过诸如视频适配器1448等接口连至系统总线1408。除了监视器1446,计算机1402也可包括其它的外围输出装置(未示出),如扬声器、打印机等等。
应当清楚的是计算机1402可使用到一个或多个远程计算机1460的逻辑连接运行于网络环境中。远程计算机1460可以是工作站、服务器计算机、路由器、对等装置或其它普通的网络节点,典型地包括许多或所有所述关于计算机1402的元素,虽然出于简洁的考虑,图14中只示出存储装置1462。图14中描述的逻辑连接可包括局域网(LAN)1464和广域网(WAN)1466。这种网络环境在办公室、企业范围的计算机网络、内联网和因特网中都很普遍。
用于LAN网络环境时,例如,计算机1402通过网络接口1464或适配器1468连接至局域网。用于WAN网络环境时,计算机1402典型地包括调制解调器(例如,电话、DSL、电缆等)1470,或连接至LAN上的通信服务器,或有其它的方法用于建立WAN 1446上的通信,如因特网。调制解调器1470相对于计算机1402可为内置或外置,它通过串行端口接口1444连至系统总线1408。在网络环境中,程序模块(包括程序1434)和/或程序数据1438可存储在远程存储装置1462中。应当清楚的是所示网络连接只是示例性的,在执行本发明的一个方面时也可用在计算机1402和1460间建立通信连接的其它方法(如有线或无线)。
除非另有说明,依照计算机编程领域熟练人员的实践,已参照诸如计算机1402或远程计算机1460等计算机所进行的动作和操作的符号表示,对本发明进行了描述。这种动作和操作有时被称为被计算机执行的。应当清楚的是动作和字符号化表示的操作包括表示数据位的电子信号的处理单元的操纵,它产生结果转换或电子信号表示的减少,以及内存系统(包括系统内存1406、硬盘驱动器1416、软盘驱动1420、CD-ROM1424和远程存储器1462)中存储位置上数据位的保持,从而来重新配置或改变计算机系统的操作和其它的信号处理。保持这种数据位的存储位置是物理位置,具有特定的电、磁或光属性对应于该数据位。
图15是本发明可与之交互的实例计算环境1500的另一框图。系统1500进一步示出包括一个或多个客户1502的系统。客户1502可以是硬件和/或软件(例如,线程、进程、计算装置)。系统1500也包括一个或多个服务器1504。服务器1504也可以是硬件和/或软件(例如,线程、进程、计算装置)。例如,服务器1504通过使用本发明,可容纳线程进行转换。客户1502和服务器1504间一个可能的通信可以以数据包的形式在两个或多个计算机进程间传送。系统1500包括通信框架108,它可用来帮助客户1502和服务器1504间的通信。客户1502可操作地连接到可用于存储对于客户1502的本地信息的一个或多个客户数据存储装置1510。类似地,服务器1504可操作地连接到可用于存储对于服务器1504的本地信息的一个或多个服务器数据存储装置1506。
在本发明的一个实例中,数据包在两个或多个计算机组件间传送帮助进行手写识别,该数据包包括,至少部分地包括,来自结合使用一般分类器和特定用户分类器来分类手写数据的手写识别系统的手写相关信息。
在本发明的另一实例中,存储系统的计算机可执行组件以利于手写识别的计算机可读媒体包括手写识别系统,该系统包括,或至少部分包括,可相互结合操作来分类手写数据的一般分类器和特定用户分类器。
应当清楚的是本发明的装置、系统和/或方法可在手写识别模式中使用以促进计算机组件和类似相关的非计算机组件。而且,本领域的熟练人员将知道本发明的系统和/或方法可用于大批的电子相关技术,包括,但不限于,计算机、服务器和/或手持电子装置等等。
上面所述的包括本发明的实例。当然,不可能为了描述本发明而描述组件或方法的每个可能的组合,但本领域的普通的熟练人员都可知道还有许多本发明的组合和改变都是可能的。因此,本发明试图包括所有这种符合附加权利要求的精神实质和范畴的改变、修改和变化。而且,术语“包括”所用的程度或者在详细描述或者在权利要求中,这种术语是试图包含的,在某种意义上类似于术语“包含”在权利要求中作转换词时的解释。
权利要求
1.便于自适应手写识别的系统,其特征在于,该系统包括接收手写数据的组件;以及分析与其识别相关的手写数据的识别组件,该识别组件使用与分析相关的至少一个一般分类器和至少一个特定用户分类器。
2.如权利要求1所述的系统,对于在多个用户中呈现大量共性的手写数据的一般特征,至少应用一个一般分类器。
3.如权利要求2所述的系统,一般特征包括,至少部分包括,从包含比例形状特征、大小特征和位置特征的组中选择的至少一个特征。
4.如权利要求1所述的系统,对特定用户呈现基本的唯一性的手写数据的特定特征,至少应用一个特定用户分类器。
5.如权利要求4所述的系统,特定特征包括,至少部分包括,从由大小特征和位置特征组成的组中选择的至少一个特征。
6.如权利要求1所述的系统,其特征在于,该系统进一步包括多个特定用户分类器,每个相关的特定用户分类器都关联于各自的特征集。
7.如权利要求6所述的系统,特征集不相交。
8.如权利要求1所述的系统,识别组件使用混淆规则,它将类/字符关联于一般分类器容易混淆的一组类/字符。
9.如权利要求8所述的系统,至少一个特定用户分类器可覆盖一般分类器。
10.如权利要求7所述的系统,使用为混淆规则的各个字符构造的密度模型。
11.如权利要求10所述的系统,至少一个密度模型包括MLLR适应的密度模型。
12.如权利要求7所述的系统,使用为混淆规则的各个字符构造的直接判别模型。
13.权利要求1所述的系统,一般分类器是开始提供的一般分类器的适应后的版本。
14.建立手写识别系统的方法,其特征在于,该方法包括利用与多用户关联的手写数据,建立至少一个一般分类器;以及从特定用户和包括特定用户和多个用户所构成的组中选择至少一个,利用其所提供的手写数据,建立至少一个特定用户分类器。
15.如权利要求14所述的方法,其特征在于,该方法进一步包括使用一般分类模型和具有至少一个捆绑集的至少一个捆绑类来训练至少一个特定用户分类器。
16.如权利要求15所述的方法,其特征在于,使用MLLR方法,利用与至少一个捆绑类的至少一个捆绑集关联的数据来适应一组模型。
17.如权利要求15所述的方法,其特征在于,利用与至少一个捆绑类的至少一个捆绑集相关联的数据来建立一直接密度模型集。
18.如权利要求15所述的方法,其特征在于,利用与至少一个捆绑类的至少一个捆绑集相关联的数据来建立一直接判别模型。
19.如权利要求18所述的方法,其特征在于,直接判别模型基于分类器,其具有捆绑于对至少一个特定用户特征的至少一个捆绑集的至少一个最佳划分的类/字符数据。
20.用于识别手写的系统,其特征在于,该系统包括用于一般确定通过来自多用户的数据所训练的手写信息分类的装置;以及用于特定确定至少部分通过来自特定用户的数据所训练的手写信息分类的装置;以及用于可操作地利用一般确定方法和特定确定方法来分类手写数据的装置。
21.如权利20所述的系统,该系统进一步包括用于为至少一个一般分类器混淆规则分类手写数据的装置。
22.如权利21所述的系统,该系统进一步包括基于至少一个混淆规则,用于覆盖至少一个一般分类的装置。
23.识别手写的方法,其特征在于,该方法包括利用至少一个一般分类器处理手写数据,以建立至少一个数据的分类;以及利用至少一个特定用户分类器来进一步精化一般分类器的数据分类。
24.如权利23所述的方法,其特征在于,该方法进一步包括为一般分类器建立至少一个混淆规则,每个混淆规则至少具有第一和第二部分;以及为每个混淆规则建立至少一个双向分类器供至少一个特定用户分类器使用,双向分类器包括表示混淆规则至少第一部分的至少第一分类和表示混淆规则至少第二部分的至少第二部分分类。
25.如权利24所述的方法,双向分类器包括,至少部分包括,从MLLR适应的密度模型、直接密度模型和直接判别模型所构成的组中选择的至少一个模型。
26.如权利24所述的方法,双向分类器包括通过至少一个适应的特定用户模型和至少一个一般模型的似然组合开发的模型。
27.如权利26所述的方法,该组合包括从适应的特定用户模型和一般模型的似然的乘法过程得到的结果。
28.如权利24所述的方法,其特征在于,该方法进一步包括使用一般分类器确定何时数据在第一分类中;当一般分类器确定数据在第一分类中时,利用特定用户分类器进一步精化数据;以及在数据被分在不是第一分类的分类中时,接受一般分类器的确认。
29.如权利28所述的方法,其特征在于,该方法进一步包括当利用特定用户分类器时,确定在混淆规则第二部分中的字符数;当只有一个字符在混淆规则的第二部分时,覆盖一般分类器;以及当多于一个字符在混淆规则的第二部分时,通过一般分类器将在混淆规则第二部分中的字符分类。
30.促进手写识别的在两个或多个计算机组件间传送的数据包,其特征在于,该数据包包括,至少部分包括,来自结合使用了一般分类器和特定用户分类器分类手写数据的手写识别系统的手写相关信息。
31.计算机可读介质已经存储在如权利要求1所述的系统的计算机可执行组件上。
32.使用如权利要求23所述的方法的装置,其特征在于,该装置包括从计算机、服务器和手持电子装置组成的组中选出的至少一个装置。
33.使用如权利要求1所述的方法的装置,其特征在于,该装置包括从计算机、服务器和手持电子装置组成的组中选出的至少一个装置。
34.计算机可读介质已经在其上面存储了计算机可执行指令,用于进行如权利要求23所述的方法。
全文摘要
本发明利用手写样本的一般和特定用户特征,用最小程度的特定用户注册数据提供自适应的手写识别。通过使一般和特定用户分类器能促进识别过程,可利用特定用户的手写特征快速确定而尚未由用户输入的这些手写字符的特征。因此,可识别新的字符而不需要用户首先输入该字符作为注册或“训练”数据。在本发明的一个实例中,一般特征的处理由在多用户上训练的一般分类器来完成。在本发明的另一实例中,使用特定用户分类器按要求对一般分类器的分类修改以提供特定用户手写识别。
文档编号G06K9/68GK1573799SQ20041004220
公开日2005年2月2日 申请日期2004年4月21日 优先权日2003年5月21日
发明者B·西森, C·A·米克 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1