OCR识别结果的纠正方法和装置与流程

文档序号:11200165阅读:1020来源:国知局
OCR识别结果的纠正方法和装置与流程

本发明涉及字符校对技术领域,特别是涉及一种ocr识别结果的纠正方法和装置。



背景技术:

光学字符识别(opticalcharacterrecognition,ocr)技术,是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。

由于光学字符识别往往需要识别很多字符,即使单个字符的识别准确率较高,但是若要识别包含成百上千个字符的图像,将会造成图像识别的准确率较低。而且,在光学字符识别过程中,因个别字符识别错误所导致的整个字符串错误是一种常见现象。这种情况会很大程度上会影响针对整体待识别字符的识别准确率。

因此,在现有技术中,当采用ocr技术对待识别字符识别完成后,为了保证识别准确率,还需要人工的对识别结果进行纠正,从而降低了字符识别的自动化程度,增加了人工校对成本,影响了交互体验。



技术实现要素:

本发明提供了一种ocr识别结果的纠正方法和装置,以解决现有技术中对识别准确率较低的ocr识别结果进行人工校正时所存在的自动化识别程度低、人工校对成本高的问题。

为了解决上述问题,根据本发明的一个方面,本发明公开了一种ocr识别结果的纠正方法,包括:

采用ocr技术对纸质文档中目标区域内的待识别字符进行识别,获取初始识别结果字符串str;

根据所述待识别字符在所述纸质文档中的属性以及所述属性的属性值的预先设定字符范围,构造符合所述预先设定字符范围的多个候选字符串stri以构成候选字符串集合;

依次计算所述初始识别结果字符串str与所述候选字符串集合中的每个候选字符串stri的最小编辑距离dmin;

利用所述最小编辑距离dmin,按照以下相似度公式计算所述初始识别结果字符串str与每个候选字符串stri的相似度si,相似度si=1-dmin/max(p,q),其中,p为所述初始识别结果字符串str的字符串长度,q为所述候选字符串集合中每个候选字符串stri的字符串长度,其中,不同字符串长度的候选字符串的q值不同;

将最大的相似度smax所对应的候选字符串strj输出为对所述初始识别结果字符串str的纠正结果。

根据本发明的另一方面,本发明还公开了一种ocr识别结果的纠正装置,包括:

ocr识别模块,用于采用ocr技术对纸质文档中目标区域内的待识别字符进行识别,获取初始识别结果字符串str;

候选字符串构造模块,用于根据所述待识别字符在所述纸质文档中的属性以及所述属性的属性值的预先设定字符范围,构造符合所述预先设定字符范围的多个候选字符串stri以构成候选字符串集合;

距离计算模块,用于依次计算所述初始识别结果字符串str与所述候选字符串集合中的每个候选字符串stri的最小编辑距离dmin;

相似度计算模块,用于利用所述最小编辑距离dmin,按照以下相似度公式计算所述初始识别结果字符串str与每个候选字符串stri的相似度si,相似度si=1-dmin/max(p,q),其中,p为所述初始识别结果字符串str的字符串长度,q为所述候选字符串集合中每个候选字符串stri的字符串长度,其中,不同字符串长度的候选字符串的q值不同;

结果纠正输出模块,用于将最大的相似度smax所对应的候选字符串strj输出为对所述初始识别结果字符串str的纠正结果。

与现有技术相比,本发明包括以下优点:

这样,本发明实施例利用字符串间的最小编辑距离来对ocr识别结果进行纠正,从而提升了ocr识别准确率;而在计算最小编辑距离时,则是计算ocr识别结果字符串与构造的候选字符串集合中的各个候选字符串之间的最小编辑距离,而该候选字符串集合中的候选字符串则是依据待识别字符在纸质文档中的属性以及所述属性的属性值的预先设定字符范围而构造的,从而可以保证候选字符串集合中的候选字符串与真实的待识别字符串相符,从而进一步保证了纠正后输出的字符串与待识别字符串相符,实现了对ocr识别结果的自动化纠正,并提升了纠正准确率,并减少了人工校正的成本。

附图说明

图1是本发明的一种ocr识别结果的纠正方法实施例的步骤流程图;

图2是本发明的一种ocr识别结果的纠正装置实施例的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

参照图1,示出了本发明的一种ocr识别结果的纠正方法实施例的步骤流程图,具体可以包括如下步骤:

步骤101,采用ocr技术对纸质文档中目标区域内的待识别字符进行识别,获取初始识别结果字符串str;

其中,可以采用ocr技术对纸质文档(例如发票)中某个需要识别字符的区域(即目标区域)内的字符进行识别,从而得到初始识别结果的字符串str。

步骤102,根据所述待识别字符在所述纸质文档中的属性以及所述属性的属性值的预先设定字符范围,构造符合所述预先设定字符范围的多个候选字符串stri以构成候选字符串集合;

其中,由于需要识别字符的纸质文档中的目标区域内的字符一般是具有候选范围的,因此,可以根据待识别字符在该纸质文档中的属性以及该属性的属性值的预设字符范围来构造符合该预设字符范围的多个候选字符串stri,从而构成该目标区域的候选字符串集合。

