用于墨水笔记的手写体识别的制作方法

文档序号:6569961阅读:351来源:国知局
专利名称:用于墨水笔记的手写体识别的制作方法
用于墨水笔记的手写体识别 背景计算机用户习惯使用鼠标和键盘作为与个人计算机交互的一种方式。尽管 个人计算机提供优于打印文档的诸多优点,但是用户常常继续使用打印纸件来 执行某些功能。这些功能中的一些功能包括阅读手写文档。在注释的情况下, 由于用户将注释写于该打印文档上,所以打印文档呈现出更大的重要性。然而, 手写文档的困难之一是之后需要将内容输回文档的电子形式。这要求原来的用 户或其他用户费力地阅读手写内容并将它们输入到个人计算机中。在某些情况 下,用户将扫描输入手写内容和原始文本,因此创建一个新的文档。这些多个 步骤使得打印文档与文档的电子版本的文档之间的交互难以在重复的基础上 处理。此外,扫描输入的图像通常是不可修改的。可能不存在将手写内容从原 始文本中分离的方法。这使得使用手写的内容变得困难。因此,需要一种处理 手写内容的改进方法。手写内容可呈现出多种格式,包括绘画、表格、流程图和书写文本。此外, 文档中的手写内容可由一个或多个用户以不同语言输入。例如,注释的一部分 可能由一个用户以汉语(对应于汉字手写体)书写,而另一部分可能由另一用 户以英语(对应于罗马字母手写体)书写。随着增长的国际商务旅行,处理多语言手写文档正变得更加重要。因此, 本领域中存在在手写文档中辨别书写手写体类型的需要。概述区分书写输入的至少一部分的手写体类型。标识手写文档的书写行的至少一个子字。处理至少一个子字以确定包括草体和手写印刷体书写风格在内的相关联的书写风格。因此,用手写体类型对书写行分类。手写体类型包括汉字手 写体和罗马字母手写体。提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并非意在标识所请求保护的主题的关键特征或重要特征,也并 非意在用来帮助确定所请求保护的主题的范围。附图简述本发明的以上简要概述以及下面的优选实施例的详细描述在结合附图阅 读时会得到更好的理解。附图作为所请求保护的发明的示例而不是限制被包括 在其中。

