CN100472560C - 手写体识别的个性化系统和方法 - Google Patents

手写体识别的个性化系统和方法 Download PDF

Info

Publication number
CN100472560C
CN100472560C CNB2004800027475A CN200480002747A CN100472560C CN 100472560 C CN100472560 C CN 100472560C CN B2004800027475 A CNB2004800027475 A CN B2004800027475A CN 200480002747 A CN200480002747 A CN 200480002747A CN 100472560 C CN100472560 C CN 100472560C
Authority
CN
China
Prior art keywords
user
data
recognizer
text
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2004800027475A
Other languages
English (en)
Other versions
CN1802648A (zh
Inventor
P·哈卢普托克
R·N·卢埃耿
B·J·朱林
M·雷沃弗
R·K·塞勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1802648A publication Critical patent/CN1802648A/zh
Application granted granted Critical
Publication of CN100472560C publication Critical patent/CN100472560C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Character Discrimination (AREA)

Abstract

提供了一种用于个性化输入法的识别的改进的系统和方法。可训练手写体识别器可通过使用由用户书写的墨迹和由用户创作的文本来个性化。该系统包括一个性化服务引擎以及具有用于收集、储存和访问用于训练识别器的用户墨迹和所创作信息的接口的框架。该系统的训练器可包括用于使用文本内容来增广识别器的字典的文本训练器,以及用于使用由用户提供的墨迹数据来调整类属识别器组件的形状训练器。该训练器可加载多个训练器客户机,其每一个能够训练一个或多个特定识别器。此外,提供了一种支持可插式识别器的框架。任何可训练识别器可以使用由用户创作的所收集信息和由用户书写的墨迹来动态地个性化。

Description

手写体识别的个性化系统和方法
发明领域
本发明一般涉及计算机系统,尤其涉及用于手写体识别的个性化的改进的系统和方法。
发明背景
诸如手写体、语音和输入法编辑器等高级输入法可使用类属输入样本用于训练其识别器。例如,手写体识别器可通过收集由随机选择的组贡献的书写样本来训练。这种训练识别器的方法具有该识别器能够被调整以对尽可能对的人起作用的优点。从不同的人收集的用于训练识别器的样本越多,识别器可变得越健壮以用于一般用途。
然而,这种用于训练识别器的方法具有若干缺点。由于识别器是由类属书写样本来训练的,因此个别用户可能经历识别错误,尤其是当用户书写看上去像从类属样本中获得的另一字符的字符时,例如,用户可能将字母“u”写得向来自类属样本的字母“n”。除非用户能够修改其手写体以适应于由类属样本训练的识别器,否则用户可能无法修补这类识别错误。可能仅向用户提供了通过纠正包含该错误的个别单词的文本翻译,例如将文本翻译从“yon”纠正为“you”,来纠正这一错误的能力。但是这可能无法修补误识别特定输入字符的最基本的识别错误。纠正每一误识别的单词对于用户可能是痛苦的,尤其是当相同的错误重复而识别器看上去无法从这些纠正中获悉个人书写中的形状细微差别的时候。
高级输入法也可提供用于训练其识别器的类属语言模型。该语言模型可能不使用对用户唯一的词汇表。此外,用户词汇表的某些关键来源,诸如由用户创作的电子邮件、文档和URL,可能无法在类属语言模型中表示。例如,电子邮件地址不符合特定语言的语言规则或词汇表。例如,需要单词之间的空格的英语语言不适用于电子邮件地址。类似地,统一资源定位器(URL)不符合特定语言的语言规则或词汇表。结果,类属语言模型在准确地识别这些类型的输入的能力上有限制。用户最终可能在使用导致对这些类型的输入的较差识别准确度的类属语言模型时具有不满意的体验。
所需要的是一种使高级输入法能够知道个别用户如何书写以及个别用户写了什么,使得可达到输入识别中更高的准确度的方法。另外,这一系统应当支持当用户写到系统并创作文本时识别器的动态自适应。
发明概述
简言之,本发明提供了一种用于手写体识别个性化的系统和方法。该系统和方法可通过使用由用户书写的墨迹以及由用户创作的文本来个性化可训练识别器。为此,本发明提供了具有用于收集、储存和访问用于训练识别器的用户墨迹以及所创作的信息的接口的组件和框架。在所提供的组件中的可以是操作上耦合至各种应用程序、数据库和存储设备、识别器以及用于识别器的训练器的个性化服务引擎。
该个性化服务引擎可包括个性化服务接口、墨迹服务引擎、采集服务引擎以及已训练数据引擎。墨迹服务引擎可从收集器接收墨迹,并将所收集的墨迹储存在一墨迹数据库中。采集服务引擎可收集由用户创作的文本,并将所收集的文本储存在一采集服务数据库中。此外,由本发明提供的框架允许任何应用程序或可执行代码提供用户的墨迹或创作的文本来提高识别准确度。这类应用程序可包括个性化向导、墨迹察看器以及其它应用程序。包括在数据库和存储设备内的可以是用于储存用户的墨迹的墨迹数据库、用于储存由识别器使用的已训练数据的已训练数据数据库、用于储存操作系统和程序设置的注册表、用于储存语言信息的采集服务数据库以及一般由计算机系统使用的磁盘存储。
有利的是,训练器可包括用于使用文本内容来增大识别器的字典的文本训练器,以及用于使用由用户提供的墨迹数据来调整类属识别器组件的形状训练器。训练器可加载多个训练器客户机,其每一个能够训练一个或多个特定的识别器。此外,通过提供支持可插式训练器的框架,任何可训练识别器可使用所收集的由用户创作的信息以及由用户书写的墨迹来动态地个性化。
本发明的体系结构可允许个性化服务引擎自动收集用户的墨迹和所创作的文本,来创建用户数据的储存库用于个性化识别。此外,该体系结构支持当用户写到系统并创作文本时可训练识别器的动态自适应。当结合附图阅读以下详细描述时,可以清楚其它优点,附图中:
附图简述
图1是概括地示出了其中可结合本发明的计算机系统的框图;
图2是依照本发明的一方面,概括地表示了用于手写体识别个性化的系统组件的示例性体系结构的框图;
图3是依照本发明的一方面,概括地表示了收集用于手写体识别个性化的墨迹的系统组件的示例性体系结构的框图;
图4是依照本发明的一方面,概括地表示了收集用于手写体识别个性化的文本的系统组件的示例性体系结构的框图;
图5是依照本发明的一方面,概括地表示了由用于手写体识别个性化的系统采取的示例步骤的流程图。
详细描述
示例性操作环境
图1示出了适合在其中实现本发明的计算系统环境100的一个示例。计算系统环境100仅为合适的计算环境的一个示例,并非暗示对本发明的使用范围或功能的局限。也不应将计算环境100解释为对示例性操作环境100中示出的任一组件或其组合具有任何依赖或需求。
本发明可以使用众多其它通用或专用计算系统环境或配置来操作。适合使用本发明的众所周知的计算系统、环境和/或配置包括但不限于:个人计算机、服务器计算机、手持式或膝上设备、图形输入板设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子设备、网络PC、小型机、大型机、包括任一上述系统或设备的分布式计算环境等等。
本发明可以在诸如由计算机执行的程序模块等计算机可执行指令的一般上下文环境中描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,执行特定的任务或实现特定的抽象数据类型。本发明也可以在分布式计算环境中实践,其中,任务由通过通信网络连接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中。
参考图1,用于实现本发明的示例系统包括计算机110形式的通用计算设备。计算机110的组件包括但不限于,处理单元120、系统存储器130以及将包括系统存储器的各类系统组件耦合至处理单元120的系统总线121。系统总线121可以是若干种总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构的局部总线。作为示例而非局限,这类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线以及外围部件互连(PCI)总线,也称为Mezzanine总线。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是可由计算机110访问的任一可用介质,包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非局限,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法或技术实现的易失性和非易失性,可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机110访问的任一其它介质。通信介质通常具体化为诸如载波或其它传输机制的已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送介质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、RF、红外和其它无线介质。上述任一的组合也应当包括在计算机可读介质的范围之内。
系统存储器130包括以易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包括如在启动时帮助在计算机110内的元件之间传输信息的基本例程,通常储存在ROM 131中。RAM 132通常包含处理单元120立即可访问或者当前正在操作的数据和/或程序模块。作为示例而非局限,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作示例,图1示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器141、对可移动、非易失性磁盘152进行读写的磁盘驱动器151以及对可移动、非易失性光盘156,如CD ROM或其它光介质进行读写的光盘驱动器155。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器141通常通过不可移动存储器接口,如接口140连接到系统总线121,磁盘驱动器151和光盘驱动器155通常通过可移动存储器接口,如接口150连接到系统总线121。
上文讨论并在图1示出的驱动器及其关联的计算机存储介质为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1中,示出硬盘驱动器141储存操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可以与它们不同。这里对操作系统144、应用程序145、其它程序模块146和程序数据147给予不同的标号来说明至少它们是不同的副本。用户可以通过输入设备,如图形输入板或电子数字化仪164、麦克风163、键盘162和定位设备161(通常指鼠标、跟踪球或触摸板)向计算机110输入命令和信息。图1未示出的其它输入设备可包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪或其它设备,包括包含生物测定传感器、环境传感器、位置传感器或其它类型传感器的设备。这些和其它输入设备通常通过耦合至系统总线的用户输入接口160连接至处理单元120,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。监视器191或其它类型的显示设备也通过接口,如视频接口190连接至系统总线121。监视器191也可与触摸屏面板或其类似物集成。注意,监视器和/或触摸屏面板可以物理地耦合至其中包含计算设备110的外壳,如图形输入板类型的个人计算机。另外,诸如计算设备110的计算机也可包括其它外围输出设备,如扬声器195和打印机196,它们通过输出外围接口194或其类似物连接。
计算机110可以使用到一个或多个远程计算机,如远程计算机180的逻辑连接在网络化环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它普通网络节点,并通常包括许多或所有相对于计算机110所描述的元件,尽管在图1中仅示出了存储器存储设备181。图1描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可包括其它网络。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接至LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或用于通过WAN 173,如因特网建立通信的其它装置。调制解调器172可以是内置或外置的,通过用户输入接口160或其它适当的机制连接至系统总线121。在网络化环境中,相对于计算机110所描述的程序模块或其部分可储存在远程存储器存储设备中。作为示例而非局限,图1示出远程应用程序185驻留在存储器设备181上。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它装置。
手写体识别的个性化
本发明一般针对一种用于手写体识别的个性化的系统和方法。该系统和方法可通过使用由用户书写的墨迹和由用户创作的文本来个性化可训练识别器。通过使识别器适用于用户如何书写以及用户书写了什么,识别器在识别用户的手写体时可以更加准确。为此,本发明提供了具有用于收集、储存和访问用于训练识别器的用户墨迹和创作的信息的接口的组件和框架。如此处所使用的,墨迹一般意味着书写的字符形状或单词。可训练识别器可被显式或隐式地个性化。如此处所使用的,隐式个性化意味着用不使用用户提供的文本或使用自动从用户机器收集的文本收集的用户墨迹来训练识别器。显式个性化意味着使用由用户提供的文本收集的用户墨迹来训练识别器。
如可以看到的,本发明的体系结构允许个性化服务引擎自动收集用户墨迹和创作的文本来创建用于个性化识别的用户数据储存库。一般而言,如此处所使用的用户数据意味着由用户创作的数据,包括由用户创作的文本、用户的墨迹和相关联的文本、或正常地由用户创作的文本,它可以是识别结果或用户提供的文本,并也可包括关于由用户创作的数据的上下文信息,如捕捉墨迹的源应用程序、纠正上下文、文档名等等。本发明也提供了具有接口的框架,用于任何应用程序或可执行代码提供用户墨迹或所创作的文本来提高识别准确度。此外,通过提供对应的可插式训练器,任何可训练识别器可使用所采集的由用户创作的信息以及用户书写的墨迹来动态地个性化。如可以理解的,此处所描述的各种框图、流程图和情形仅是示例,可以有可应用本发明的许多其它情形。
转向附图的图2,示出了概括地表示用于手写体识别个性化的系统组件的示例性体系结构的框图。本领域的技术人员可以理解,附图中所示的框中实现的功能可以被实现为单独的组件,或者若干或所有框的功能可在单个组件内实现。作为示例,个性化服务引擎210中的采集服务引擎216的功能可以在单独的组件中实现。或者,墨迹察看器206的功能可以包括在个性化控制面板204中,或者个性化控制面板204的功能可以包括在个性化向导202中。
图2所示的个性化服务引擎210可包括个性化服务接口212、墨迹服务引擎214、采集服务引擎216以及用于储存来自训练器客户机的已训练数据的已训练数据引擎217。个性化服务引擎210可以是任何可执行的软件代码,包括内核组件、应用程序组件、链接库组件、对象等等。个性化服务接口212可以是应用编程接口(API)、对象、控件或其它可执行代码。个性化服务接口212可通过包括诸如从墨迹数据库226检索用户墨迹的QueryInk(查询墨迹)和EnumerateInk(枚举墨迹),以及向墨迹数据库226添加用户墨迹的AddInk(添加墨迹)等可调用接口,提供了对用户墨迹和相关联数据的添加、删除或查询的访问。个性化服务接口212可通过包括诸如Set(设置)和Get(获取)等可调用接口,提供对向注册表230设置个性化设置以及从注册表300获取个性化设置的访问。个性化服务接口212也可通过包括诸如用于训练数据的Train(训练)和从已训练数据数据库228加载已训练数据的GetTrainedData(获取已训练数据)等可调用接口,提供对训练和加载已训练数据的访问。墨迹服务引擎214可以是任何可执行软件代码,包括内核组件、应用程序组件、链接库组件、对象等等。墨迹服务引擎214可从收集器接收墨迹,并将所收集的墨迹储存在墨迹数据库226中。采集服务引擎216可以是任何可执行软件代码,包括内核组件、应用程序组件、链接库组件、对象等等。采集服务引擎216可收集由用户创作的文本并将所收集的文本储存在采集服务数据库232中。
个性化服务引擎210可以在操作上耦合至各种应用程序、数据库和存储设备、识别器、以及用于识别器的训练器、包括在数据库和存储设备中的可以是用于储存用户墨迹的墨迹数据库226、用于储存由识别器使用的已训练数据的已训练数据数据库228、用于储存操作系统和程序设置的注册表230、用于储存语言信息的采集服务数据库232以及一般由计算机系统使用的磁盘存储236。
训练器可包括用于使用文本内容来增广识别器的字典的文本训练器218,以及用于使用由用户提供的墨迹数据来调整类属识别器组件的形状训练器220。可以有一个或多个可训练识别器234。当识别器具有能够在诸如墨迹和由用户创作的文本等用户数据上训练的能力时,识别器可以是可训练识别器。如果识别器是可训练识别器,且打开了个性化,则个性化的识别器用于用户墨迹输入的识别。如果个性化被关闭,则使用非个性化的识别器。
在各种应用程序中的可以是个性化向导202、个性化控制面板204、墨迹察看器206以及其它应用程序208。个性化向导202可以是可以提供用于从用户显式地收集数据并用于允许用户训练识别器的图形用户界面的应用程序、组件或其它可执行代码。所收集的数据可以是用户墨迹以及翻译的文本。所收集的数据也可以是来自由用户创作的文本的用户单词。个性化向导202可将所收集的数据提供给个性化服务引擎210用于存储。当用户离开个性化向导202时,该应用程序可向个性化服务引擎210作出对识别器的训练请求。个性化服务引擎210进而可调用支持所收集的数据的语言的每一可训练识别器的训练器。
用户也可在个性化控制面板204中显式地请求识别器的训练。个性化控制面板204可以是可提供允许用户打开或关闭由个性化服务引擎210提供的服务的个别设置的图形用户界面的应用程序、组件或其它可执行代码。例如,个性化控制面板204可打开或关闭对由用户创作的文本的采集、隐式个性化、识别器的训练以及个性化识别。在一个实施例中,关闭识别器的训练可停止识别器的所有当前和未来的训练,但是仍允许墨迹或文本的所有收集继续。这有利地允许将识别器的训练延迟到显式地请求之后。在本实施例中,用户可在关闭训练之前继续经历可用的个性化识别。通过再次打开训练,本实施例可允许训练从训练被关闭之前的点继续。
用户可通过使用个性化控制面板204关闭个性化来选择不使用个性化识别器。通过关闭个性化识别,系统和还原到个性化之前的默认识别器。在一个实施例中,墨迹或文本的收集可继续,而个性化识别被关闭。本实施例可允许用户临时使用非个性化的识别用于特定的识别任务,而无需复位或停止个性化。在本实施例中再次打开个性化识别可允许用户使用用在个性化被关闭时收集的所有数据训练的个性化识别器来经历个性化识别。在又一实施例中,关闭个性化可完全关闭采集文本、显式和隐式个性化、识别器的训练以及个性化识别器的使用。在本实施例中,系统可还原到个性化之前的默认识别器。本实施例中,所收集和训练的用户数据也可被丢弃。再次打开个性化可允许用户从默认识别器的状态开始个性化。
墨迹察看器206也可包括在耦合至个性化服务引擎210的各种应用程序中。墨迹察看器206可以是一单独的应用程序或个性化控制面板204的一个组件。墨迹察看器206可提供用户用于控制、查看、搜索、删除和编辑被储存用于个性化的墨迹及其相关联的翻译文本的图形用户界面。墨迹察看器206可调用个性化服务接口212来查询、添加或删除储存在墨迹数据库226中的用户墨迹和相关联的数据。墨迹察看器由此可提供显式个性化。耦合至个性化服务引擎210的其它应用程序208只要在用户的墨迹被识别时就可隐含地收集用户墨迹。图形输入板输入面板(TIP)是这一应用程序的一个示例。用户可将手写体输入到TIP中,TIP进而将其发送到识别器234并也可将其发送到个性化服务引擎210。附加信息也可被发送到个性化服务引擎210,以提供关于用户墨迹的附加信息。例如,附加信息可包括收集时间标记、识别的文本、纠正的文本、语言、是否选择替换方案、目标字段是否为文本字段、用户是否具有在发送墨迹前看见识别的文本并纠正该墨迹的文本的选项、储存墨迹的时间标记等等。本领域的技术人员可以理解,用户墨迹可包括其它这类附加信息,并可以由接受手写体作为输入的其它这类应用程序隐含地收集。
图3示出了概括地表示了收集用于手写体识别的个性化的墨迹的系统组件的示例性体系结构的框图。本领域的技术人员可以理解,附图中所述的框内实现的功能可以被实现为单独的组件,或者若干或所有框的功能可以在单个组件内实现。例如,墨迹察看器206的功能可以包括在个性化向导202中。
墨迹服务引擎214可以是任何可执行软件代码,包括内核组件、应用程序组件、链接库组件、对象等等。一般而言,墨迹服务引擎214可以从各种收集器接受墨迹,并将所收集的墨迹储存在墨迹数据库226中。墨迹服务引擎214可访问个性化服务接口212,如向墨迹数据库226添加墨迹和相关联数据的AddInk。墨迹服务引擎214可包括调度器302。墨迹服务引擎的调度器302可调度对于所收集的墨迹的识别器的训练。调度器可使用定时器、只要在收集了指定量的新墨迹时、只要在发生了指定数量的纠正时、或任何其它方式来周期性地调度训练。在使用定时器的情况下,定时器的设置可以在训练器的设置时在注册表中创建,以指示训练应当以什么频率发生。
墨迹可以从各种应用程序收集,诸如由个性化向导202显式地收集或由接受手写体作为输入的应用程序208隐式地收集。墨迹察看器208可通过编辑储存在墨迹数据库226中的墨迹及其相关联的文本来额外地提供显式个性化。个性化向导202可通过提示用户到满足预定字符分布的文本(脚本)的墨迹行,来收集用户的字符形状或墨迹。用户经常使用的单词的墨迹,以及不是常用语言单词(即,人名、产品名称、公司名称、首字母缩写词以及缩略语)的单词的墨迹也可由个性化向导202从用户显式地收集。墨迹数据库可以连同墨迹一起储存附加信息,如原始返回的所识别的文本、纠正的文本(如果可用)、字段输入类型(文本字段、绘图字段)、向导、应用程序类型、收集日期和时间、语言类型、是否有纠正选项、用户是否被验证等等。这些附加信息在训练识别器时可以是有用的,尤其是对于在没有翻译文本的情况下收集的墨迹而言。
识别器的个性化可以由使用从用户收集的墨迹的训练过程来执行。个性化识别器的训练过程通常对个别识别器是专用的,并且训练过程对不同的识别器可以相同或不同。例如,一个识别器可以具有不同的字符集或具有来自另一识别器的不同训练代码。通常,可对每一识别器提供专用训练器作为可插式训练器客户机306。注册表230可具有将识别器映射到其训练器客户机306的个性化设置。
形状训练器220将识别器中的类属识别器组件调整到由用户提供的墨迹数据。这可以使识别器在识别用户如何书写时变得更加准确。形状训练器220可包括训练器管理器304以及一个或多个可插式训练器客户机306。形状训练器可展示一Train接口,它可被调用以请求识别器的训练。Train接口可枚举用户机器上可用于当前输入语言的所有可训练识别器,并可调用所找到的支持该语言的每一可训练识别器的训练器客户机306。
可以只有一个训练器管理器304。训练器管理器304可提供每一识别器的训练器客户机和墨迹服务引擎214之间的瘦接口层。训练器管理器304可设置一连接通道,训练器客户机306可通过该通道与墨迹服务引擎214(或个性化服务引擎210)对话以枚举墨迹和保存结果。
安装在系统上的每一识别器可提供可插式训练器客户机306,它可以是动态链接库或其它可执行代码。在设置可训练识别器的过程中,训练器客户机可向系统注册,且将识别器映射到其训练器客户机306的设置可被保存在注册表230中。在训练器管理器304建立了训练器客户机306可通过其来对话的连接通道之后,训练器客户机306可直接与墨迹数据库226通信、可枚举所有可用墨迹、执行墨迹的操纵、以及可将结果保存在已训练数据数据库228中。结果的内部结构通常对训练器客户机机器对应的识别器是专用的。在一个实施例中,训练器客户机306在其自己的进程空间中执行,使得任何可能的坏行为可以被隔离,并且可以容易地被控制清除。
当被调用时,训练器客户机306可基于可用数据判定是否训练。如果没有足够的数据可用或者可用数据无法满足训练所需的特定准则,则训练器客户机306可判定不训练。如果执行训练,则训练器客户机306可将训练结果储存在已训练数据数据库228中。
如果用户在训练期间关闭系统或注销,则个性化服务引擎210可向用户发送指示训练正在发生的通知,并可提议用户继续训练或停止训练。如果用户停止训练,则可删除临时的已训练数据。当用户下一次登录时,可向用户显示训练通知,建议用户从个性化控制面板重启训练。
图4示出了概括地表示了采集用于手写体识别个性化的文本的系统组件的示例性体系结构的框图。本领域的技术人员将认识到,附图中所示的框内实现的功能可以被实现为单独的组件,或者若干或所有框的功能可以在单个组件内实现。作为一个示例,注册表监视程序402的功能和磁盘扫描程序404的功能可以在同一组件内实现。一般而言,采集服务引擎216收集用户书写的、在用户机器上可用的单词,并用这些单词来增广识别器的字典。通过如此调整语言模型使其适合用户,识别器在识别用户书写了什么时可以更加准确。由此,重要的是所采集的文档是由用户创作的。
采集服务引擎216可以是任何可执行软件代码,包括内核组件、应用程序组件、链接库组件、对象等等。采集服务引擎216可管理关于由应用程序或组件采集的文本的更新消息的更新消息队列、可用这些更新来更新采集服务数据库232、并且然后可向采集客户机418通知这些改变。采集服务引擎216可包括注册表监视程序402、磁盘扫描程序404、应用程序采集程序406以及客户机处理程序408。客户机处理程序408可以被实现为动态链接库或其它可执行代码,并可用于向注册的采集客户机发送最新近的改变以及对采集服务数据库232的访问。注册表监视程序402可以被实现为对象,并且负责监视对注册表230中的各种列表的改变。例如,可以有由操作系统外壳程序和互联网浏览器使用的、保存在注册表230中的列表,如同一资源定位器(URL)列表或电子邮件地址列表。在一个实施例中,单独的组件可直接从互联网浏览器采集URL。注册表监视程序402可检测对这些列表的任何改变,并可将这些改变提供给采集服务引擎216用于更新采集服务数据库232。磁盘扫描程序404可以被实现为对象,并负责采集储存在磁盘236上的文档。在一个实施例中,磁盘扫描程序404可使用诸如文件系统API等接口,如ReadDirectoryChangesW,来监听磁盘上的文档更新。在本实施例中,对系统上每一固定的磁盘驱动器可以有一个线程,并且监听线程可以对要向其通知磁盘上的文件改变的每一固定的驱动器调用根目录上的ReadDirectoryChangesW。当被通知磁盘上的文件改变时,监听线程可向更新消息队列添加一更新消息,然后返回以继续监听。应用程序采集程序406可以被实现为对象、动态链接库或其它可执行代码,并可接受关于从应用程序发送的文本更新的更新消息,该应用程序调用诸如IHarvest接口来向应用程序采集程序406发送更新信息。IHarvest接口可以是由应用程序采集程序406变得可用的应用编程接口(API)、对象、控件或其它可执行代码。作为一个示例,TIP应用程序可通过调用IHarvest接口向应用程序采集程序406直接发送诸如对识别文本的纠正等文本更新信息。这一实现对于诸如电子邮件等无法本地储存这类信息的应用程序而言尤其有用。
文档的采集有利地可以是用户指定或自动的。自动采集可以周期性地发生,并且继续直到扫描了整个磁盘236。用户指定的采集可以使用诸如API等接口来实现,该API采用目录数组作为输入以从中进行采集。该接口可创建一线程,该线程将开始采集由用户指定的目录。一旦线程被成功地创建,该接口可返回到调用者,并且采集可以与请求异步地发生。
采集服务数据库232可包括文本数据库410、非文本数据库412以及磁盘文档数据库414。磁盘文档数据库414可储存近来采集的文档和关于文档的信息,这里指输入范围,如文档名、其存储位置的路径、采集该文档的应用程序、文档的语言、采集文档的日期、采集文档的时间、对访问该文档多少次的计数、文档的文本枚举等等。文档的文本枚举可以储存在单独的文件中,假定它是可变长度数据且潜在地非常大。在一个实施例中,储存指定数量的所采集的最新近使用的文档。如果在本实施例中采集了导致文档数目超过指定数目的新文档,则可将最旧的文档移至文本数据库410,并且可将新文档输入到磁盘文档数据库414中。文本数据库410可以是所有文本信息的储存库,它储存了所有采集的文档以及关于每一文档的输入范围信息,包括其枚举的文本。在一个实施例中,文本数据库410可以是一组记录,包括文本数据的长度、采集该文本的日期以及项目的文本。非文本数据库412可以是不是文本的所有数据的储存库。例如,非文本项目可以是URL或电子邮件地址。在一个实施例中,非文本数据库412可以是一组记录,包括采集的非文本项目、最后一次出现的日期以及出现次数。在本实施例中,可以有包含最新近的更新记录的指定大小的小文件,以及用于所采集的非文本项目的所有记录的储存库。当小文件变满时,可以用小文件的记录更新储存库,使得更新只能周期性地发生。
采集服务引擎216可与文本训练器218和采集客户机管理器416通信。文本训练器218可以被实现为对象、应用程序、动态链接库或其它可执行代码,并可使用所采集并储存在采集服务数据库232中的文本内容来增广识别器的字典。采集客户机管理器416可以被实现为对象、应用程序、动态链接库或其它可执行代码,并可提供采集服务引擎216和采集客户机418之间的接口。在一个实施例中,采集客户机管理器416可加载被实现为动态链接库的采集客户机418,并可设置一连接通道,采集客户机418可通过该连接通道与采集服务引擎216(或客户机处理程序408)通信,以枚举所采集的信息并在已训练数据数据库228中保存结果,如单词计数。一般而言,采集客户机418通常可以是通过使来自采集服务数据库232的所采集的信息对识别器可用来帮助识别器以增广其语言模型的代码。然而,本领域的技术人员可以理解,采集客户机可用于增广诸如语音、自然语言等其它应用程序的语言模型。采集客户机418可使用诸如IHarvesterDatabase接口等接口来枚举采集客户机418可能期望的所采集的信息。采集客户机418也可使用诸如ILanguageEnum接口等接口来获得特定语言类型的所采集的信息。
图5是概括地示出了由用于手写体识别个性化的系统采取的示例步骤的流程图。在步骤502,收集关于用户如何书写以及关于用户写了什么的数据。个性化服务引擎210可收集用户的墨迹和翻译,以及用户所创作的文本和非文本项目。具体地,墨迹服务引擎可从个性化向导或其它应用程序收集用户墨迹和文本翻译。墨迹服务引擎也可从接受手写体的应用程序收集用户墨迹。采集服务引擎可从系统注册表、磁盘存储或应用程序收集所采集的文本信息。在步骤504,储存所采集的数据。个性化服务引擎210可将用户墨迹储存在墨迹数据库226中,并将所采集的文本储存在采集服务数据库232中。具体地,墨迹服务引擎可将收集的墨迹储存在墨迹数据库226中,并且采集服务引擎216可将所采集的信息储存在采集服务数据库232中。
在步骤506,训练识别器。个性化服务引擎210可调用支持所收集数据的语言的每一可训练识别器的训练器来执行训练。识别器可通过使用在没有文本翻译的情况下收集的用户墨迹来训练。或者识别器可以通过使用与文本翻译一起收集的用户墨迹来训练。识别器也可以使用所收集并储存的所采集的信息来训练。具体地,可调用形状训练器来使用所收集并储存的墨迹来训练识别器,并调用文本训练器来使用所收集并储存的所采集的信息来训练识别器的语言模型。在步骤508,来自训练器的数据可以被储存并可以对识别器可用。在步骤510,只要个性化设置被打开,已使用用户数据训练的个性化的识别器就可用于手写体。
有利的是,本系统和方法可通过使用由用户书写的墨迹以及由用户创作的文本来个性化可训练识别器。通过使识别器适用于用户如何书写以及用户写了什么,识别器在识别用户的手写体时能够更加准确。本系统和方法可被扩充以用于具有相应的可插式训练器的任何可训练识别器。此外,该体系结构支持当用户写到系统并创作文本时可训练识别器的动态自适应。注意,尽管该体系结构被描述为用于手写体识别器的实施例,然而它可以由其它类型的识别器使用,如形状和姿势识别器。
如可以从以上详细描述中看到的,本发明提供了一种用于提供手写体识别个性化的改进的系统和方法。本发明的体系结构提供了具有用于收集、储存和访问用于训练识别器的用户墨迹和所创作的信息的接口的组件和框架。该系统和框架是可扩充的。它可接受来自任何来源的用户数据,包括由用户创建的外部来源。它也可与提供可插式训练器的任何可训练识别器一起使用。如现在所理解的,本系统和方法由此提供了当代计算中所需的优点和益处。
尽管本发明对各种修改和替换构造是敏感的,其某些阐明的实施例仍在附图中示出并在上文详细描述。然而,应当理解,并非打算将本发明限于所揭示的具体形式,而是相反,本发明旨在覆盖落入本发明的精神和范围中的所有修改、替换构造和等效方案。

Claims (35)

1.一种用于个性化手写体识别的计算机系统,包括:
具有用于用由用户创作的数据来个性化手写体识别器的接口的组件,其中所述用户创作的数据包括由用户书写的墨迹和由用户创作的文本;以及
操作上耦合至所述组件以用所述数据训练所述手写体识别器的训练器;
其中由用户书写的墨迹是指书写的字符形状或单词,而由用户创作的文本是指由用户创作的信息。
2.如权利要求1所述的系统,其特征在于,还包括操作上耦合至所述组件以接收由用户创作的所述数据的应用程序。
3.如权利要求1所述的系统,其特征在于,所述接口包括用于从持久存储中检索墨迹的接口。
4.如权利要求1所述的系统,其特征在于,所述接口包括用于将墨迹储存在持久存储中的接口。
5.如权利要求1所述的系统,其特征在于,所述接口包括用于从持久存储中检索文本的接口。
6.如权利要求1所述的系统,其特征在于,所述接口包括用于将文本储存在持久存储中的接口。
7.如权利要求1所述的系统,其特征在于,所述接口包括用于枚举储存在持久存储中的墨迹的接口。
8.如权利要求1所述的系统,其特征在于,所述接口包括用于枚举储存在持久存储中的文本的接口。
9.如权利要求1所述的系统,其特征在于,所述接口包括用于从持久存储加载已训练数据的接口。
10.如权利要求1所述的系统,其特征在于,所述接口包括用于请求所述数据的训练的接口。
11.如权利要求1所述的系统,其特征在于,所述接口包括用于将所述数据发送到所述组件的接口。
12.如权利要求1所述的系统,其特征在于,所述组件包括用于收集墨迹的引擎。
13.如权利要求1所述的系统,其特征在于,所述组件包括用于采集文本的引擎。
14.如权利要求1所述的系统,其特征在于,所述组件包括用于储存已训练数据的引擎。
15.如权利要求1所述的系统,其特征在于,所述训练器包括形状训练器。
16.如权利要求1所述的系统,其特征在于,所述训练器包括文本训练器。
17.如权利要求2所述的系统,其特征在于,所述应用程序包括个性化向导。
18.如权利要求2所述的系统,其特征在于,所述应用程序包括墨迹查看器。
19.如权利要求2所述的系统,其特征在于,所述应用程序包括文本查看器。
20.一种用于个性化手写体识别的方法,包括以下步骤:
收集由用户创作的数据用于个性化手写体识别,所述用户创作的数据包括由用户书写的墨迹和由用户创作的文本;
持久地储存所收集的数据;
使用所储存的数据训练手写体识别器;以及
持久地储存所训练的数据;
其中,由用户书写的墨迹是指书写的字符形状或单词,而由用户创作的文本是指由用户创作的信息。
21.如权利要求20所述的方法,其特征在于,还包括使用所训练的数据识别手写体的步骤。
22.如权利要求20所述的方法,其特征在于,持久地储存所述数据的步骤包括持久地储存墨迹。
23.如权利要求20所述的方法,其特征在于,持久地储存所述数据的步骤包括储存文本和输入范围。
24.如权利要求20所述的方法,其特征在于,持久地储存所述数据的步骤包括储存电子邮件地址。
25.如权利要求20所述的方法,其特征在于,持久地储存所述数据的步骤包括储存URL。
26.如权利要求20所述的方法,其特征在于,所述训练步骤包括调用支持所收集数据的语言的每一可训练手写体识别器的训练器,来使用所储存的数据执行训练。
27.如权利要求26所述的方法,其特征在于,调用训练器的所述步骤还包括加载所述训练器。
28.如权利要求20所述的方法,其特征在于,所述训练步骤包括在识别期间更新所述手写体识别器的语言模型。
29.如权利要求20所述的方法,其特征在于,使用所储存的数据训练手写体识别器的所述步骤包括使用所储存的数据训练多个手写体识别器。
30.一种用于个性化输入法的识别的计算机系统,包括:
用于提供用于用用户创作的数据来个性化多个识别器的接口的装置,所述由用户创作的数据包括由用户书写的墨迹和由用户创作的文本;以及
用于用所述数据训练所述识别器的装置;
其中,由用户书写的墨迹是指书写的字符形状或单词,而由用户创作的文本是指由用户创作的信息。
31.如权利要求30所述的系统,其特征在于,用于提供接口的所述装置包括用于收集由用户创作的数据的装置。
32.如权利要求30所述的系统,其特征在于,用于提供接口的所述装置包括用于储存由用户创作的数据的装置。
33.如权利要求30所述的系统,其特征在于,用于训练所述识别器的装置包括用于检索由用户创作的所储存数据的装置。
34.如权利要求30所述的系统,其特征在于,用于训练所述识别器的装置包括用于在用户向所述识别器提供输入的同时训练所述识别器的装置。
35.如权利要求30所述的系统,其特征在于,用于训练所述识别器的装置包括用于安装用于训练新识别器的可插式训练器的装置。
CNB2004800027475A 2003-10-24 2004-07-28 手写体识别的个性化系统和方法 Expired - Fee Related CN100472560C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/693,259 2003-10-24
US10/693,259 US7379596B2 (en) 2003-10-24 2003-10-24 System and method for personalization of handwriting recognition

Publications (2)

Publication Number Publication Date
CN1802648A CN1802648A (zh) 2006-07-12
CN100472560C true CN100472560C (zh) 2009-03-25

Family

ID=34522344

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800027475A Expired - Fee Related CN100472560C (zh) 2003-10-24 2004-07-28 手写体识别的个性化系统和方法

Country Status (6)

Country Link
US (1) US7379596B2 (zh)
EP (1) EP1676186A4 (zh)
JP (1) JP2007509418A (zh)
KR (1) KR101002486B1 (zh)
CN (1) CN100472560C (zh)
WO (1) WO2005045578A2 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7886266B2 (en) * 2006-04-06 2011-02-08 Microsoft Corporation Robust personalization through biased regularization
CN100461205C (zh) * 2007-01-08 2009-02-11 中国民航大学 基于高维空间凸锥构造的手写体文字识别方法
CN101286154B (zh) * 2007-04-09 2016-08-10 谷歌股份有限公司 输入法编辑器用户档案
US20080294652A1 (en) * 2007-05-21 2008-11-27 Microsoft Corporation Personalized Identification Of System Resources
CN100595780C (zh) * 2007-12-13 2010-03-24 中国科学院合肥物质科学研究院 一种基于模块神经网络的手写体数字自动识别方法
US8266078B2 (en) 2009-02-06 2012-09-11 Microsoft Corporation Platform for learning based recognition research
CN101882228A (zh) * 2010-06-25 2010-11-10 宇龙计算机通信科技(深圳)有限公司 一种识别手写轨迹的方法、系统及移动终端
US10235358B2 (en) 2013-02-21 2019-03-19 Microsoft Technology Licensing, Llc Exploiting structured content for unsupervised natural language semantic parsing
WO2015030461A1 (en) 2013-08-26 2015-03-05 Samsung Electronics Co., Ltd. User device and method for creating handwriting content
KR102221223B1 (ko) * 2013-08-26 2021-03-03 삼성전자주식회사 필기 컨텐츠를 작성하는 사용자 기기 및 방법
US10073840B2 (en) 2013-12-20 2018-09-11 Microsoft Technology Licensing, Llc Unsupervised relation detection model training
CN110968246A (zh) * 2018-09-28 2020-04-07 北京搜狗科技发展有限公司 中文智能手写输入识别方法及装置
CN113887631A (zh) * 2021-09-30 2022-01-04 北京百度网讯科技有限公司 图像数据处理方法、目标模型的训练方法、装置和设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2607457B2 (ja) * 1984-09-17 1997-05-07 株式会社東芝 パターン認識装置
US5550930A (en) * 1991-06-17 1996-08-27 Microsoft Corporation Method and system for training a handwriting recognizer at the time of misrecognition
US5319721A (en) * 1992-04-14 1994-06-07 International Business Machines Corporation Methods and apparatus for evolving a starter set of handwriting prototypes into a user-specific set
US5630168A (en) * 1992-10-27 1997-05-13 Pi Systems Corporation System for utilizing object oriented approach in a portable pen-based data acquisition system by passing digitized data by data type to hierarchically arranged program objects
JPH06223220A (ja) * 1993-01-26 1994-08-12 Hitachi Ltd 手書き文字入力装置
JPH0757040A (ja) * 1993-08-16 1995-03-03 Fujitsu Ltd Ocr付きファイリング装置
US6556712B1 (en) * 1996-05-23 2003-04-29 Apple Computer, Inc. Methods and apparatus for handwriting recognition
DE69822296T2 (de) * 1997-10-20 2005-02-24 Koninklijke Philips Electronics N.V. Mustererkennungsregistrierung in einem verteilten system
US6256410B1 (en) * 1998-07-30 2001-07-03 International Business Machines Corp. Methods and apparatus for customizing handwriting models to individual writers
US6484136B1 (en) * 1999-10-21 2002-11-19 International Business Machines Corporation Language model adaptation via network of similar users
JP2001256436A (ja) * 2000-03-08 2001-09-21 Ricoh Co Ltd 文字認識装置、方法、及び記録媒体

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
. .
联机手写体汉字识别后处理技术的研究. 徐志明,王晓龙,张凯,关毅.计算机研究与发展,第36卷第5期. 1999
联机手写体汉字识别后处理技术的研究. 徐志明,王晓龙,张凯,关毅.计算机研究与发展,第36卷第5期. 1999 *

Also Published As

Publication number Publication date
EP1676186A2 (en) 2006-07-05
JP2007509418A (ja) 2007-04-12
EP1676186A4 (en) 2011-11-23
WO2005045578A3 (en) 2006-03-30
WO2005045578A2 (en) 2005-05-19
KR101002486B1 (ko) 2010-12-17
KR20060114286A (ko) 2006-11-06
US7379596B2 (en) 2008-05-27
CN1802648A (zh) 2006-07-12
US20050089227A1 (en) 2005-04-28

Similar Documents

Publication Publication Date Title
CN107111516B (zh) 数字个人助理内的无头任务完成
CN100472560C (zh) 手写体识别的个性化系统和方法
US8447015B2 (en) Method and system for processing messages within the framework of an integrated message system
CN100428182C (zh) 用于监控应用程序中的事件的基于简档的捕捉组件
CN101373468B (zh) 一种加载词库的方法、字符输入的方法和输入法系统
US9015693B2 (en) System and method for modifying and updating a speech recognition program
US8238528B2 (en) Automatic analysis of voice mail content
CN1581294B (zh) 语音识别增强的呼叫者识别
CN100476734C (zh) 用于修改信息以从源语言变换为目标语言的方法和系统
CN110334110A (zh) 自然语言分类方法、装置、计算机设备以及存储介质
US20130144618A1 (en) Methods and electronic devices for speech recognition
US20110251837A1 (en) Electronic reference integration with an electronic reader
US20170206903A1 (en) Speech recognition method and apparatus using device information
CN105144040A (zh) 基于通信上下文的预测文本建议
KR20180120427A (ko) 지능형 에이전트 관리 방법 및 장치
US11651158B2 (en) Entity resolution for chatbot conversations
CN102262471A (zh) 一种划屏智能感应系统
JP2008533576A (ja) 電子デバイスのカレンダーアプリケーションのための情報の形成
CN101561725B (zh) 一种手写快速输入的方法和系统
US11615788B2 (en) Method for executing function based on voice and electronic device supporting the same
US20230289514A1 (en) Speech recognition text processing method and apparatus, device, storage medium, and program product
US20230341950A1 (en) Intelligent Keyboard
CN107707448B (zh) 发送后允许用户更改消息内容和附件的电子消息传递平台
KR20180087608A (ko) 검색 서비스를 제공하는 시스템 및 방법
WO2022240413A1 (en) System and method to summarize one or more videos based on user priorities

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150428

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150428

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090325

Termination date: 20200728

CF01 Termination of patent right due to non-payment of annual fee