CN112560842B - 一种信息识别方法、装置、设备和可读存储介质 - Google Patents
一种信息识别方法、装置、设备和可读存储介质 Download PDFInfo
- Publication number
- CN112560842B CN112560842B CN202011431077.6A CN202011431077A CN112560842B CN 112560842 B CN112560842 B CN 112560842B CN 202011431077 A CN202011431077 A CN 202011431077A CN 112560842 B CN112560842 B CN 112560842B
- Authority
- CN
- China
- Prior art keywords
- output
- recognition
- result
- results
- ocr
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012015 optical character recognition Methods 0.000 claims abstract description 93
- 230000011218 segmentation Effects 0.000 claims abstract description 91
- 238000012545 processing Methods 0.000 claims abstract description 22
- 238000012163 sequencing technique Methods 0.000 claims description 9
- 238000013527 convolutional neural network Methods 0.000 claims description 7
- 238000012937 correction Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 7
- 210000004243 sweat Anatomy 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 241000208140 Acer Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 235000002256 Diospyros oleifera Nutrition 0.000 description 1
- 244000153389 Diospyros oleifera Species 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 125000000484 butyl group Chemical group [H]C([*])([H])C([H])([H])C([H])([H])C([H])([H])[H] 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 210000002268 wool Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Character Discrimination (AREA)
Abstract
本发明公开了一种信息识别方法、装置、设备和可读存储介质,涉及信息识别技术领域,以提高信息的识别准确率。该方法包括:利用OCR对目标图像进行识别,得到输出结果,其中,所述输出结果的数量大于或等于2;从所述输出结果中确定待纠错的输出结果;对所述待纠错的输出结果进行分词处理,得到各待纠错的输出结果对应的分词结果;对所述各待纠错的输出结果对应的分词结果进行统计,得到候选分词;利用所述候选分词得到最终的识别结果。本发明实施例可提高OCR识别的准确率。
Description
技术领域
本发明涉及信息识别技术领域,尤其涉及一种信息识别方法、装置、设备和可读存储介质。
背景技术
目前,在使用OCR(Optical Character Recognition,光学字符识别)识别图像上的地址信息时,会由于图片像质量(光照,模糊,遮挡,褶皱)等因素影响识别结果,从而导致识别出的地址信息可能会出现错字,漏字,形似字等情况。因此,还需对OCR识别出的地址信息进行纠错。
现有技术中,可将OCR的识别结果根据字典树进行硬纠正。例如,字典树中包含某个城市的所有区县名称,以区县中的乡镇的名称。那么,在纠错的过程中,把OCR识别的地址信息分成省,市,区县等词语,然后将划分后的结果和字典树中的信息进行匹配,从而实现错误信息的纠正。
但是,现有技术的方案由于受到字典数的更新的限制,导致其准确率不高。
发明内容
本发明实施例提供一种信息识别方法、装置、设备和可读存储介质,以提高信息的识别准确率。
第一方面,本发明实施例提供了一种信息识别方法,包括:
利用OCR对目标图像进行识别,得到输出结果,其中,所述输出结果的数量大于或等于2;
从所述输出结果中确定待纠错的输出结果;
对所述待纠错的输出结果进行分词处理,得到各待纠错的输出结果对应的分词结果;
对所述各待纠错的输出结果对应的分词结果进行统计,得到候选分词;
利用所述候选分词得到最终的识别结果。
第二方面,本发明实施例还提供一种信息识别装置,包括:
第一获取模块,用于利用OCR对目标图像进行识别,得到输出结果,其中,所述输出结果的数量大于或等于2;
第二获取模块,用于从所述输出结果中确定待纠错的输出结果;
第一分词模块,用于对所述待纠错的输出结果进行分词处理,得到各待纠错的输出结果对应的分词结果;
第一处理模块,用于对所述待纠错的输出结果对应的分词结果进行统计,得到候选分词;
第三获取模块,用于利用所述候选分词得到最终的识别结果。
第三方面,本发明实施例还提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如上所述的信息识别方法中的步骤。
第四方面,本发明实施例还提供一种可读存储介质,所述可读存储介质上存储程序,所述程序被处理器执行时实现如上所述的信息识别方法中的步骤。
在本发明实施例中,通过OCR识别方法得到至少两个输出结果,然后对其中的待纠错的输出结果进行分词处理,得到各待纠错的输出结果对应的分词结果,并通过对所述各待纠错的输出结果对应的分词结果进行统计,得到候选分词,从而利用所述候选分词得到最终的识别结果。由此可以看出,利用本发明实施例的方案可对OCR识别结果进行进一步的纠错处理,从而可提高OCR识别的准确率。
附图说明
图1是本发明实施例提供的信息识别方法的流程图之一;
图2是本发明实施例提供的信息识别方法的流程图之二;
图3是本发明实施例提供的信息识别装置的结构示意图。
具体实施方式
本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,图1是本发明实施例提供的信息识别方法的流程图。如图1所示,所述信息识别方法包括以下步骤:
步骤101、利用光学字符识别OCR对目标图像进行识别,得到输出结果,其中,所述输出结果的数量大于或等于2。
所述目标图像可以是任意的图像,例如,可以是其中包括文本信息的图像等。在本发明实施例中,通过对OCR的改进使得其可输出至少两条输出结果。具体的,在执行本发明实施例的方法之前,可对OCR模型进行训练。其中,采用CNN(Convolutional NeuralNetworks,卷积神经网络)对OCR模型进行训练。
在OCR识别的过程中,采用CTC(Connectionist Temporal Classification,联结主义时间分类)进行预测,所述CTC的解码方法为集束搜索(Beam Search)方法,使得获得的OCR模型能够输出至少两条输出结果。
具体的,在预测过程中使用ctc_beam_search_decoder进行解码,同时,修改ctc_beam_search_decoder的解码逻辑,使得获得的OCR模型可输出多条输出结果。例如,在本发明实施例中,可最多输出50条输出结果,最少输出2条输出结果。在实际应用中,为进一步提高对OCR识别结果的纠错效果,可使得OCR模型输出13条输出结果。其中,所述输出结果包括OCR识别结果和OCR识别结果的概率。
在实际应用中,经过CNN提取特征后得到的是一个概率矩阵,[time_step,char_num],其中,char_num表示字库的数量(如20241),这个数值可以根据任务进行增加或者删除,time_step为CNN模型的输出特征。
其中,得到一条结果的概率为P=p(y1)*p(y2)*p(y3)…p(yt),t为正整数。p(yi)表示图像中第i帧的概率。
对P进行运算,得:Log(P)=Log(p(y1)*p(y2)*p(y3)…p(yt))=Log(p(y1))+Log(p(y2))+Log(p(y3))+…+Log(p(yt))。
当训练好一个模型后,假设输入为X,希望输出Y的条件概率的最高为:
Y*=Argmaxy Log(P(y|x))。
那么,输出N条结果时,输出Y的条件概率的最高为:N×Argmaxy Log(P(y|x))。
其中,在此步骤中,可包括如下步骤:
S1:对所述目标图像中的字符进行第一次识别,获得每个字符的识别概率。
S2:将所述每个字符的识别概率按照识别概率的数值大小进行排序。
例如,将所述识别概率按照从大到小的顺序进行排序,也可将所述识别概率按照从小到大的顺序排序。
S3:从排序结果中选择前N个数值大的识别概率作为N个第一节点,N为整数且N大于或等于2。
S4:基于所述N个第一节点,对所述目标图像进行M次识别。
S5:将第M次识别所获得的候选路径作为输出路径。
S6:将所述输出路径对应的识别结果作为输出结果。
具体的,根据该输出路径,从数据库中查找到每个节点的识别结果,进而利用该输出路径中各节点的识别结果形成该输出路径最终的输出结果。
其中,在M次识别中,循环执行以下步骤,直至执行完M次识别:
S41:对于M次识别中的第P次识别,从所述第P次识别的识别结果中,选择最大的识别概率作为第P节点;
S42:利用所述第P节点和所述第P次识别的前一次识别所获得的候选路径形成第P候选路径。
当P=1时,第P次识别的前一次识别即为S1中的第一次识别。那么,利用第P次的识别结果中的第P节点和N个第一节点分别形成第P候选路径。由于N大于或等于2,那么,在此也即形成了至少两条候选路径。
当P≥2时,第P次识别的前一次识别为M次识别中的第P-1次识别。那么,由于第P-1次识别形成有第P-1候选路径,因此,在此步骤中,利用第P次的识别结果中的第P节点和第P-1候选路径形成第P候选路径。
其中,M,P为整数,1≤M≤Q,1≤P≤M,Q为所述目标图像中包括的字符数。
假设N=2,以下举例描述如何获得2条输出结果。
t=1时,对图像中的每个字符(以包括3个字符为例)进行识别,获得如下表1的识别概率:
表1
t=1 | |
p1 | 0.25 |
p2 | 0.4 |
p3 | 0.35 |
由于N=2,那么将p2=0.4,p3=0.35两个概率最大的节点放进路径集合中,即有两条路径。获得的两个路径中的每个路径都会和下一个时间点的每一项组成新的路径。
t=2时,获得如下表2的识别概率:
表2
t=1 | t=2 | |
p1 | 0.25 | 0.3 |
p2 | 0.4 | 0.5 |
p3 | 0.35 | 0.2 |
两条最大的路径是:0.4,0.5和0.35,0.5。
t=3时,获得如下表3的识别概率:
表3
t=1 | t=2 | t=3 | |
p1 | 0.25 | 0.3 | 0.6 |
p2 | 0.4 | 0.5 | 0.2 |
p3 | 0.35 | 0.2 | 0.2 |
两条最大的路径是:0.4,0.5,0.6和0.35,0.5,0.6。
最终获得的两条路径分别表示成:B([1,1,0]),B([2,1,0]),得分分别是0.12,0.105。然后根据B的信息从字库中解析出具体的汉字信息。
步骤102、从所述输出结果中确定待纠错的输出结果。
具体的,在此步骤中,从所述输出结果中确定被OCR模型标识为错误的输出结果,得到待处理的输出结果。然后,根据预设的误识率以及所述待处理的输出结果的数量,得到目标概率阈值。之后,将所述输出结果中OCR识别结果的概率大于所述目标概率阈值的输出结果,作为所述待纠错的输出结果。
其中,该误识率可根据需要设置。所述目标概率阈值可按照如下方式确定:
将所述预设的误识率与所述待处理的输出结果的数量相乘,得到第一数值。将所述输出结果按照OCR识别结果对应的概率从大到小的顺序进行排序,得到排序结果。然后,将所述排序结果中排序序号值为所述第一数值的待处理的输出结果作为目标输出结果,其中,所述排序结果中的各个输出结果的排序序号值形成等差数列,等差数列的第一项为1,公差为1。也即,排序序号值为1,2,3,4,……n(n为排序结果中输出结果的总个数)。最后,将所述目标输出结果对应的OCR识别结果的概率作为所述目标概率阈值。
例如,假设误识率为5%。以11万条的数据为例,假设在经过OCR识别之后,每条数据有13个输出结果,那么,一共有143000条输出结果,每条输出结果都包括识别结果和对应的概率。
假设,1430000条输出结果中,将识别结果为识别错误的结果分离出来,共1291400条输出结果,将1291400×5%=64570,计算得到第一数值。将1291400条输出结果,按照其对应的概率从大到小的顺序进行排序,确定排序序号为64570的输出结果,即为目标输出结果,并将目标输出结果的概率作为所述目标概率阈值。假设,第64570条输出结果的概率为-0.117419。从11万条数据的每条数据对应的13条输出结果中,选择概率值最大的输出结果,也即每条数据选择一条输出结果,得到11万个输出结果。然后,将11万个数据的输出结果中概率大于-0.117419的输出结果作为待纠错的输出结果,假设共计102827条。
又例如,假设误识率为0.01,按照上述方式确定的目标概率阈值为-0.077194。假设误识率为0,按照上述方式确定的目标概率阈值为-0.044316。同样,可按照上述方式确定出待纠错的输出结果。
步骤103、对所述待纠错的输出结果进行分词处理,得到各待纠错的输出结果对应的分词结果。
在本发明实施例中,可使用任何一种分词方法对待纠错的输出结果进行分词。为了进一步提高输出结果的准确性,在本发明实施例中,在步骤103之前,还可对所述待纠错的输出结果进行预处理。那么,在此步骤中,根据预处理的结果,对所述待纠错的输出结果进行分词处理,得到各待纠错的输出结果对应的分词结果。
其中,所述预处理包括将文本对齐,去除其中的特殊字符等。其中,特殊字符包括“%”,“?”等。如果输出结果中包含特殊符号,利用正则表达式将这些特殊的符号替换成空。
步骤104、对所述各待纠错的输出结果对应的分词结果进行统计,得到候选分词。
在本发明实施例中,主要是对所述各待纠错的输出结果对应的分词结果中相同分词位置处的分词进行投票统计,并将投票统计结果中得分最高的分词,作为所述分词位置处的候选分词。其中,每种分词方法在进行分词处理时,都会确定对应的分词位置。所述分词位置可以指的是在进行分词时,被分词方法认为是可以形成某个固定表述或者含义的分词所在的位置。相同分词位置指的是,不同分词结果中形成某一相同固定表述或者含义的分词所在的位置,并且,其中该分词在输出结果中的作用相同。其中,作用相同,可以指的是在句子成分中的作用相同,分词所表示的地理位置的等级相同等。
例如以地址为例,该分词位置可以是表示国家、省、市、区的分词所在的位置。例如,假设分词结果是:A省B市C县D区,那么,“A省”的位置可以作为一个分词位置,对于不同的分词结果,相同的分词位置即指的是表示“省”的分词所在的位置。
假设对“宁夏银川市兴庆区佑民巷”的OCR输出结果和其对应的概率如表4所示。
表4
对上表中的各个输出结果进行分词,得到如表5所示的分词结果。
表5
OCR输出结果 | 分词结果 |
宁夏银川市兴庆区佦民巷 | ['宁夏','银川市','兴庆区','佦','民巷'] |
宁夏银川市兴庆区依民巷 | ['宁夏','银川市','兴庆区','依','民巷'] |
宇夏银川市兴庆区佑民巷 | ['宇夏','银川市','兴庆区','佑','民巷'] |
宁夏银川市兴庆区佈民巷 | ['宁夏','银川市','兴庆区','佈','民巷'] |
宁夏银川市兴庆区佐民巷 | ['宁夏','银川市','兴庆区','佐','民巷'] |
宁夏银川市兴庆区佑民巷 | ['宁夏','银川市','兴庆区','佑','民巷'] |
宁夏银川市兴庆区化民巷 | ['宁夏','银川市','兴庆区','化','民巷'] |
字夏银川市兴庆区佑民巷 | ['字夏','银川市','兴庆区','佑','民巷'] |
中夏银川市兴庆区佑民巷 | ['中夏','银川市','兴庆区','佑','民巷'] |
宁夏银川市兴庆区伉民巷 | ['宁夏','银川市','兴庆区','伉','民巷'] |
宁夏银川市兴庆以佑民巷 | ['宁夏','银川市','兴庆','以佑','民巷'] |
守夏银川市兴庆区佑民巷 | ['守夏','银川市','兴庆区','佑','民巷'] |
宁夏银川市兴庆区佑民碁 | ['宁夏','银川市','兴庆区','佑','民碁'] |
从上述分词结果中可以看出,分词位置分别位于省、市、区、街道的分词处。对相同分词位置处的分词结果进行投票统计。例如,对表示“省”的分词结果进行统计。对上述分词结果中5个分词位置处的分词结果进行投票统计,经统计:
Counter({'宁夏':9,'宇夏':1,'字夏':1,'中夏':1,'守夏':1});
Counter({'银川市':13});
Counter({'兴庆区':12,'兴庆':1});
Counter({'佑':6,'佦':1,'依':1,'佈':1,'佐':1,'化':1,'伉':1,'以佑':1});
Counter({'民巷':12,'民碁':1});
从以上的统计结果中可以看出,5个位置处的分词中,最高票数分别对应:'宁夏'是9票,'银川市'是13票,'兴庆区'是12票,'佑'是6票,'民巷'是12票。因此,'宁夏'、'银川市'、'兴庆区'、'佑'、'民巷'即可作为候选分词。
步骤105、利用所述候选分词得到最终的识别结果。
以步骤104中的为例,利用所述候选分词得到最终的识别结果为“宁夏银川市兴庆区佑民巷”。
在本发明实施例中,通过OCR识别方法得到至少两个输出结果,然后对其中的待纠错的输出结果进行分词处理,得到各待纠错的输出结果对应的分词结果,并通过对所述各待纠错的输出结果对应的分词结果进行统计,得到候选分词,从而利用所述候选分词得到最终的识别结果。由此可以看出,利用本发明实施例的方案可对OCR识别结果进行进一步的纠错处理,从而可提高OCR识别的准确率。
参见图2,图2是本发明实施例提供的信息识别方法的流程图。在本发明实施例中,以对身份证的识别结果进行纠错为例进行描述。如图2所示,所述信息识别方法包括以下步骤:
步骤201、获取身份证的OCR输出结果,对身份证号码进行校验。
该步骤具体可包括:
(1)将身份证号码的前17位数分别乘以不同的系数,并将获得的结果相加,得到一个和数。
例如,身份证号码中从第1位到第17位对应的系数分别为:7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2。
(2)将步骤(1)中获得的和除以11,得到结果,并获取该结果中的余数。
(3)将(2)中获得的余数和预设的余数集合进行比对,以确定身份证号的识别结果是否正确。
通常情况下,余数可能有0、1、2、3、4、5、6、7、8、9、10这11个数字,因此,利用上述11个数字形成余数集合。上述11个数字分别对应的身份证号码的最后一位是:1、0、X、9、8、7、6、5、4、3、2,其中,X表示罗马数字10。如果得到的余数位于预设的余数集合中,则说明身份证号的识别结果准确。
假设,身份证号码的OCR识别结果:id=410727190810161215。
将身份证号码的前17位数字分别和对应的系数相乘,并将获得的结果相加,得到和id_mul:
id_mul=4×7+1×9+0×10+7×5+2×8+7×4+1×2+9×1+0×6+8×3+1×7+0×9+1×10+6×5+1×8+2×4+1×2=216
将id_mul除以11,得到余数:id_div=id_mul%11。
经计算,余数id_div=7。
根据上述(3)中的对应规则,余数是7,对应的最后一位身份证号码是5。由于此身份证号码为410727190810161215,最后一位是5,因此对身份证号的识别结果校验正确。
步骤202、对OCR识别结果中的姓名进行校验。
在身份证号码中,第7至第14位数字分别表示出生年、月、日;第17位数字表示性别,其中,奇数表示男性,偶数表示女性。
因此,在此步骤中,可根据身份证号码的第7至第14位对出生日期进行校验并纠正,根据身份证号码的第17位数字对性别进行校验并纠正。
步骤203、对OCR识别结果中的民族进行校验。
民族包含56个民族和1个其他字段,共57个字段。这57个字段组成一个字库,民族的识别结果和字库中的信息做编辑距离矩阵运算,选择编辑距离最小的信息作为纠正的文本。如果两个信息的编辑距离一样,增加基于音形码的中文字符串相似度计算,并选择相似度最高的信息作为纠正的文本。
字符串的编辑距离是指利用字符操作,把字符串A转换成字符串B所需要的最少操作数。其中,字符操作包括:删除,插入,修改等。音形码是将一个汉字转化成字母和数字组合的序列,并在一定程度上保留了该汉字的发音及字形的特征,包括声母,韵母,声调,字形结构,四字编码和笔画数等信息。
例如,蒙吉和蒙古的编辑距离是1,蒙吉和汉的编辑距离是2。
假设,民族识别结果是“蒙吉”。在“蒙吉”和“蒙古”之间,需要把“吉”修改为“古”,变更了一个字符,因此,编辑距离为1。同理,“蒙吉”和“汉”的编辑距离就是2。所以把蒙吉可以纠正为蒙古。但是,如果编辑距离相同,比如民族的识别结果是“汗”,这个字和“汉”,“白”,“满”等民族的编辑距离都是1,因此需要计算音形码。
假设,经计算音形码,得到以下结果:
汗['FA041311406']
汉['FA041371405']
满['F303134127D']
白['71020260005']
假设OCR识别结果中民族为“汗”,通过以上结果可以看出,汗和汉的音形码最相近,因此,可以把汗纠正为汉。
步骤204、对OCR识别结果中的地址进行校验。
在此步骤中,根据身份证号码的前6位和OCR的多条输出结果对地址信息进行纠错。
其中,身份证号码的第1、2位数字表示:所在省(直辖市、自治区)的代码;身份证号码的第3、4位数字表示:所在地级市(自治州)的代码;身份证号码的第5、6位数字表示:所在区(县、自治县、县级市)的代码。
因此,在此步骤中,首先判断识别结果中的省市县和身份证号码的省市县是否对应。如果不一致,则采用下文的多候选的形式进行纠错。如果省市县中任何一个信息能够对应,则采用身份证号码的前6位和OCR的多输出结果的方式进行纠错。
假设身份证地址为“江西省宜春市袁州区滩下路43号”。身份证号码前位为:362201。其中,36表示江西省,22表示宜春市,01表示袁州区。
在此步骤中,从OCR识别结果中选择OCR概率最高的识别结果作为需要纠正的选项。结合表6,假设OCR识别结果中OCR概率最高的识别结果为:江四省宜春市袁州区滩下路43号。
首先根据身份证号码的前6位对地址进行第一次纠正。具体的,首先判断OCR的识别结果和身份证号码对应的省市信息是否存在对应关系。判断标准为身份证号码对应的省市信息与OCR的识别结果是否存在一个或多个的对应关系。从以上示例中可以看出,OCR的识别结果中的“宜春市”和“袁州区”能够和身份证号码的前6位中存在两个对应关系,因此,可执行后续的纠正。在此,可将“江四省”纠正为:江西省。
接着,根据多候选输出,对身份证地址信息进行第二次纠正。
在本发明实施例中,按照前述实施例的方式,OCR可输出至少2条对地址信息的识别结果。假设,识别结果为表6所示:
表6
OCR识别结果 | OCR概率 |
江四省宜春市袁州区滩下路43号 | -0.6866455 |
江四西省宜春市袁州区滩下路48号 | -9.7319565 |
江西省宣春市袁州区滩下路49号 | -12.012371 |
江因西省宜春市袁州区滩下路40号 | -14.445461 |
江园西省宜春市袁州区滩下路13号 | -14.456188 |
江西省宜春市袁州区滩下卜路3号 | -14.684826 |
江西省宜春市袁州区滩丁下路43号 | -15.282131 |
江四省宜春市袁州区滩下路43号 | -15.717892 |
江西省宜春市袁州区滩不下路4号 | -16.056316 |
江西省冝春市袁州区滩下路43 | -16.594769 |
江西省宜春巿袁州区滩下路43-号 | -16.662151 |
江画西省宜春市袁州区滩下路43号 | -17.195156 |
江酉西省宜春市袁州区滩下路43号 | -17.514568 |
在此步骤中,对上述已纠正的结果不再进行纠正,即纠正除省市区外的其他部分。
具体的,对以上结果中除省市区外的信息进行分词,得到各待纠错的输出结果对应的分词结果。然后,对所述各待纠错的输出结果对应的分词结果进行统计,得到候选分词。
对上表中的各个输出结果进行分词,得到如表7所示的分词结果。
表7
滩下路43号 | ['滩','下路','43','号'] |
滩下路48号 | ['滩','下路','48','号'] |
滩下路49号 | ['滩','下路','49','号'] |
滩下路40号 | ['滩','下路','40','号'] |
滩下路13号 | ['滩','下路','13','号'] |
滩下卜路3号 | ['滩','下卜路','3','号'] |
滩丁下路43号 | ['滩','丁下路','43','号'] |
滩下路43号 | ['滩','下路','43','号'] |
滩不下路4号 | ['滩','不下路','4','号'] |
滩下路43 | ['滩','下路','43'] |
滩下路43-号 | ['滩','下路','43-','号'] |
滩下路43号 | ['滩','下路','43','号'] |
滩下路43号 | ['滩','下路','43','号'] |
对相同分词位置处的分词结果进行投票统计。例如,对表示“省”的分词结果进行统计。对上述分词结果中4个分词位置处的分词结果进行投票统计,经统计:
Counter({'滩':13});
Counter({'下路':10,'下卜路':1,'丁下路':1,'不下路':1});
Counter({'43':6,'48':1,'49':1,'40':1,'13':1,'3':1,'4':1,'43-':1});
Counter({'号':12,”:1})。
从以上的统计结果中可以看出,4个位置处的分词中,最高票数分别对应:“滩”、“下路”、“43”、“号”。因此,“滩”、“下路”、“43”、“号”作为候选分词,得到“滩下路43号”。
结合以上,得到最终的结果为:“江西省宜春市袁州区滩下路43号”。
由此可以看出,利用本发明实施例的方案可对OCR识别结果进行进一步的纠错处理,从而可提高OCR识别的准确率。
本发明实施例还提供了一种信息识别装置。参见图3,图3是本发明实施例提供的信息识别装置的结构图。由于信息识别装置解决问题的原理与本发明实施例中信息识别方法相似,因此该信息识别装置的实施可以参见方法的实施,重复之处不再赘述。
需要说明的是,本发明实施例的方法可应用于文本信息的识别结果的纠错中,比如地址信息的识别结果的纠错中。
如图3所示,信息识别装置300包括:
第一获取模块301,用于利用OCR对目标图像进行识别,得到输出结果,其中,所述输出结果的数量大于或等于2;
第二获取模块302,用于从所述输出结果中确定待纠错的输出结果;
第一分词模块303,用于对所述待纠错的输出结果进行分词处理,得到各待纠错的输出结果对应的分词结果;
第一处理模块304,用于对所述待纠错的输出结果对应的分词结果进行统计,得到候选分词;
第三获取模块305,用于利用所述候选分词得到最终的识别结果。
可选的,所述装置还可包括:第二处理模块,用于对OCR模型进行训练;
其中,采用CNN对OCR模型进行训练。
其中,所述第二处理模块在利用CTC对OCR模型进行预测时,具体用于:
对所述目标图像中的字符进行第一次识别,获得每个字符的识别概率;
将所述每个字符的识别概率按照识别概率的数值大小进行排序;
从排序结果中选择前N个数值大的识别概率作为N个第一节点,N为整数且N大于或等于2;
基于所述N个第一节点,对所述目标图像进行M次识别;
将第M次识别所获得的候选路径作为输出路径;
将所述输出路径对应的识别结果作为输出结果;
其中,在M次识别中,循环执行以下步骤,直至执行完M次识别:
对于M次识别中的第P次识别,从所述第P次识别的识别结果中,选择最大的识别概率作为第P节点;
利用所述第P节点和所述第P次识别的前一次识别所获得的候选路径形成第P候选路径;
其中,M,P为整数,1≤M≤Q,1≤P≤M,Q为所述目标图像中包括的字符数。
可选的,所述输出结果包括OCR识别结果和OCR识别结果的概率;所述第二获取模块可包括:
第一获取子模块,用于从所述输出结果中确定被OCR模型标识为错误的输出结果,得到待处理的输出结果;第二获取子模块,用于根据预设的误识率以及所述待处理的输出结果的数量,得到目标概率阈值;第三获取子模块,用于将所述输出结果中OCR识别结果的概率大于所述目标概率阈值的输出结果,作为所述待纠错的输出结果。
可选的,所述第二获取子模块包括:
第一获取单元,用于将所述预设的误识率与所述待处理的输出结果的数量相乘,得到第一数值;第一排序单元,用于将所述输出结果按照OCR识别结果对应的概率从大到小的顺序进行排序,得到排序结果;第二获取单元,用于将所述排序结果中排序序号值为所述第一数值的待处理的输出结果作为目标输出结果,其中,所述排序结果中的各个输出结果的排序序号值形成等差数列,等差数列的第一项为1,公差为1;第三获取单元,用于将所述目标输出结果对应的OCR识别结果的概率作为所述目标概率阈值。
可选的,所述装置还可包括:
第三处理模块,用于对所述待纠错的输出结果进行预处理;第一处理模块304,用于根据预处理的结果,对所述待纠错的输出结果进行分词处理,得到各待纠错的输出结果对应的分词结果。
可选的,第一处理模块304可包括:
第一统计子模块,用于对所述各待纠错的输出结果对应的分词结果中相同分词位置处的分词进行投票统计;第一获取子模块,用于将投票统计结果中得分最高的分词,作为所述分词位置处的候选分词。
可选的输出结果的数量为13。
本发明实施例提供的装置,可以执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
本发明实施例还提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;所述处理器,用于读取存储器中的程序实现包括如前所述的信息识别方法中的步骤。
本发明实施例还提供一种可读存储介质,可读存储介质上存储有程序,该程序被处理器执行时实现上述信息识别方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的可读存储介质,可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。根据这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁盘、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (8)
1.一种信息识别方法,其特征在于,包括:
利用光学字符识别OCR对目标图像进行识别,得到OCR识别的输出结果,其中,对同一目标图像的OCR识别的输出结果的数量大于或等于2;
从所述OCR识别的输出结果中确定待纠错的输出结果;
对所述待纠错的输出结果进行分词处理,得到各待纠错的输出结果对应的分词结果;
对所述各待纠错的输出结果对应的分词结果进行统计,得到候选分词;
利用所述候选分词得到最终的识别结果;
其中,所述OCR识别的输出结果包括OCR识别结果和OCR识别结果的概率;
所述从所述OCR识别的输出结果中确定待纠错的输出结果,包括:
从所述OCR识别的输出结果中确定被OCR模型标识为错误的输出结果,得到待处理的输出结果;
根据预设的误识率以及所述待处理的输出结果的数量,得到目标概率阈值;
将所述输出结果中OCR识别结果的概率大于所述目标概率阈值的输出结果,作为所述待纠错的输出结果;
所述对所述各待纠错的输出结果对应的分词结果进行统计,得到候选分词,包括:
对所述各待纠错的输出结果对应的分词结果中相同分词位置处的分词进行投票统计;
将投票统计结果中得分最高的分词,作为所述分词位置处的候选分词。
2.根据权利要求1所述的方法,其特征在于,所述利用光学字符识别OCR对目标图像进行识别,得到输出结果之前,所述方法还包括:
利用卷积神经网络CNN对OCR模型进行训练。
3.根据权利要求1所述的方法,其特征在于,所述利用光学字符识别OCR对目标图像进行识别,得到输出结果,包括:
对所述目标图像中的字符进行第一次识别,获得每个字符的识别概率;
将所述每个字符的识别概率按照识别概率的数值大小进行排序;
从排序结果中选择前N个数值大的识别概率作为N个第一节点,N为整数且N大于或等于2;
基于所述N个第一节点,对所述目标图像进行M次识别;
将第M次识别所获得的候选路径作为输出路径并将所述输出路径对应的识别结果作为输出结果;
其中,在M次识别中,循环执行以下步骤,直至执行完M次识别:
对于M次识别中的第P次识别,从所述第P次识别的识别结果中,选择最大的识别概率作为第P节点;
利用所述第P节点和所述第P次识别的前一次识别所获得的候选路径形成第P候选路径;
其中,M,P为整数,1≤M≤Q,1≤P≤M,Q为所述目标图像中包括的字符数。
4.根据权利要求1所述的方法,其特征在于,所述根据预设的误识率以及所述待处理的输出结果的数量,得到目标概率阈值,包括:
将所述预设的误识率与所述待处理的输出结果的数量相乘,得到第一数值;
将所述输出结果按照OCR识别结果对应的概率从大到小的顺序进行排序,得到排序结果;
将所述排序结果中排序序号值为所述第一数值的待处理的输出结果作为目标输出结果,其中,所述排序结果中的各个输出结果的排序序号值形成等差数列,等差数列的第一项为1,公差为1;
将所述目标输出结果对应的OCR识别结果的概率作为所述目标概率阈值。
5.根据权利要求1-4任一项所述的方法,其特征在于,
输出结果的数量为13。
6.一种信息识别装置,其特征在于,包括:
第一获取模块,用于利用OCR对目标图像进行识别,得到OCR识别的输出结果,其中,对同一目标图像的OCR识别的输出结果的数量大于或等于2;
第二获取模块,用于从所述输出结果中确定待纠错的输出结果;
第一分词模块,用于对所述待纠错的输出结果进行分词处理,得到各待纠错的输出结果对应的分词结果;
第一处理模块,用于对所述待纠错的输出结果对应的分词结果进行统计,得到候选分词;
第三获取模块,用于利用所述候选分词得到最终的识别结果;
所述OCR识别的输出结果包括OCR识别结果和OCR识别结果的概率;所述第二获取模块包括:
第一获取子模块,用于从所述OCR识别的输出结果中确定被OCR模型标识为错误的输出结果,得到待处理的输出结果;第二获取子模块,用于根据预设的误识率以及所述待处理的输出结果的数量,得到目标概率阈值;第三获取子模块,用于将所述输出结果中OCR识别结果的概率大于所述目标概率阈值的输出结果,作为所述待纠错的输出结果;
所述第一处理模块包括:
第一统计子模块,用于对所述各待纠错的输出结果对应的分词结果中相同分词位置处的分词进行投票统计;第一获取子模块,用于将投票统计结果中得分最高的分词,作为所述分词位置处的候选分词。
7.一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;其特征在于,所述处理器,用于读取存储器中的程序实现包括如权利要求1至5中任一项所述的信息识别方法中的步骤。
8.一种可读存储介质,用于存储程序,其特征在于,所述程序被处理器执行时实现包括如权利要求1至5中任一项所述的信息识别方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011431077.6A CN112560842B (zh) | 2020-12-07 | 2020-12-07 | 一种信息识别方法、装置、设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011431077.6A CN112560842B (zh) | 2020-12-07 | 2020-12-07 | 一种信息识别方法、装置、设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112560842A CN112560842A (zh) | 2021-03-26 |
CN112560842B true CN112560842B (zh) | 2021-10-22 |
Family
ID=75060035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011431077.6A Active CN112560842B (zh) | 2020-12-07 | 2020-12-07 | 一种信息识别方法、装置、设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112560842B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113779970B (zh) * | 2021-09-24 | 2023-05-23 | 北京字跳网络技术有限公司 | 一种文本纠错方法、装置、设备和计算机可读存储介质 |
CN114328831A (zh) * | 2021-12-24 | 2022-04-12 | 江苏银承网络科技股份有限公司 | 票据信息识别与纠错方法及装置 |
CN114661688B (zh) * | 2022-03-25 | 2023-09-19 | 马上消费金融股份有限公司 | 地址纠错方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196911A (zh) * | 2007-12-04 | 2008-06-11 | 深圳市迅雷网络技术有限公司 | 选取资源实名的方法、系统及装置 |
CN109086961A (zh) * | 2018-06-26 | 2018-12-25 | 阿里巴巴集团控股有限公司 | 一种信息风险监测方法及装置 |
WO2018232591A1 (en) * | 2017-06-20 | 2018-12-27 | Microsoft Technology Licensing, Llc. | SEQUENCE RECOGNITION PROCESSING |
CN109190630A (zh) * | 2018-08-29 | 2019-01-11 | 摩佰尔(天津)大数据科技有限公司 | 字符识别方法 |
CN110399845A (zh) * | 2019-07-29 | 2019-11-01 | 上海海事大学 | 一种图像中连续成段文本检测与识别方法 |
CN111062376A (zh) * | 2019-12-18 | 2020-04-24 | 厦门商集网络科技有限责任公司 | 基于光学字符识别与纠错紧耦合处理的文本识别方法 |
CN111079768A (zh) * | 2019-12-23 | 2020-04-28 | 北京爱医生智慧医疗科技有限公司 | 一种基于ocr的文字图像识别方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9465985B2 (en) * | 2013-06-09 | 2016-10-11 | Apple Inc. | Managing real-time handwriting recognition |
CN107729321A (zh) * | 2017-10-23 | 2018-02-23 | 上海百芝龙网络科技有限公司 | 一种语音识别结果纠错方法 |
CN110826328A (zh) * | 2019-11-06 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 关键词提取方法、装置、存储介质和计算机设备 |
CN111695342B (zh) * | 2020-06-12 | 2023-04-25 | 复旦大学 | 基于语境信息的文本内容校正方法 |
CN111782772A (zh) * | 2020-07-24 | 2020-10-16 | 平安银行股份有限公司 | 基于ocr技术的文本自动生成方法、装置、设备及介质 |
-
2020
- 2020-12-07 CN CN202011431077.6A patent/CN112560842B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196911A (zh) * | 2007-12-04 | 2008-06-11 | 深圳市迅雷网络技术有限公司 | 选取资源实名的方法、系统及装置 |
WO2018232591A1 (en) * | 2017-06-20 | 2018-12-27 | Microsoft Technology Licensing, Llc. | SEQUENCE RECOGNITION PROCESSING |
CN109086961A (zh) * | 2018-06-26 | 2018-12-25 | 阿里巴巴集团控股有限公司 | 一种信息风险监测方法及装置 |
CN109190630A (zh) * | 2018-08-29 | 2019-01-11 | 摩佰尔(天津)大数据科技有限公司 | 字符识别方法 |
CN110399845A (zh) * | 2019-07-29 | 2019-11-01 | 上海海事大学 | 一种图像中连续成段文本检测与识别方法 |
CN111062376A (zh) * | 2019-12-18 | 2020-04-24 | 厦门商集网络科技有限责任公司 | 基于光学字符识别与纠错紧耦合处理的文本识别方法 |
CN111079768A (zh) * | 2019-12-23 | 2020-04-28 | 北京爱医生智慧医疗科技有限公司 | 一种基于ocr的文字图像识别方法及装置 |
Non-Patent Citations (2)
Title |
---|
CTC算法详解;Michaelliu_dev;《https://blog.csdn.net/liuxiaoheng1992/article/details/83660557》;20181102;第5页 * |
一文读懂CRNN+CTC文字识别;白堂;《https://zhuanlan.zhihu.com/p/43534801》;20200822;第21页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112560842A (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112560842B (zh) | 一种信息识别方法、装置、设备和可读存储介质 | |
US8285048B2 (en) | Classifying a string formed from hand-written characters | |
CN110163181B (zh) | 手语识别方法及装置 | |
CN111062376A (zh) | 基于光学字符识别与纠错紧耦合处理的文本识别方法 | |
CN112183094B (zh) | 一种基于多元文本特征的中文语法查错方法及系统 | |
CN110232923B (zh) | 一种语音控制指令生成方法、装置及电子设备 | |
JP4136316B2 (ja) | 文字列認識装置 | |
CN111062397A (zh) | 一种智能票据处理系统 | |
CN113177412A (zh) | 基于bert的命名实体识别方法、系统、电子设备及存储介质 | |
CN112990887B (zh) | 一种简历和岗位匹配的方法及计算设备 | |
CN113627151B (zh) | 跨模态数据的匹配方法、装置、设备及介质 | |
CN111783710B (zh) | 医药影印件的信息提取方法和系统 | |
CN116070632A (zh) | 一种非正式文本实体标签识别方法和装置 | |
CN112613293A (zh) | 摘要生成方法、装置、电子设备及存储介质 | |
CN111291551B (zh) | 文本处理方法、装置、电子设备及计算机可读存储介质 | |
CN112632956A (zh) | 文本匹配方法、装置、终端和存储介质 | |
CN111694936A (zh) | 用于ai智能面试的识别的方法、装置、计算机设备及存储介质 | |
US20140093173A1 (en) | Classifying a string formed from hand-written characters | |
CN114548049A (zh) | 一种数字正则化方法、装置、设备及存储介质 | |
CN114049642A (zh) | 一种表格证件影像件的文本识别方法及计算设备 | |
CN114638229A (zh) | 笔录数据的实体识别方法、装置、介质及设备 | |
CN113688633A (zh) | 一种提纲确定方法及装置 | |
CN113220737A (zh) | 一种数据推荐方法、装置、电子设备及存储介质 | |
Wang et al. | NCTU and NTUT’s entry to CLP-2014 Chinese spelling check evaluation | |
CN114139541B (zh) | 命名实体识别方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
OL01 | Intention to license declared | ||
OL01 | Intention to license declared |