图1示出可结合本发明的各实施例使用的计算机的一般描述。图2示出根据本发明的实施例的使用手写体识别引擎的墨水解析器的体系 结构。图3示出根据本发明的实施例的手写体识别引擎的流程图。 图4示出根据本发明的实施例的预处理前的书写输入的示例。 图5示出根据本发明的实施例的预处理后的书写输入的示例。 图6示出根据本发明的实施例的英语文本的书写行的书写轴的示例。 图7示出根据本发明的实施例的日语文本的书写行的书写轴的示例。 图8示出根据本发明的实施例的法语文本的书写行的基线矩形的示例。 图9示出根据本发明的实施例的汉语文本的书写行的基线矩形的示例。 图10示出根据本发明的实施例的法语文本的书写输入的子字的示例。 图ll示出根据本发明的实施例的日语文本的书写输入的子字的示例。 图12示出根据本发明的实施例的汉语文本的书写输入的子字的示例。 图13示出根据本发明的实施例的提供手写体识别的装置。 图14示出根据本发明的实施例使用的神经网络。详细描述本发明的各方面涉及区分书写输入的至少一个部分的手写体类型。 为了方便读者,下文由各子标题分隔。子标题包括术语、通用计算机、 手写体识别算法的概要、预处理、书写轴的确定、基线矩形的确定、书写方向的确定、子字组合、书写风格的确定、装置、神经网络的输入、神经网络的输 出和神经网络的训练。术语笔画一从下笔(鼠标放下)到抬笔(鼠标抬起)所收集的一系列时间上的点.子字一可在空间内簇集的一小组笔画。这些笔画之间的距离很小。 段一通过在大曲率点处切割笔画所获得的笔画的一部分。 笔一可以包括或可以不包括存储墨水的能力的任何书写实现。在某些示例 中,不带有墨水容量的指示笔可根据本发明的实施例作为笔来使用。 一个示例是Microsoft的Universal Pen (uPen,微软通用笔)。 蕭#微图1是可用来处理来自笔(例如,指示笔166)的书写输入的常规通用数 字计算环境的示例的功能性框图。在图1中,计算机100包括处理单元110、 系统存储器120和将包括系统存储器的各种系统组件耦合到处理单元110的系 统总线130。系统总线130可以是几种类型的总线结构中的任一种,包括釆用 各种总线体系结构中的任何一种的存储器总线或存储器控制器、外围总线和局 部总线。系统存储器120包括只读存储器(ROM)140和随机存取存储器(RAM) 150。包含帮助(例如在启动期间)计算机100内的元件之间传输信息的基本例 程的基本输入/输出系统160 (BIOS)存储于ROM 140中。计算机100还包括 用于读取和写入硬盘(未示出)的硬盘驱动器170、用于读取或写入可移动磁 盘190的磁盘驱动器180和用于读取或写入诸如CD ROM或其它光介质等可 移动光盘192的光盘驱动器191。硬盘驱动器170、磁盘驱动器180和光盘驱 动器191分别通过硬盘驱动接口 192、磁盘驱动接口 193和光盘驱动接口 194 与系统总线130相连接。驱动器和它们相关联的计算机可读介质为个人计算机 IOO提供了对计算机可读指令、数据结构、程序模块及其它数据的存储。本领 域的技术人员将意识到,诸如磁带盒、闪存卡、数字视频盘、贝努利盒带、随 机存取存储器(RAM)、只读存储器(ROM)等能存储计算机可访问的数据 的其它类型的计算机可读介质也可在示例操作环境中使用。包括操作系统195、 一个或多个应用程序196、其它程序模块197和程序 数据198的多个程序模块可存储在硬盘驱动器170、磁盘190、光盘192、 ROM 140或RAM 150上。用户可通过诸如键盘101和定点设备102等输入设备将命 令和信息输入至计算机100。其它输入设备(未显示)可包括麦克风、操纵杆、 游戏手柄、圆盘式卫星天线、扫描仪等等。这些及其它输入设备经常通过耦合 至系统总线的串行端口接口 106连接至处理单元110,但也可由诸如并行端口、 游戏端口或通用串行总线(USB)等其它接口来连接。此外,这些设备可通过 适当的接口 (未显示)直接耦合至系统总线130。监视器107或其它类型的显 示设备通过诸如视频适配器108等接口也连接至系统总线130。除了监视器之 外,个人计算机通常包括诸如扬声器和打印机等其它外围输出设备(未显示)。在一个实施例中,提供笔数字化仪165及其附带的笔或指示笔166以便数 字化地捕获自由手写输入以向处理单元110提供书写输入。尽管显示了笔数字 化仪165与串行端口之间的直接连接,但实践中,如本技术领域中公知的,笔 数字化仪165可通过并行端口或其它接口并通过系统总线130直接耦合至处理 单元IIO。此外,尽管数字化仪165显示为与监视器107是分开的,但是较佳 的是,数字化仪165的可用的输入区域与监视器107的显示区域共生。此外, 数字化仪165可以集成在监视器107内,或作为一个覆盖在监视器107上或以 其它方式添附于监视器107的单独设备而存在。计算机IOO可以采用与诸如远程计算机109等一个或多个远程计算机的逻 辑连接而在联网环境中操作。远程计算机109可以是服务器、路由器、网络 PC、对等设备或其它常见网络节点,并且尽管图1中仅示出存储器存储设备 111,但是远程计算机109通常包括以上关于计算机100所描述的元件中的许 多或所有元件。图1中描绘的逻辑连接包括局域网(LAN)112和广域网(WAN) 113。这种网络环境在办公室、企业范围计算机网络、内联网和因特网中是常 见的。当在LAN网络环境中使用时,计算机100通过网络接口或适配器114连 接至局域网112。当在WAN网络环境中使用时,个人计算机100通常包括调 制解调器115或用于在诸如因特网等广域网113上建立通信的其它装置。可内 置或外置的调制解调器115通过串行端口接口 106连接至系统总线130。在联网环境中,有关个人计算机100所描述的程序模块或其部分可存储于远程存储 器存储设备中。手写沐识鄉法娜要来自笔数字化仪165的书写输入可包括来自若干种语言的文本。语言通常 以不同的手写体来演示。例如,英语、法语、德语和波兰语是用罗马字母手写 体写的。汉语、日语和韩语是用汉字手写体写的。俄语、塞尔维亚语和乌克兰 语是用西里尔字母手写体写的。因此,书写输入可包含一个或多个手写体类型, 包括阿拉伯语、西里尔字母、梵字母、汉字、希伯来语和罗马字母手写体类型。 在多语言情形下,手写体识别可以是墨水应用程序的重要组成部分。在以下讨论中,手写体识别算法按三个小节讨论。首先,描述手写体识别 组成部分在墨水解析器的框架中的位置。第二,演示手写体识别算法的概要。 接着,更具体地描述手写体识别算法。图2示出根据本发明的实施例的使用手写体识别器(手写体识别引擎)205 的墨水解析器200的体系结构。图2示出手写体识别器205在墨水解析器200 的框架内的位置。当书写解析器201处理之后,来自书写输入的笔画被组成 "字"、行和段落。"字"可能不是正好是对应的手写体中的字。"字"仅仅 基于因为它们之间的间隔足够大而被分开。随后,书写/绘图分类引擎203确定 "字"是一个书写组分还是绘图组分。接着,将手写体识别器205应用到每个 书写"字"以确定该"字"的对应手写体类型。最后,"字"通过进一步的处 理207被重新组合成实际的字。在以下讨论中,书写行指的是"字"。图3示出根据本发明的实施例的手写体识别引擎(例如,手写体识别器 205)的流程图300。在本发明的一个实施例中,辨别两个手写体类型罗马字母手写体和汉字 手写体。罗马字母手写体包含包括英语、法语和德语的欧洲语言,而汉字手写 体包含包括汉语(繁体和简体)、日语和韩语的远东语言。(然而,本发明的 实施例可辨别出其它手写体类型并且可处理具有两个或多个手写体类型的书 写输入)。手写体识别引擎的输入包括书写"字"的笔画。书写"字"中的笔 画数目可能变化很大,并且正确的字组合结果在执行手写体识别(对应于流程图200)之前通常是未知的。因此, 一个小的笔画组单元(被称为子字)作为用于确定手写体识别的单位来使用。"字"级别的判定是基于子字组的结果。 本发明的实施例使用被训练用于手写体识别的期望任务的至少两个神经 网络。神经网络通常适用于非线性处理和学习。所以,本发明的实施例可包括 至少两个神经网络以通过学习训练数据集来发现不同手写体类型的特征。在手 写文档中,文档的某些部分(对应于书写输入)可能是草体书写风格的,而其它部分可能是手写印刷体书写风格的。(手写文档的示例包括用户使用电子笔 书写的文本和由用户注释的打印文档。)尽管草体和手写印刷体书写风格之间可能没有清楚而有特征的界线,但是书写风格的属性通常是不同的。草体书写 风格的笔画常常由许多弯组成并且常常比手写印刷体书写风格的笔画长得多。训练两个神经网络。 一个神经网络(与程序313相关联)对应于草体书写风格。 另一个神经网络(与程序319相关联)对应于手写印刷体书写风格。使用草体 书写样本训练对应于草体书写风格的神经网络,而使用手写印刷体书写样本训 练对应于手写印刷体书写风格的神经网络。书写输入由程序301预处理(以后将讨论)。经预处理的书写输入由余下 的程序303 — 319来处理。流程图300的方法是应用规则以按可接受的置信度 对手写体类型分类(例如,对应于程序303 — 305的组合以及程序315 — 317的 组合),其中该规则可在作出正确判定的高概率的情况下使用。如果该规则不 能确保判定的正确性,则使用基于统计的方法(例如,对应于程序313和319 的神经网络)来确定手写体类型。规则所使用的阈值在训练过程中被确定以便 确保结果的正确性。这个方法可改进手写体识别算法的速度并且降低基于统计 的方法的复杂度。手写体识别中有两个组成部分。第一个组成部分是神经网络 从训练数据集学习模型的训练过程。另一组成部分是使用该模型来执行手写体 识别的实际识别过程。将先讨论识别过程。在以下讨论中,假定书写行只有一个手写体类型(尽管本发明的其它实施 例可能没有这个假定)。书写行的笔画首先被组合成子字。如图3所示的手写 体分类器标识每个子字的手写体类型。书写行中所包含的子字的标识结果确定 书写行的手写体类型。程序303确定书写行是否按垂直方向书写。如果是,书 写行被程序305分类为汉字手写体的书写行,因为罗马字母手写体的书写行极少以垂直方向书写。如果书写行是水平的书写行,在执行程序307-319之前, 执行子字的组合。程序307确定子字是否没有包含足够数目的笔画(在训练过 程中由预先设定的阈值确定)。如果是,则不能确定子字的分类(对应于程序 309)。因此,子字的分类不影响书写行的手写体类型的确定。程序311-315 确定子字是对应于草体书写风格还是手写印刷体书写风格。如果书写风格是草 体,则由草体神经网络对手写体类型进行分类(对应于程序3B)。如果子字 没有草体书写风格的特征,并且子字具有许多笔画(即,多于在训练过程中确 定的预先确定的数目,诸如5个笔画或更多),则如程序317所示,手写体类 型很有可能是汉字手写体。采用这个规则,在标识手写体类型时提供了足够低 的出错概率。如果子字不是草体并且没有许多笔画,则由对应于程序319的手 写印刷体神经网络对子字分类。最终,"字"(书写行)的手写体类型由子字的标识结果确定。例如,如 果罗马字母手写体子字的数目足够大于汉字手写体子字的数目,则书写行被归 类为罗马字母手写体。否则,书写行被归类为汉字手写体。豕必潘在程序301执行的预处理期间,通过折线来逼近书写行中的笔画。此外, 计算行的书写轴和基线轴。笔画中的点的数目通常很大。为了降低计算复杂度 并且提升模型的鲁棒性,有必要采用折线来逼近笔画。以下列出采用折线逼近笔画的步骤1) 首先通过线性回归方法局部地逼近笔画。2) 半直的笔画被拉直。 一条直的笔画将只有两个点。拉直方法也是基于线性回归的。3) 通过合并到相邻段来去除勾,并且内部的小段也被合并到相邻的段中。4) 如果两个相邻段的书写方向具有足够小的差异(由预先确定的量确定), 则两相邻段被合并到一个段中。通过上述处理,笔画被简化,冗余点被去除,并且一个子字中的段的数目 减少了。对于与相同的手写字符相关联的不同书写输入,该预处理的笔画通常 产生相似表示。图4示出根据本发明的实施例的预处理前的书写输入的示例400。图5示 出根据本发明的实施例的采用上述步骤预处理后的书写输入的示例500。將賴細定图6示出根据本发明的实施例的英语文本的书写行601的书写轴603和 605的示例600。图7示出根据本发明的实施例的日语文本的书写行701的书 写轴703和705的示例700。每个书写行具有一个其中书写所有字符(书写行601或书写行701)的旋 转的边界框(RBX)(图6中示出的RBX613或者图7中示出的RBX713)。 主书写方向被指定为X方向。X方向可由RBX613或713的定向边框线表示, 它们被定义为X轴603或703。由于RBX613或713由矩形表示,所以定向边 框线可由两个点表示,其中X轴由RBX的定向边框线上的两个点表示。 一个 点是表示原点的PTJ) 607或707。另一个点是PT一X609或709。 Y方向与X 方向正交。因此,Y轴605或705可由RBX613或713的另一个定向边框线表 示。Y边框线由两个点确定与X边框线相同的PT_0 607或707和指定为PT_Y 611或711的另一个点。基錄棘辦定图8示出根据本发明的实施例的法文文本的书写行801的基线矩形的示例 800。图9示出根据本发明的实施例的汉语文本的书写行901的基线矩形的示 例900。用户常常用不同的字体大小书写文档。为了处理这个问题,通常归一化笔 画。此外,字母"g" 、 "1" 、 "f" 、 "p" 、 "h" 、 "b" 、 "y"在垂直方 向上通常写得比其它字符要长,所以使用书写行的RBX是不理想的。基线矩 形803或903通常更适用于归一化。行的各段的位置通常不随基线矩形803或 903很大波动。此外,如果是由基线矩形的高度而不是由RBX的高度来对这 些段进行归一化的,则同一个手写的字符的各段的归一化长度通常不会变化很 大。采用投影方法计算文本行的基线。行的各段投影到书写轴的Y轴上。具有 最大投影的那部分被选为基线的起始位置。从那个位置开始,基线矩形的上边界和下边界向两侧等距离延伸。如果上边界和下边界上的投影比例大于一个阈值,则基线矩形803或903被标识。在一个实施例中,预先确定的阈值大约为 0.83。將方離嫁定书写方向被用来确定书写行是否是垂直书写的。在汉字手写体文档中,书 写字可以是垂直书写的,其中书写行中的字不是从左往右写的,而是从上往下 写的。这种类型的书写被称为垂直书写。采用垂直书写,水平笔画(当从左往 右写的时候)变成垂直笔画并且书写方向是从下到上的。对于水平的书写行, 垂直笔画是从Y的顶部向Y的底部(向下)书写的,但是对于垂直书写行, 垂直笔画是从Y的底部向Y的顶部(向上)书写的。对于一个笔画,笔画的 点被投影到Y轴上。投影值用Y(), Yp ..., Yn表示,如下确定Y方向书写长 度的和<formula>formula see original document page 15</formula>为了计算一个书写行的Y—DIR_LEN—SUM (Y方向书写长度和),对该书写行 的所有笔画的Y—DIR—LEN_SUM值求和。水平书写的书写行的 Y—DIR_LEN_SUM值通常具有大的正值,而垂直书写的书写行的值一般具有 负值或小的正值。 一般,罗马字母手写体的书写行不按垂直方向书写。因此, 如果书写行被确定为垂直书写,则书写行是汉字手写体的概率非常大。f賴合在X方向上的相邻笔画之间距离足够小的笔画被组合以形成子字。 一开 始, 一个笔画是一个子字。对于每一个子字,只采用距离准则检查相邻子字以 确定这些子字是否可被组合在一起。图10示出根据本发明的实施例的法语文本的书写输入的子字1001-1013 的示例1000。图11示出根据本发明的实施例的日语文本的书写输入中的子字 1101-1109的示例1100。图12示出根据本发明的实施例的汉语文本的书写输 入中的子字1201-1207的示例1200。对于汉字手写体,许多子字是"真"字,而某些子字当书写是水平书写时是字的左边部或右边部,当书写是垂直书写时是字的上部或下部。对于罗马字 母手写体,有些子字包含一至三个字母,而有些子字由于草体的关系包含多个字母。在相邻笔画之间具有足够小的水平距离(例如, 一个预先确定的距离)的 笔画被组合在一起以形成一个子字。在一个实施例中,预先确定的距离在训练 神经网络期间被确定。 一开始, 一个笔画是一个子字。对于每一个子字,检査 相邻子字以验证相邻的子字是否可被进一步组合在一起。如果两个子字被组成 一个子字,则为该组合的子字重新启动验证过程。齐写月潜游嫁定由以下规则确定一个子字是否是草体 IF NOT—CONTINUOUS—COUNT—MAX >3AND NOT—CONTINUOUS—COUNT > STROKE一COUNTTHENThe sub-word is cursive (子字是草体) ELSEThe sub-word is hand-print (子字是手写印刷体) NOT_CONTINUOUS_COUNT是子字的曲线数和弯数的总和。笔画可以在书写 方向的累积改变超过一个阈值(例如,pi/2弧度)的点处被分成子笔画。曲线 是在其中书写方向缓慢变化的子笔画,而一个弯中的书写方向急剧改变。 NOT_CONTINUOUS_COUNT—MAX 是子字 的 笔画 的 NOT—CONTINUOUS—COUNT的最大值。紫f图13示出根据本发明的实施例的提供手写体识别的装置1300。本发明的 实施例可在图1所示的计算机100上实现装置。预处理器1303根据图3所示 的程序301预处理书写输入1301。手写体分析器1305根据程序303-311和 315-317处理经预处理的书写输入。在本发明的实施例中,神经网络模块1307 包括对应于程序313的第一神经网络和对应于程序319的第二神经网络。其它 实施例可使用对应于草体和手写印刷体两者的一个神经网络。(其它实施例可使用从一组可能的手写体类型中辨别出手写体类型的数字信号处理器或定制 的逻辑。)经标识的手写体类型由手写体风格指示器1309指示。图14示出根据本发明的实施例被装置1300使用的神经网络1400。神经 网络1400是生物神经网络的模拟并且由多个神经元和连接神经元的边缘 (edge)组成。每个神经元(1417-1423)接收来自其它神经元的输出并向其它 神经元输出信号。神经元的输入和输出之间的映射通常是单调但非线性的。存 在可由它们的结构所区分的多种类型的神经网络。最常用的神经网络被归类为 前馈神经网络,其中该网络的神经元分层排列。这些层被称为输入层1451、隐 藏层1453和输出层1455。每个神经元只与前一层或下一层中的其它神经元相 连。尽管神经网络示出一个隐藏层(层1453),但是,如将讨论的,本发明的 一个实施例包括三个隐藏层。多级神经网络由构成输入层1451的一组感觉单元(源节点)1401-1407、 具有计算节点(神经元1417-|1453)的一个或多个隐藏层(例如,1453)和具 有计算节点(神经元1423)的输出层1455组成。(尽管输出层1455仅示出一 个神经元,但是如果支持多个手写体指示器的话,本发明的实施例可包括一个 以上的的神经元。)神经网络1400具有一个隐藏层1453,尽管本发明的实施 例通常使用多个隐藏层。神经网络1400是全部连接着的,其中网络1400的每 层与前一层中的所有节点(神经元)相连接。通过网络1400的信号流在逐层 基础上中从左往右朝前进行。多级神经网络能通过以一种监管的方式训练多级神经网络来解决各种各 样的问题。 一种方法是基于误差修正学习规则的误差反向传播算法(反向传播 学习)。误差反向传播网络由通过神经网络的不同层的两轮组成前向轮和反 向轮。在前向轮中,活动图案(包括输入1401-1407的输入向量)被应用于网 络1400的感觉节点1409-1451 (输入层1451)。它的效果通过网络1400逐层 传播。最终,生成作为网络1400的实际响应的输出1425 (对应于图13所示的 手写体类型指示器1309)。在前向轮期间,网络1400的突触权重是固定的。 在反向轮期间,突触权重根据误差修正规则被调整。从期望(目标)响应中减 去实际响应以产生误差信号。然后,误差信号通过网络1400反向传播。突触 权重被调整以使得实际响应更逼近期望的响应。17输入1401-1407 (对应于输入向量)提供关于正被处理的书写输入1301的 信息。该信息包括以下参数。笔画的每个段由五个参数表示1) 段的起始点的X投影值。2) 段的起始点的Y投影值。3) 段的长度。4) 段的书写方向。5) 段是否开始了新的笔画。X投影值是在基线轴的X轴上的投影值。X投影的最大值限于 3*BASELINE_HEIGHT,其中BASELINE—HEIGHT是该行的基线矩形的高度。 如果X投影值大于阈值,则它被裁剪到该阈值。因此,X的值在值域[O, 3*BASELINE_HEIGHT]内并且线性地映射至值域[-l, l]内的值,用于神经网 络的输入。Y投影值是在子字的基线轴的Y轴上的投影值。由于基线矩形可能不能界 定子字,所以Y值可能会是负的并且可能比基线矩形的高度值大。因此,Y值 被限制在值域[BASELINE—HEIGHT, 2* BASELINE—HEIGHT]内并且线性地映 射至值域[-l, l],用于神经网络的输入。最大长度限于1.2*BASELINE_HEIGHT。因此,最大长度处于值域[O, 1,BASELINEJiEGIHT]中且被线性映射到值域[-l, l],用于神经网络的输入。书写方向取X轴为基准。它由从X轴到段向量的角度表示。该角度在值 域[O, 2:i]内。如果该角度是0或2:i ,则该段是"水平"段。该角度线性地 映射至值域[-l, 1],用于神经网络的输入。如果段开始一个新的笔画(该段没有与前一段相连),则该值为1。否则 值为-1。该值是一个二值输入。五个参数以某些冗余表示一个段。对于草体神 经网络(对应于图3中的程序313) , 18个段被用来表示一个子字。如果子字 具有更多的段,则之后的段被截断。如果子字具有较少的段,则剩余的神经网 络输入被设置为零。段的输入总是以时间顺序被安排。对于手写印刷体神经网 络(对应于程序319),子字的段的数目小于草体神经网络的子字的段的数目。对于手写印刷体神经网络,仅用12个段来表示一个子字。除了以上输入之外,在本发明的一个实施例中,向神经网络提供以下输入1) BASELINE—HEIGHT对子字的书写边界矩形的高度的比例。2) BASELINE—HEIGHT对子字的书写边界矩形的宽度的比例。3) 子字的笔画数目。4) 子字的总段数。只有第一和第二输入被添加到草体神经网络的输入向量。第一、第二、第 三和第四输入被添加到手写印刷体神经网络的输入向量。对于手写印刷体子 字,最大笔画的数目限制为5并且最大段数限制为12。維麟纖幼如果子字被归类为草体,则子字的笔画由神经网络的输入向量来表示,并 且输入数据由草体神经网络来评估。如果神经网络的输出大于0.6,则子字被 分类为汉字手写体。(在该实施例中,阈值在训练过程中被确定。)如果输出 小于0.6,则子字被分类为罗马字母手写体。如果输出在值域[-0.6, 0.6]内,则 它被分类为"不确定"(对应于图3示出的程序309),因此,对子字的分析 对书写行的手写体类型的判定没有影响。罗马字母手写体的子字通常不具有许 多笔画,所以如果非草体的子字具有五个或更多的笔画,则子字被分类为汉字 手写体。大约有15%的日语非草体子字包括五个或更多的笔画。汉语的百分比 则更大。維鄉願薪在本发明的实施例中,草体和手写印刷体神经网络有三个隐藏层。通过编 号序列92-61-36-22-1,指定草体NN的结构,其中第一个数对应于输入层中的 节点数,第二个数对应于第一隐藏层中的神经元数,第三个数对应于第二隐藏 层中的神经元数,第四个数对应于第三隐藏层中的神经元数,第五个数对应于 输出层中的神经元数。(然而,该实施例可支持能指示手写体类型的一个以上 的输出。另外,本发明的实施例可支持两个以上的手写体类型。)通过编号序 列64-36-22-1指定手写印刷体神经网络的结构。如果子字被归类为汉字手写体,则输出目标设置为0.9;否则该输出被设置为-0.9以指示罗马字母手写体。作 为训练程序的一个示例,用15页汉语文本和86页法语文本训练草体神经网络。 汉语文本由八个人书写,而法语文本由五个人书写。该神经系统收敛为大约为 0.1的均方差(MSE) 。 MSE可以进一步减小;然而,没有过度训练神经网络, 以防止过度适应。由49页日语文本和86页法语文本训练手写印刷体神经网络。 曰语文本由五个人书写,其中这些文本仅包括水平书写。在本示例中,神经网 络收敛为大约为0.23的MSE。在训练过程中,从数据集中随机选取一个汉字 手写体墨水文档和一个罗马字母手写体墨水文档。随后,汉字手写体子字和罗 马字母手写体子字被替换选择用于训练神经网络。本领域的技术人员将意识到,具有包含用于控制计算机系统的指令的相关 联的计算机可读介质的计算介系统可用来实现此处所公开的示例性实施例。计算机系统可包括诸如微处理器、数字信号处理器和相关联的外围电路的至少一 个计算机。尽管用对结构性特征和/或方法性动作专用的语言描述了该主题,但应该理 解,所附权利要求中定义的主题并不必然局限于以上所描述的具体特征或动 作。相反,上述的具体特征和动作是作为实现权利要求的示例性形式而公开的。
权利要求
1.一种具有用于执行以下步骤的计算机可执行指令的计算机可读介质,所述步骤包括(a)确定书写行的子字是否对应于草体书写风格(311);(b)确定所述子字是否对应于手写印刷体书写风格(319);以及(c)响应于(a)和(b),对所述书写行的手写体类型分类(305,309,313,317,319)。
2. 如权利要求1所述的计算机可读介质,其特征在于,所述计算机可读 介质具有执行以下步骤的计算机可执行指令,所述步骤包括(d) 确定所述书写行的方向(303);以及(e) 使用所述书写行的方向,以便对所述书写行的所述手写体类型分类 (305)。
3. 如权利要求1所述的计算机可读介质,其特征在于,所述计算机可读 介质具有执行以下步骤的计算机可执行指令,所述步骤包括(d)在确定所述书写行的书写风格之前预处理所述书写行(301)。
4. 如权利要求3所述的计算机可读介质,其特征在于,所述计算机可读 介质具有执行以下步骤的计算机可执行指令,所述步骤包括-(d) (i)由折线逼近所述书写行的笔画。
5. 如权利要求1所述的计算机可读介质,其特征在于,所述计算机可读 介质具有执行以下步骤的计算机可执行指令,所述步骤包括(c) (i)使用至少一个神经网络,以从多个手写体类型中对所述手写体类型分类(313, 319)。
6. 如权利要求5所述的计算机可读介质,其特征在于,所述计算机可读介质具有执行以下步骤的计算机可执行指令,所述步骤包括(C)(i)(1)当所述子字对应于所述草体书写风格时,使用第一神经网络(313);以及(C)(i)(2)当所述子字对应于所述手写印刷体书写风格时,使用第二神经网络(319)。
7. 如权利要求2所述的计算机可读介质,其特征在于,所述手写体类型 选自汉字手写体和罗马字母手写体,所述计算机可读介质具有执行以下步骤的 计算机可执行指令,所述步骤包括(f)当所述书写行的方向对应于垂直方向时,将所述手写体类型分类为所述汉字手写体(305)。
8. 如权利要求1所述的计算机可读介质,其特征在于,所述计算机可读 介质具有执行以下步骤的计算机可执行指令,所述步骤包括(d)组合至少一个笔画以形成所述子字(1001-1013)。
9. 如权利要求1所述的计算机可读介质,其特征在于,所述手写体类型 选自汉字手写体和罗马字母手写体,所述计算机可读介质具有执行以下步骤的 计算机可执行指令,所述步骤包括(d)当所述子字包含超过预先确定的阈值的数目的笔画时,将所述手写体类型分类为所述汉字手写体(317)。
10. 如权利要求l所述的计算机可读介质,其特征在于,所述计算机可读 介质具有执行以下步骤的计算机可执行指令,所述步骤包括(c)(i)当被分类为第一手写体类型的子字的第一数目超过被分类为第二手写体类型的子字的第二数目时,将所述书写行的手写体类型分类为所述第 一手写体类型。
11. 如权利要求4所述的计算机可读介质,其特征在于,所述计算机可读介质具有执行以下步骤的计算机可执行指令,所述步骤包括 (d)(i)(1)通过线性回归逼近所述笔画。
12. 如权利要求11所述的计算机可读介质,其特征在于,所述计算机可 读介质具有执行以下步骤的计算机可执行指令,所述步骤包括(d)(i)(2)合并所述笔画的相邻段。
13. 如权利要求5所述的计算机可读介质,其特征在于,所述计算机可读 介质具有执行以下步骤的计算机可执行指令,所述步骤包括(d)训练所述至少一个神经网络以根据多个先前被分类的文本示例对所 述手写体类型分类。
14. 如权利要求8所述的计算机可读介质,其特征在于,所述计算机可读 介质具有执行以下步骤的计算机可执行指令,所述步骤包括(d)(i)当第一笔画和第二笔画之间的距离小于预先确定的距离时,用所述子字将所述第一笔画和所述第二笔画相关联。
15. 如权利要求1所述的计算机可读介质,其特征在于,所述计算机可读 介质具有执行以下步骤的计算机可执行指令,所述步骤包括(a)(i)对所述子字的笔画进行再分; (a)(ii)确定所述子字的方向改变;以及(a) (iii)根据所述方向改变,将所述书写行的书写风格归类为所述草 体书写风格。
16. —种区分手写体类型的装置,所述装置包括 多个神经网络(1307);手写体分析器(1305),所述手写体分析器接收书写输入,确定所述书写 输入中包含的书写行的至少一个子字的书写风格,以及基于所述书写风格选择 所述多个神经网络中的一个;以及所述多个神经网络中的一个对所述书写行的手写体类型分类以提供手写 体风格指示器。
17. 如权利要求16所述的装置,其特征在于,所述装置还包括 通过至少一个折线逼近所述至少一个子字中的一个子字的笔画的预处理器(1303)。
18. 如权利要求16所述的装置,其特征在于,所述多个神经网络包括草体神经网络,当所述书写风格对应于草体书写风格时,所述草体神经网络处理所述至少一个子字以确定所述书写行的手写体;以及手写印刷体神经网络,当所述书写风格对应于手写印刷体书写风格时,所 述手写印刷体神经网络处理所述至少一个子字以确定所述书写行的手写体。
19. 一种具有用于执行以下步骤的计算机可执行指令的计算机可读介质, 所述步骤包括(a) 确定书写行的方向(303);(b) 当所述方向为垂直方向时,将手写体类型分类为汉字手写体(305);(c) 确定子字是否对应于草体书写风格(311);(d) 当所述子字对应于所述草体书写风格时,使用第一神经网络来确定 所述子字的手写体类型(313);(e) 确定所述子字中笔画的数目(315);(f) 当所述笔画数目超过预先确定的阈值时,将所述子字的手写体类型 分类为汉字手写体(317);以及(g) 当笔画数目等于或小于所述预先确定的阈值时,使用第二神经网络 来确定所述子字的手写体类型(319)。
20. 如权利要求19所述的计算机可读介质,其特征在于,所述计算机可 读介质具有执行以下步骤的计算机可执行指令,所述步骤包括(h) 重复(C) - (g);(i)当被分类为所述汉字手写体的子字的第一数目超过被分类为罗马字 母手写体的子字的第二数目时,将所述书写行的手写体类型分类为所述汉字手写体;以及(j)当被分类为所述罗马字母手写体的子字的第二数目超过被分类为所 述汉字手写体的子字的第一数目时,将所述书写行的手写体类型分类为所述罗 马字母手写体。
全文摘要
具有计算机可执行指令的计算机可读介质区分书写输入的至少一部分的手写体类型。标识并处理手写文档的书写行的子字以确定书写风格。因此,书写行与手写体类型相关联。根据书写行的子字的各手写体类型确定该书写行的手写体类型。当具有第一手写体类型的子字的数目大于具有第二手写体类型的子字的数目时,该书写行的手写体类型被归类为该第一手写体类型。手写体分析器确定至少一个子字的书写风格并且从多个神经网络中选择一个来对书写行的手写体类型归类。
文档编号G06F17/27GK101326518SQ200680046597
公开日2008年12月17日 申请日期2006年12月13日 优先权日2005年12月13日
发明者J·王, X·王, Z·林 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1