许多商业及政府单位均需处理填写手写文字的印刷表单,有许多方法可以将该数据抽取、处理并予以储存。举例来说,可利用图像扫描装置及光学文字识别技术抽取出表单上的印刷或手写数据。表单图像本身可以经由照相产生微缩单片或微缩影片,或利用光学扫描而产生图像储存于计算机硬盘或其他电子储存媒体。知名公司如东芝(Toshiba)、三洋(Sanyo)、日立(Hitachi)、松下(Panasonic)等均已推出结合图像扫描与光学字元识别(OCR)装置的表单阅读系统处理日文及字母数字的数据。
一种OCR装置常用的表单为A8或A4大小、总有暗格子的表单。图1为一描述该类表单的例子。表单上的说明文字需预先列印在规定的栏位位置,待填文字需填写在以暗格子标示、字与字间有间隔的栏位内。说明文字不需以暗线(格)分开。
图1所示的暗格表单20有22、24、26、28等栏位可填写文字,例如:在例举的医疗保险单内,包含被保险人姓名22、病人姓名24、雇主姓名26、以及病人与被保险人姓名28。相关文字被填入含暗线32的格子30内,每个由暗线定义出的格子34内只能填写一个中文或英文字母数字。位置符号36被印在表单20上,在一较佳实施例中,此符号36位于表单的四角,被用来校正扫描时表单的倾斜与偏移状态。
图2显示表单20的局部放大样本,其中印刷字元部分,例如“被保险人姓名”38以及“病人姓名”39没有暗线区隔,但落于栏40及42(显示于图2的虚线栏位)的手写字元则书写于格子34内。格子34由位于栏位44、46内的暗格32所组成。
一个字元识别系统往往无法保证识别无误,特别是在识别手写字元时,识别错误无可避免。这样,人工更正(由操作人员执行)势在必行。某些典型的字元识别系统往往拒认潦草或不合法的字元。当拒认与误认字元大大增加后,文字更正率对于自动系统而言,比一般的人工数据登录系统更重要。因此,一个光学字元识别系统最好能提供一套有效地更正无法识别字元的方法。
表单识别结果可被分为三种情况:
1、完全正确:表单内每个字元都可识别且每个栏位均通过后处理检查,例如字典检查(识别栏位是否符合字典中的一个字)、文法检查(识别栏位是否符合预设的文法)等。识别后不需任何人工更正,即使有任何错误也是因系统隐藏的错误造成而无法更正(例如:字元识别错误欲同样通过后处理检查)。一个实用的系统其隐藏错误必须低于人工登录系统。
2、人工更正:表单识别后需经人工屏幕更正。当某些字元被拒认或栏位内的字元均可识别但未通过完整性检查,则表单必段经人工更正。
3、整张拒认:当表单内无法识别字元太多(例如,由于扫描质量太差、表单错误或书写笔迹潦草表单被拒认,此时所有表单上的字元均须由人工输入。
一些国外的光学字元识别系统针对上述问题提出了不同的解决方法。例如,美国专利5,251,273号(Betts等)提出一个数据处理系统及方法,依序更正扫描识别表单后产生的错误。此参考例所提出的装置中包含三个识别数据更正处理器,即(1)人工智能处理器(2)数据库检错处理器(3)人工验证与更正处理器。一种机器产生的数据结构记录识别结果及更正历史,并将其陆续传送至每个处理器。当人工智能与数据库错误更正处理器处理完成后,工作站监视器屏幕上会显示栏位图像供人工更正。
美国专利5,305,396号(Betts)提出一种数据处理系统与方法,可针对不同客户表单选择字元识别流程以及识别数据更正流程。此参考例提出在识别前先输入一个表单模版,该模版内含有根据客户需求而设的系统操作参数,在大量识别前,系统须先阅读该表单模版。
美国专利5,235,654号(Anderson等)提出一进步的数据抽取,数据处理系统,处理扫描后的表单图像。其内容为一个可以产生新表单做自动处理的系统。
美国专利5,153,927号(Yamanari)提出一种字元阅读系统与方法,该专利公开一个字元阅读系统,该系统允许使用者准备一个使用者特殊处理程序,系统不需知道该处理程序的规格。该专利提出两个处理区段,即标准处理区段以及使用者自订处理区段。该使用者自订处理区段允许使用者任意设定其希望检查的栏位,而不影响标准处理区段。
美国专利5,233,627号(Yamanari等)提出一个附有特殊更正功能的文字识别器,该专利公开一种字元阅读装置,可避免在屏幕上显示包含拒认字元的图像时,遮到原始的表单图像。
本发明的目的在于提供一种具有中英文表单查询功能的中英文表单的识别系统及识别方法。
本发明的另一目的在于提供一可识别印刷及手写表单内字元的中英文表单的识别系统及识别方法。
本发明的再一目的在于提供一种识别效率高的中英文表单的识别系统及识别方法。
上述目的经由具有印刷字母数字识别模组、手写字母数字识别模组、印刷中文识别模组、手写中文识别组的识别装置而达到。当被抽取的数据完成识别后,如有需要,会再显示在监视器的屏幕上,以供察看与更正。
本发明中英文表单的识别系统的一较佳实施例包括一个可“查询”表格内数据地址的表单查询模组,这样,可使光学文字识别(OCR)装置直接进入具有待处理文字的栏位并进行处理。该模组可查询字元位置,并在大量处理时,比较扫描表单图像上定位记号的位置与查询时定位记号的差异,以改善扫描时所产生的倾斜与偏移的许可偏差。
本发明也提出一种可抽取印刷与手写数据,并将该数据储存于包含印刷与手写中文和字母数字的图像文档内的光学文字识别(OCR)装置。
本发明中英文表单的识别方法的一个较佳实施例提供一种逐渐进行的更正流程,其中人工更正只在有必要时才执行。其更正程序是依照工作量的大小由简至繁排列。亦即成本较低的部分(较不费时)先进行。在此实施例中,先实施字元更正,其次是栏位更正,最后是表单整张更正。
本发明的中英文表单的识别方法,包括表单查询、光学文字识别及后处理步骤;
a.表单查询,包括如下步骤:
(a)定义含有数据信息栏位的边界;
(b)定义该栏位内数据信息性质;
(c)定义该栏位内字元的属性;
(d)定义该栏位内字元预期填入的位置;
b.光学文字识别步骤,包括从表单电子图像中抽取字元的步骤,该步骤包括:
(a)决定电子图像是否倾斜或位移;
(b)自电子图像中抽取一个栏位;
(c)校正抽取栏位的座标;
(d)自校正后的栏位中抽取至少一个文字行;
(e)校正该文字行的座标;
(f)自校正的文字行中抽取至少一个字元;
(g)校正抽取字元的座标;
c.后处理步骤,包括:
(a)在监视器上显示识别处理过的字元;
(b)如有需要,更正任何无法识别或认识的字元。
其中,所述步骤c还可包括如下屏幕更正步骤:
(a’)将经字元识别后的表单信息区分为;
(i)完全正确;
(ii)人工更正;
(iii)整张拒认;
(b’)储存完全正确的表单信息;
(c’)在需要人工更正的表单信息中,决定是否有拒认字元;
(d’)如有拒认字元,进行人工更正;
(e’)进行第一次栏位后处理检查;
(f’)如果更正后的字元所属栏位通过后处理检查,则储存这些字元信息;
(g’)对未通过第一次栏位后处理检查且栏内无拒认字元的栏位进行栏位更正;
(h’)对更正后的栏位信息进行第二次栏位后处理检查;
(I’)如果更正后的栏位信息通过第二次栏位后处理检查,则储存该栏位信息;
(j’)对未通过第二次栏位后处理检查且被归为整张拒认的表单执行整张更正;
(k’)对整张更正的表单信息进行系统后处理检查;
(l’)储存通过此第三个系统后处理检查的表单信息;
(m’)整张拒绝接受未能通过第三个系统后处理检查的表单信息。
本发明的结合附图及实施例对特征详细描述如下:
如图3所写,其为本发明识别系统的一较佳实施例,系统50包括纸张输送系统51,纸张输送系统51将表单沿箭头方向通过光学扫描器(“OCR扫描器”)52。一个扫描器52的较佳实施例利用激光照亮该表单,并利用例如电荷耦合器件CCD的储存元件产生该表单的二维图像。此扫描器可产生每个像素非逻辑“1”即逻辑“0”的二维图像。一种OCR扫描器52的型号为TDC261Ow(由Terminal Data Corp所制造。)
扫描器52可与处理器54(例如,一个一般用途的电脑或是一个特殊用途的硬件处理单元)连接。处理器的硬件单元可以是光学处理单元或电子处理单元,例如“Resister Summing Network”及数字逻辑线路。该处理器可包括一个微处理器56及其它元件、一个屏幕或监视器58、一个键盘或其它输入装置60。处理器54还可包括一个存储器62,用以储存扫描后的文件图像。存储器4可为硬件、RAM或其它存储器。
识别过程如下:
欲识别的表单经由送纸器51及扫描器52扫描,产生二维图像数据存入存储器62经由微处理器54处理;应用程序、字元特征、数据库、表单检查知识库等均储存于存储器62内,当执行识别时,图象识别程序数据库等均由微处理器56控制载入动态随机存储器内,并逐步执行直至该批图像均已处理产生批次中间档储存于硬盘中。微处理器56控制执行更正作业,其中,需在监视器58上显示图像,并由操作人员操作输出/入键盘,在微处理器56接收键盘60的输入信号后,将该输入值传递主存储器内的更正程序,以使程序继续执行,直至更正作业流程执行完毕为止。在扫描过程中,表单图像及字元识别数据显示在监视器58上,当下述的字元识别程序完成后,本发明的一较佳实施例将无法识别的字元列示于监视器上,使用者可利用键盘60将正确字元取代被拒认及误认的字元。如下述,无法识别的栏位与表单则显示在监视器上,以进行人工更正。
为使本发明的光学识别系统“阅读”表单内的文字,较佳的作法是该系统先“查询”表单上哪些区域有待阅读文字,这些文字是以何种型式(例如,印刷或手写)出现,以及这些文字的内容。由于不同的栏位位置及字元性质已在表单识别前即为光学识别系统所查询,数据抽取将较快,亦较正确,而字元抽取程序亦更有效率。比较预期的及真实的表单定位符号的位置后,表单倾斜及不同栏位的边界即可精确地得知。
这样,使得光学识别系统可将含有需被抽取及识别文字的重要栏位自整张表单中独立出来。如下所述,识别及后处理参数也已预设好,以使处理效率提高。换句话说,字元性质(如印刷/手写及中文/字母数字)为识别处理而预设,栏位描述(名字、性别、地址等)为字词后处理而预设。
表单查询程序:
如图4所示,其为表单查询的流程图70,首先,先扫描一个空白表单(步骤72),表单图像显示在电脑监视器上。操作员决定定义其中的一个栏位(例如,“被保险人的姓名”),使用周边装置,例如光标控制器,操作员拉出一个包含识别栏位的矩型区域。光学识别软件检知该栏位的X及Y方向的栏位边界(步骤74),这样,填写字元格子的位置即可自动标示出。
接着定义栏位性质(或栏位描述,步骤76),此性质指出栏位内数据的类别。例如,第一个栏位指出内含“被保险人的姓名”,第二个栏位指出内含“病人姓名”(见图1及图2)。当栏位定义好后,接着要定义内含的字元属性(步骤78),亦即定义栏内字元应为印刷或手写英文字或者印刷或手写中文字。例如“病人姓名”栏位内应填写手写英文字元。
当栏位边界、性质、属性都定义好后,再定义每一个暗线“格子”34(见图2)为字元填写处(步骤80)。这样,本系统即可查询每个手写字元的预期位置。
接着,操作员定义定位符号36的位置(步骤82),在本发明的较佳实施例中,定位符号36必须位于表单的四角,且数据应采用横向填写。接着再定义定位符号36的性质(步骤84)。
此查询过程将可使识别系统50自填好的表单内自动提取数据。这样,可加速随后的字元抽取过程,并增加对倾斜角度的容许偏差。
当所有空白表单内的数据都查询好后,本系统即已准备好阅读填有数据的表单,此必须经过字元抽取与字元识别两步骤。其中字元抽取数据包括三个部分:栏位抽取、行抽取与字元抽取。字元抽取再分为印刷字元抽取(包括中文与字母数字)以及手写字元抽取(包括中文与字母数字)。
数据提取:
如图5所示,其为本发明的较佳实施的识别工作流程图,其中工作流程100分为三部分:扫描部分102、文字识别部分104及识别后处理部分106。
工作流程为:
首先,将填好的表单置于纸张传送系统51,经过扫描器52(如图3),完成扫描110步骤,将扫描图像再与已查询且储存在存储器62的空白表单数据做比较,即步骤112。
数据抽取可分为三个步骤。首先,先找到包含抽取数据的栏位位置,并考虑任何可能的偏移。其次,决定栏位中的文字行位置,即文字行抽取;最后,抽取文字行中字元的位置,即字元抽取。字元抽取又可分为两个步骤,即印刷字元抽取与手写字元抽取。
1、栏位抽取:
抽取模组114,抽取欲识别栏位并校正栏位座标。其步骤如下:首先决定表单的偏移与倾斜,本模组可容许一定倾斜(最多5度)及偏移(扫描时表单移动)范围。这两种变异受送纸系统51的机械限制。定位符号36的位置决定了表单20的边界,(例如,本实施例中,定位符号36指出表单20的边界(例如:本实施例中,定位符号36指出表单的四角)并且经由比较输入表单定位符号的位置与空白表单上“查询”得到的定位符号位置,而得知输入表单的倾斜与偏移量。
接着,本模组参考栏位数据库112所记录的文字性质决定其预期位置,并抽取出栏位。由于已知表单的倾斜与偏移量,欲识别栏位的位置,皆可经由相对于空白表单计算而得。
2、文字行抽取:
接着,文字行抽取及行座标校正以下列方式执行。模组114经查询字词性质数据步骤112来决定栏内文字行的位置,并抽取文字行的位置。如果栏位内有文字行,则进行水平投射,其描述如下:首先用水平扫描线决定落在栏内同一行的字元的黑点,这些水平线结合起来形成累积投影量,文字行的边界可由水平线中黑点的位置决定。接着,由查询而得的栏位原始位置被用来校正文字行的位置,亦即利用“查询”得到的原始地址,以找出可分割两重叠的输入文字行的最佳水平分割线。当文字行内的字元串超过查询文字行的上下边界时,栏位即可安全地分割成数行,此时可得到正确的文字行座标。
3、字元抽取
接下来,字元抽取及座标更正执行如下步骤:利用行内字元图像的垂直投影来抽取行内字元,即利用垂直扫描线字元形成垂直投影量。投影量的最小值发生处即为字元的边界位置。步骤112,文字行数据栏位可用来决定字元是印刷体或手写。查询空白表单时字元的预期位置可用以调整欲识别栏位内字元的抽取座标,如此使字元抽取更有效。文字行内字元顺序依水平座标值,亦即其X一座标排列。
(i)印刷字元抽取:
印刷字元抽取步骤116,即抽取文字性质数据(112)所指示包含印刷数据的栏位数据,它参考步骤112,以预知该字元为中文或英文字。中文印刷数据送入印刷中文识别模组118,字母数字印刷数据送入印刷字母数字识别模组120。
接着,执行印刷字元识别步骤。已知许多光学识别系统,如图5所示,包含模组118、120。(参见McGraw Hill Encyclopediaof Electronics and Computers,pp.109-111(McGraw-Hill1984))。识别印刷字元的光学识别器通常采用模版比较方法识别字元。然而,印刷字元识别模组118、120抽取不同的特征并利用判断数字识别专家数据库122,而印刷中文识别模组118参考了印刷中文识别专家数据库124。
(ii)手写字元抽取:
手写字元抽取模组130抽取文字行性质数据库112所指示的含手写数据的栏位数据,它参考112以预知该手写栏位内含中文或英文数字数据。中文手写数据送入手写中文识别模组132,字母数字手写数据送入手写字母数字识别模组134。
接着执行手写字元识别。抽取出的手写中文字元与至少一个手写中文字元识别专家136比较,手写字母数字字元亦与至少一个手写字母数字字元识别专家138比较。有两种较佳方式进行识别,其一是采用统计识别专家,将抽取字元的特征抽取出,并与储存数据库内的特征比较,选出最接近者作为识别结果。
第二种方法是利用几个识别专家“投票”选出正确的识别结果。在本发明的较佳实施例中,采用四个识别专家,其一为上述统计专家;其二为结构性的松驰对比识别专家;其三为结构性的周边对比识别专家;其四为软件模拟的类神经网络。松驰对比识别专家将字元图骨干化,并抽取结构性的骨干特征,包括笔段数目、笔段形状(凸状或凹状,方向等)、笔段长度及位置、转折点等。松驰比对分类器则用以区分未知字元。
周边识别专家抽取字元图像的周边,并抽取结构性的特征,包括位置、数目、特征点种类。这些特征包括如字元中空洞的数目及位置等布局信息;动态对比及布局分类器被用来区分未知字元。
系统网络识别专家抽取一般的统计特征,并采用向后扩展的系统网络区分未知字元。
其它方法亦可用来识别手写字元。
4、识别后处理:
识别后处理包括有二个步骤:即字词后处理与监视器(屏幕)更正。字词后处理模组140包括地址后处理与栏位检查。
1、字词后处理:
字词后处理利用词库交叉检查字元识别正确性。例如,词库可包括某一个地理区域内的城市、乡镇、道路及分段的名称。识别产生的字词会与词库对比,以决定是否识别正确。另外,邮递区号亦可用以交叉检查。
栏位检查用于检验每个字元的值域范围,以及栏位内的字元是否符合设定的数值关系。
2、监视器(屏幕)更正:
如图6所示,其为一个较佳的监视器更正方法200的流程图。扫描的表单图像被送入表单识别系统(步骤202),表单被归入“完全正确”、“人工更正”或“拒绝接受”三类之一(步骤204),完全正确的表单图像先存入数据库内(步骤222)。
需要人工更正的表单在处理时,先决定是否有拒认字元(步骤206),拒认字元需由人工更正(步骤208)。
执行字元(或栏位)更正时,监视器的屏幕更正步骤144将拒认字元(或栏位)显示在监视器58上(见图3),如图6、7所示。拒认字元的图象显示在监视器58上供更正,这些字元属于同一批次,但可来自不同的表单。这样,使得更正时可一次处理许多表单,更可提高效率。
当表单需人工更正,但并无拒认字元存在时,表示栏位内的字元串未通过栏位后处理检查(步骤210),此时即需执行栏位更正(步骤214)。
如图8所示,其为执行栏位更正时的监视器屏幕的显示例,其中,在本发明的较佳实施例中,监视器58采用分割屏幕的方式,将栏位图像显示在一侧(此例中为监视器屏幕的上半部)将识别结果显示在另一侧(此例中为监视器屏幕的下半部)。使用者可参考监视器58上的栏位图像检查并更正识别错误或拒认的字元,操作人员可利用例如键盘的输入装置输入正确字元。
若表单通过栏位检查,它也被存入数据库(步骤222),但若表单未通过栏位检查(即步骤216),则整张表单被拒认,并执行整张表单人工录入(步骤218),亦即,此时表单内所有的数据由人工重新打字输入。如果更正后的表单可接受(亦即所有错误已人工更正完),表单数据即储存在数据库中(步骤222),否则,即整张表单拒认(步骤224)。
最后,识别产生的数据被送至格式转换模组146,将其转换成常用的数据库格式。此格式转换后的数据与表单图像可以储存、查询、排序或其他用途。
在更正拒认字元时,采用工作量最小的步骤先执行的原则,亦即先检视并更正字元而非栏位或整张表单。此外,字元更正步骤可提高表单通过栏位检查及整张检查的可能性,这样,能同时有效地处理许多表单。
更正作业流程说明:
更正作业是将部分字元、栏位或整张表单的图像显在监视器上,由操作人员以目视判断有疑问之处后,利用键盘输入该字元、栏位或整张表单内的文字数据,以辅助人工输入。电脑基本上提供下述功能:
1、挑选可疑的数据,其中包括字元识别无法肯定辨认的字元(即所谓拒认);或虽然整个栏位都可以辨认,但利用表单检查时所得该栏位的后处理知识检查该栏位的识别结果,却不符合该后处理程序,此时,该栏位图像即被挑出;此外,如果因为表单倾斜或书写字迹太撩草,至使表单内超过一定比例的字元或栏位无法识别时(根据表单检查结果可知该类表单应有多少字元及多少栏位)则该整张表单图像即会被挑出。上述挑出目标的工作(或判断哪些数据被挑出)是由电脑的CPU识别后储存在硬盘中的图像与文字数据混合的一批表单中间档逐字元、逐栏位进行监视及运算后,将有疑问的字元或栏位,甚至整张表单图像的相关数据(序号、图像边界坐标等)储存在动态随机存储器内,以供后续图像显示利用;
2、显示可疑的数据:当数据挑选完毕后,CPU即执行对储存在硬件中的表单中间档进行监视,并根据储存在动态随机存储器中的上述相关数据,将物件(包括字元、栏位或整张图像)显示在监视器上。考虑到效率问题,因此显示的顺序是由字元至栏位至整张表单图像;
3、人工更正:上述显示过程,除在监视器58上显示图象外,并在图像下显示输入文字区,以提供操作人员将该显示图像所对应的标准答案,经由键盘输入电脑。CPU接收到该输入数据后,即执行栏位后处理检查,以判定数据的正确性。例如:当所有该批表单中的拒认字元均输入完毕后,CPU执行后处理检查,将不符合者的序号再录入动态随机存储器中,以供后续的图像显示与更正之用。
经由上述三项基本功能,遵循图1的流程,即可得到高效率的监视器更正,同时,也会对应每张表单在硬盘中产生每张表单内容的纯文字档。