举例来说,例如用户需要识别增值税专用发票中某个条目内的字符。

那么由于发票中纳税人名称,纳税人地址、电话,纳税人开户行及账号,发票金额等属性的属性值的文字数目较多,且属性值的打印字体普遍偏小,导致部分文字难以识别,通过ocr识别的结果存在一定错误,那么现有技术则是对识别的结果进行人工纠正。

而本发明实施例中,为了提升字符识别的自动化,可以预先构造上述各属性的属性值的候选字符串,以发票金额属性为例,其属性值只能由大写零、壹、贰、叁、肆、伍、陆、柒、捌、玖、角、拾、佰、千、万、圆、整等金额大写字符构成,而该属性值又具有一定的范围,例如在1~10万之间,那么该发票金额对应的字符就是具有一定范围的,从而可以构造该发票金额对应的目标区域的候选字符串集合,其中,例如壹仟万元整这个字符串必然不再该候选字符串集合中。

步骤103,依次计算所述初始识别结果字符串str与所述候选字符串集合中的每个候选字符串stri的最小编辑距离dmin;

然后,就可以将初始识别结果的字符串str与目标区域的候选字符串集合中的每个候选字符串stri进行最小编辑距离的计算。

其中,编辑距离的定义为:从一个字符串按限定的操作(增加一个字符,删除一个字符,修改一个字符)改为另一个字符串所需要的步骤数。

而最小编辑距离的定义则是:通过不同的操作次序按限定的操作(增加一个字符,删除一个字符,修改一个字符)把一个字符串变为另一个字符串所需要的最小步骤数。最小编辑距离越小,表明两个字符串越相似。最小编辑距离为0表示两个字符串完全相同。例如字符串abc到字符串bcd的最小编辑距离为2。

步骤104,利用所述最小编辑距离dmin,按照以下相似度公式计算所述初始识别结果字符串str与每个候选字符串stri的相似度si,相似度si=1-dmin/max(p,q);

其中,p为所述初始识别结果字符串str的字符串长度,q为所述候选字符串集合中每个候选字符串stri的字符串长度,其中,不同字符串长度的候选字符串的q值不同;

例如,初始识别结果字符串abc到第一个候选字符串bcde的最小编辑距离为3,则p=3,q=4,那么两个字符串的相似度s1=1-3/4=0.25;

初始识别结果字符串abc到第二个候选字符串bc的最小编辑距离为1,则p=3,q=2,那么两个字符串的相似度s1=1-1/3=0.67。

步骤105,将最大的相似度smax所对应的候选字符串strj输出为对所述初始识别结果字符串str的纠正结果。

那么候选字符串集合中与初始识别结果的字符串相似度最大的候选字符串就是对该初始识别结果的字符串的纠正结果。例如上述候选字符串集合中只有两个候选字符串bcde和bc,那么最大的相似度0.67对应的候选字符串bc就是初始识别结果abc的纠正结果,也即,ocr识别到的abc存在一定的错误,实质上正确的待识别字符串为bc。这时,就可以将纠正过的字符串bc输出。

这样,本发明实施例利用字符串间的最小编辑距离来对ocr识别结果进行纠正,从而提升了ocr识别准确率;而在计算最小编辑距离时,则是计算ocr识别结果字符串与构造的候选字符串集合中的各个候选字符串之间的最小编辑距离,而该候选字符串集合中的候选字符串则是依据待识别字符在纸质文档中的属性以及所述属性的属性值的预先设定字符范围而构造的,从而可以保证候选字符串集合中的候选字符串与真实的待识别字符串相符,从而进一步保证了纠正后输出的字符串与待识别字符串相符,实现了对ocr识别结果的自动化纠正,并提升了纠正准确率,减少了人工校正的成本。

其中,在一个实施例中,在执行步骤103时,可以采用如下方式来实现:

获取所述初始识别结果字符串str的字符串长度p;

例如,候选字符串集合为strn(str0,str1,str2……,strn),获取当前计算的候选字符串stri(例如为str0)的字符串长度q,;

若p=0且q≠0,则所述初始识别结果字符串str与当前计算的候选字符串stri的最小编辑距离dmin=q;

若q=0且p≠0,则所述初始识别结果字符串str与当前计算的候选字符串stri的最小编辑距离dmin=p;

若p≠0且q≠0,则构造矩阵d[p+1][q+1],即,构造(p+1)行(q+1)列的矩阵d;

其中,所述矩阵d[p+1][q+1]的第0行从左至右的元素的赋值以及第0列从上至下的元素的赋值均从0开始依次递增,每次加1,使得元素d[0][q]=q,元素d[p][0]=p;

举例来说,例如初始识别结果字符串str为abc,当前计算的候选字符串str0为bcd,则p=3,q=3,那么构造4x4的矩阵d,并首先对第0行和第0列的各元素进行赋值,其中矩阵d中未赋值的元素以“?”代替;

然后,需要对矩阵中未赋值的剩余元素分别进行赋值,即扫描所述初始识别结果字符串str中的每个字符str[j]和当前计算的候选字符串stri中的每个字符stri[i]分别进行比较,若stri[i]=str[j],则参数temp=0,否则temp=1,同时,针对矩阵d[p+1][q+1]中的元素d[i][j]进行如下赋值:

d[i][j]=﹛(d[i-1][j])+1,(d[i][j-1])+1,(d[i-1][j-1]+temp)﹜min;

那么继续以上述实例为例进行说明,首先将abc中的str[1]=a与字符串bcd中的str0[1]=b进行比较,发现不同,因此temp=1,则

d[1][1]=﹛(d[0][1])+1,(d[1][0])+1,(d[0][0]+1)﹜min=﹛1+1,1+1,0+1﹜min=1,因此,可以对矩阵d的d[1][1]元素赋值1,得到如下矩阵d:

然后,将abc中的str[1]=a与字符串bcd中的str0[2]=c进行比较,发现不同,因此temp=1,则

d[1][2]=﹛(d[0][2])+1,(d[1][1])+1,(d[0][1]+1)﹜min=﹛2+1,1+1,1+1﹜min=2,因此,可以对矩阵d的d[1][2]元素赋值2,得到如下矩阵d:

接着,按照上述公式来对矩阵d中其他未赋值的元素进行赋值,从而可以得到全部元素赋值后的如下矩阵d:

在对矩阵d中的全部元素赋值完成后,就可以将矩阵d[p+1][q+1]中的元素d[p+1][q+1]的赋值确定为所述初始识别结果的字符串str与当前计算的候选字符串stri的最小编辑距离dmin。

这里即为,将元素d[4][4]的赋值确定为初始识别结果的字符串abc与当前的候选字符串bcd之间的最小编辑距离(这里为2)。

针对候选字符串集合中的其他候选字符串,同样采用上述构造矩阵d的方式来确定初始识别结果的字符串str与各个其他候选字符串之间的最小编辑距离dmin,矩阵的构造方法相同,在此不再赘述。

综上,借助于本发明实施例的上述方法,能够对各种需要识别字符的纸质文档的ocr识别结果进行自动化纠正,而且纠正结果的准确度高,进一步提升了ocr识别结果的准确率。

当然,上述纸质文档并不限于上述实例中的发票,还可以是个人信息表、户口本信息等等各种需要识别字符的纸质文档,即,本发明对于所识别的纸质文档的类型并不作具体限制。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

与上述本发明实施例所提供的方法相对应,参照图2,示出了本发明一种ocr识别结果的纠正装置实施例的结构框图,具体可以包括如下模块:

ocr识别模块21,用于采用ocr技术对纸质文档中目标区域内的待识别字符进行识别,获取初始识别结果字符串str;

候选字符串构造模块22,用于根据所述待识别字符在所述纸质文档中的属性以及所述属性的属性值的预先设定字符范围,构造符合所述预先设定字符范围的多个候选字符串stri以构成候选字符串集合;

距离计算模块23,用于依次计算所述初始识别结果字符串str与所述候选字符串集合中的每个候选字符串stri的最小编辑距离dmin;

相似度计算模块24,用于利用所述最小编辑距离dmin,按照以下相似度公式计算所述初始识别结果字符串str与每个候选字符串stri的相似度si,相似度si=1-dmin/max(p,q),其中,p为所述初始识别结果字符串str的字符串长度,q为所述候选字符串集合中每个候选字符串stri的字符串长度,其中,不同字符串长度的候选字符串的q值不同;

结果纠正输出模块25,用于将最大的相似度smax所对应的候选字符串strj输出为对所述初始识别结果字符串str的纠正结果。

可选地,所述距离计算模块23包括:

第一获取子模块,用于获取所述初始识别结果字符串str的字符串长度p;

第二获取子模块,用于获取当前计算的候选字符串stri的字符串长度q;

第一计算子模块,用于若p=0且q≠0,则所述初始识别结果字符串str与当前计算的候选字符串stri的最小编辑距离dmin=q;

第二计算子模块,用于若q=0且p≠0,则所述初始识别结果字符串str与当前计算的候选字符串stri的最小编辑距离dmin=p;

矩阵构造子模块,用于若p≠0且q≠0,则构造矩阵d[p+1][q+1],其中,所述矩阵d[p+1][q+1]的第0行从左至右的元素的赋值以及第0列从上至下的元素的赋值均从0开始依次递增,每次加1,使得元素d[0][q]=q,元素d[p][0]=p;

比较赋值子模块,用于扫描所述初始识别结果字符串str中的每个字符str[j]和当前计算的候选字符串stri中的每个字符stri[i]分别进行比较,若stri[i]=str[j],则参数temp=0,否则temp=1,同时,针对矩阵d[p+1][q+1]中的元素d[i][j]进行如下赋值:

d[i][j]=﹛(d[i-1][j])+1,(d[i][j-1])+1,(d[i-1][j-1]+temp)﹜min;

确定子模块,用于将矩阵d[p+1][q+1]中的元素d[p+1][q+1]的赋值确定为所述初始识别结果的字符串str与当前计算的候选字符串stri的最小编辑距离dmin。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种ocr识别结果的纠正方法和一种ocr识别结果的纠正装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1