具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参照图1,计算机进行信息识别时,可以按照以下步骤进行:
S100:获取针对原始文件信息进行光学扫描得到的扫描信息。
在本申请应用的场景中,原始文件信息可以特别的指,身份证件信息、电子卡信息。身份证件,具体的,例如,身份证、学生证、军官证等等。这些身份证件的信息上可以具有姓名、识别号码、有效日期等多个维度的信息。可以利用多个维度的信息相互交叉验证,用以对持有者的身份进行审核或识别。电子卡,具体的,例如信用卡、借记卡、会员卡等等。这些电子卡,同样具有姓名、识别号码等多个维度的信息。可以利用多个维度的信息相互交叉验证,用以对持有者的身份进行审核或识别。
将这些原始文件信息放置在光学字符识别设备处,计算机可以利用光学字符识别设备的光学镜头进行信息的采集。光学字符识别设备将原始文件信息中的字符,也就是通过检测暗、亮的模式确定字符的形状,然后转化为对应的电子信号,从而获得扫描信息。
S200:将所述扫描信息拆分为至少两个子信息。
进一步的,在本申请提供的一种实施例中,将所述扫描信息拆分为至少两个子信息,具体包括:
根据原始文件信息中字符聚簇的位置,将扫描信息拆分为至少两个子信息。
在原始文件信息中,不同维度的信息通常布置在原始文件的不同位置。具体的,以身份证为例,身份证号码和姓名通常布置在身份证的不同位置。在进行信息识别或审核时,可以使用模板,将身份证的不同维度的信息区别对待,从而将身份证信息拆分为身份证号码信息和姓名信息。同样,对于其他身份证件信息和电子卡信息,可以采用同样的处理方式,将所述扫描信息拆分为至少两个子信息。
进一步的,将所述扫描信息拆分为至少两个的子信息,具体包括:
根据原始文件信息中字符的类型,将扫描信息至少拆分为两个子信息。
在原始文件信息中,不同维度的信息可以以同的字符类型表示。具体的,以身份证为例,身份证号码的字符类型为数字或字母型字符;而姓名的字符类型为汉字或英文字母的类型。除去身份证号码的尾数可能是字母外,其余字符均为数字,因此,可以查找以数字开头的18位字符作为号码信息,而将以汉字或字母开头到尾端空白部分作为姓名信息。在进行信息识别或审核时,可以根据不同的字符类型,将身份证的不同维度的信息区别对待,从而将身份证信息拆分为身份证号码信息和姓名信息。同样,对于其他身份证件信息和电子卡信息,可以采用同样的处理方式,将所述扫描信息拆分为至少两个子信息。
S300:将所述至少两个子信息发送到不同的服务端,以通过各服务端分别对接收到的子信息进行识别。
应当指出的是,光学字符识别设备的尺寸、重量往往受制于该设备操作的便利性,从而对其硬件带来重要的不利影响。具体的可以表现在,不能以较高的硬件规格来提高运算速度。在本申请提供的实施例中,将所述至少两个子信息发送到不同的服务端,以通过各服务端分别对接收到的子信息进行识别,从而可以减少对扫描信息进行识别所消耗的时间,从而可以提高信息识别的效率。具体的,可以将光学字符识别设备与其他具有较高硬件规格的服务器联网,将这些子信息发送到这些具有较高运算速度的服务器,从而可以快速进行子信息的识别。
进一步的,在本申请提供的又一实施例中,所述方法还包括:
将所述至少两个子信息发送到不同的服务端,以通过各服务端分别对接收到的子信息进行识别,具体包括:
将所述至少两个子信息发送到不同的服务端,以使服务端根据不同的算法对接收到的子信息进行识别;其中,服务端通过每个算法对子信息进行识别的结果包括通过、不通过、不确定;
针对一个子信息,当至少一个算法的识别结果为不通过时,则确定识别该子信息错误;当所有算法的识别结果均为不确定时,则确定识别该子信息错误;当所有算法的识别结果中没有不通过,并且,所有算法的识别结果中至少有一个为通过时,则确定识别该子信息识别正确。
当服务器接收到子信息时,可以根据预设的算法对子信息进行识别,并且可以生成对应识别结果的置信概率。置信概率可以分为三个不同的层次,具体的,例如通过、不通过、不确定。例如,姓名信息中包含“士”字。服务器根据某算法识别的结果为“士”字,置信概率为80%,也就是根据该算法认为该识别结果为“通过”。或者,服务器根据某算法识别的结果为“士”字,置信概率为50%,也就是根据该算法认为该识别结果为“不确定”。再或者,服务器根据某算法识别的结果为“土”字,置信概率为30%,也就是根据该算法认为该识别结果为“不通过”。应当指出的是,这里的通过、不通过、不确定可以与置信概率的范围相对应。例如,置信概率≥60%的范围可以对应识别结果为“通过”;60%>置信概率≥40%可以对应识别结果为“不确定”;40%>置信概率可以对应识别结果为“不通过”。
当子信息的识别结果为“不通过”或“不确定”时,则需要重新对子信息进行识别,增加子信息的识别时间,降低子信息识别效率。在本申请实施例中,可以使用多种算法对子信息进行联合识别,以提高子信息识别效率。针对一个子信息,当至少一个算法的识别结果为不通过时,则确定识别该子信息错误;当所有算法的识别结果均为不确定时,则确定识别该子信息错误;当所有算法的识别结果中没有不通过,并且,所有算法的识别结果中至少有一个为通过时,则确定识别该子信息识别正确。
请参照表1,为使用不同的算法(A1、A2、A3、B1、B2)对不同的子信息进行识别时的举例。
表1
|
A1 |
A2 |
A3 |
B1 |
B2 |
识别结果 |
子信息1 |
P |
U |
U |
P |
P |
正确 |
子信息2 |
P |
P |
U |
U |
P |
正确 |
子信息3 |
P |
U |
P |
N |
P |
错误 |
子信息4 |
N |
P |
P |
P |
P |
错误 |
其中,P代表子信息的识别结果为“通过”;
U代表子信息的识别结果为“不确定”;
N代表子信息的识别结果为“不通过”。
例如,对于子信息1而言,对于同一个识别结果,算法A2、算法A3认为识别结果“不确定”时,根据子信息识别的确定规则可以确定,子信息1的识别结果正确。而对于子信息3而言,对于同一个识别结果,由于算法B1认为识别结果“不通过”,根据子信息识别的确定规则可以确定子信息1的识别结果错误。在本申请实施例中,由于不同的算法对不同类型的字符在识别时具有不同的准确度,所以使用多种算法可以提高识别的准确度。例如,对于子信息1,由于算法A1、算法B1、算法B2均认为识别结果“通过”,则该识别结果的准确性或者可信度相对较高。同时,算法A1、算法B1、算法B2弥补了算法A2、算法A3对子信息1的识别结果“不确定”时的进一步处理,而不必重新扫描子信息1,从而提高了处理效率。
同样,对于构成子信息的每一个字符可以使用相同的方式,以提高子信息中每一个字符的识别效率。
S400:根据各服务端分别对接收到的子信息识别的结果,确定对原始文件信息扫描的结果。
服务端对接收到的子信息识别的结果表明了子信息的一种置信概率的结果。
当所有子信息的识别结果正确时,可以确定对原始文件信息扫描的结果正确,例如表2。
请参照表2,为使用不同的算法(A1、A2、A3、B1、B2)对不同的子信息进行识别以及最终对原始文件信息扫描的结果确认。
|
A1 |
A2 |
A3 |
B1 |
B2 |
结果 |
子信息1 |
P |
U |
U |
P |
P |
正确 |
子信息2 |
P |
P |
U |
U |
P |
正确 |
子信息3 |
P |
U |
P |
U |
P |
正确 |
子信息4 |
U |
P |
P |
U |
U |
正确 |
扫描结果 |
|
|
|
|
|
正确 |
其中,P代表子信息的识别结果为“通过”;
U代表子信息的识别结果为“不确定”。
在表2中,对于子信息1,算法A1、算法B1、算法B2代表子信息的识别结果为“通过”,算法A2、算法A3代表子信息的识别结果为“不确定”,根据识别规则,子信息1的识别结果最终判定为“正确”。对于子信息2、子信息3、子信息4的情形类似。假设,扫描信息被拆分为子信息1、子信息2、子信息3和子信息4。在本申请实施例中,子信息1、子信息2、子信息3和子信息4的识别结果最终分别被判定为“正确”。当子信息1、子信息2、子信息3和子信息4在计算机后台的数据库中可以交叉验证时,可以确认对原始文件信息扫描的结果为“正确”。
而现有技术中,仅使用一种算法时,例如,仅使用算法A1时,子信息1、子信息2、子信息3的识别结果为“通过”,而子信息4的识别结果为“不确定”。由于子信息4的识别结果无法最终被确认,需要重新对原始文件信息扫描。在本申请实施中,可以看出,当一种算法对于某个子信息的识别结果的置信概率低,也就是说,某个子信息的识别结果无法被确认时,使用多种算法,则有可能对该子信息的识别结果予以确认,从而不必重新对原始文件信息扫描,可以提高信息识别的效率。
进一步的,还可以通过子信息之间的交互验证,来提高对原始文件信息扫描的结果置信程度的确认。
原始文件信息中每一个维度的信息之间具有关联性,例如,身份证件信息中的号码信息和姓名信息是相互关联的。因此,可以通过不同维度的子信息之间进行交叉验证,以确认原始文件信息扫描的结果。仍以身份证件信息为例,也就是说,原始文件信息中的号码信息和姓名信息在计算机后台的数据库中具有备份。这里的计算机后台的数据库可以是有关安全部门的身份数据库。当识别获得的号码信息和识别获得的姓名信息,可以在计算机后台的数据库中验证为相互关联的信息时,也就是说,识别获得的号码信息和识别获得的姓名信息在计算机后台的数据库中相互匹配时,可以确定对原始文件信息扫描的结果正确。
进一步的,在本申请提供的又一实施例中,子信息包括若干信息元,所述方法还包括:
将所述至少两个子信息发送到不同的服务端,以通过各服务端分别对接收到的子信息进行识别,具体包括:
将所述至少两个子信息发送到不同的服务端,以使服务端根据不同的算法对接收到的子信息进行识别;其中,服务端通过每个算法对子信息进行识别的结果包括通过、不通过、不确定;
针对子信息的每一个信息元:
当至少一个算法的识别结果为不通过时,则确定该信息元的识别结果为不通过;
当所有算法的识别结果均为不确定时,则确定该信息元的识别结果为不确定;
当所有算法的识别结果没有不通过,并且,识别结果至少有一个通过时,则确定该信息元的识别结果为通过;
针对子信息:
当一个子信息中的信息元的识别结果至少有一个不通过时,则该子信息的识别结果为不通过;
当一个子信息中的信息元的识别结果均为不确定时,则确定该子信息的识别结果为不确定;
当一个子信息中的信息元的识别结果均为通过时,则确定该子信息的识别结果为通过。
具体的,仍以上面的身份证件信息为例来说明。将姓名信息和号码信息这两个子信息发送到不同的服务端,以通过各服务端分别对接收到的子信息进行识别。假设,作为子信息的号码信息被发送到第一服务器,以使第一服务器根据不同的算法对接收到的号码信息进行识别。
对于号码信息中的每一个数字,假设,至少一个算法的识别结果为不通过时,则确定该信息元的识别结果为不通过。也就是说,对于号码信息中的某个数字“1”,假设该数字被识别为“7”,至少有一种算法对该结果的置信概率认为小于30%,则确定该数字的识别结果为不通过。
而当所有算法的识别结果均为不确定时,则确定该信息元的识别结果为不确定。也就是,对于号码信息中的某个数字“1”,假设该数字被识别为“7”,所有算法对该结果的置信概率认为:60%>置信概率≥40%。则,确定该数字的识别结果为不确定。
当所有算法的识别结果没有不通过,并且,识别结果至少有一个通过时,则确定子信息的识别结果为通过。对于号码信息中的某个数字“1”,假设该数字被识别为“1”。所有算法认为该结果的置信概率均≥40%,其中,有的算法认为该结果的置信概率≥60%。则,确定该数字的识别结果为通过。
对于号码信息,号码信息中至少有一个数字的识别结果为不通过时,则该号码信息的识别结果为不通过。
对于号码信息,号码信息中所有数字的识别结果均为不确定时,则该号码信息的识别结果为不确定。
对于号码信息,号码信息中所有数字的识别结果均为通过时,则该号码信息的识别结果为通过。在本申请实施例中,使用多种算法对子信息中的每一个信息元进行识别,对于子信息中的每一个信息元,在该信息元没有识别结果为“不通过”的前提下,多种算法中有的算法认为该信息元的识别结果“通过”,有的算法认为该信息元的识别结果“不确定”时,根据规则,可以认为该信息元的识别结果“通过”。从而不必在此种情形下重新对该信息元进行识别。
进一步的,在本申请提供的又一实施例中,所述方法还包括:
当至少一个子信息识别错误时,再次针对原始文件信息进行光学扫描以便重新对识别错误的子信息进行识别。
具体的,仍以身份证件信息为例,当号码信息识别错误时,再次对身份证件信息进行光学扫描以便重新对识别错误的号码信息进行识别。在该过程中,由于只对号码信息,也就是部分扫描信息重新识别,从而可以提高信息识别的效率。进一步的,在本申请提供的又一实施例中,所述原始文件信息为身份证件信息或电子卡信息;
至少两个子信息包括姓名信息和号码信息。
当存在子信息识别错误的情形时,重新扫描原始文件信息中对应的部分。例如对于身份信息的识别而言,当身份证的姓名识别错误时,重新扫描身份证的姓名部分以重新获取姓名子信息。由于仅对原始文件信息中识别错误的子信息重新识别,因而,相对于对原始文件信息扫描结果进行重新扫描并识别可以节省时间,提高信息识别效率。
下面以身份证的识别为例,来介绍一种本申请实施例的具体应用场景。身份证审核人员使用带有OCR的扫描器,对身份证进行扫描。扫描器将身份证信息至少拆分为身份证号码和姓名。身份证号码和姓名被发送到与扫描器联网的服务器进行识别。这些服务器相对于扫描器可以配置优质的运算资源。当身份证号码被正确识别,姓名被正确识别时,可以确定对身份证的扫描无误,以便于对身份证的持有者进行审核。而当身份证号码识别错误时,可以重新扫描身份证的号码部分。
另外还可以使用多种算法,以便提高身份证识别的效率。例如,可以使用多种算法,以便当多种算法中某一算法不能对身份证号码的识别结果进行判断时,通过多种算法提高身份证号码的识别率。
当然,对于身份证的姓名的识别同样适用。
以上是本申请实施例提供的信息识别方法,基于同样的思路,请参照图2,本申请还提供一种信息识别装置1,包括:
采集模块11,用于获取针对原始文件信息进行光学扫描得到的扫描信息;
拆分模块12,用于将所述扫描信息拆分为至少两个子信息;
分发模块13,用于将所述至少两个子信息发送到不同的服务端,以通过各服务端分别对接收到的子信息进行识别;
处理模块14,用于根据各服务端分别对接收到的子信息识别的结果,确定对原始文件信息扫描的结果。
进一步的,在本申请提供的又一实施例中,所述拆分模块12用于:
根据原始文件信息中字符聚簇的位置,将扫描信息拆分为至少两个子信息。
进一步的,在本申请提供的又一实施例中,所述拆分模块12用于:
根据原始文件信息中字符的类型,将扫描信息至少拆分为两个子信息。
进一步的,在本申请提供的又一实施例中,所述分发模块13,用于将所述至少两个子信息发送到不同的服务端,以通过各服务端分别对接收到的子信息进行识别,具体用于:
将所述至少两个子信息发送到不同的服务端,以使服务端根据不同的算法对接收到的子信息进行识别;其中,服务端通过每个算法对子信息进行识别的结果包括通过、不通过、不确定;
针对一个子信息,当至少一个算法的识别结果为不通过时,则确定识别该子信息错误;当所有算法的识别结果均为不确定时,则确定识别该子信息错误;当所有算法的识别结果中没有不通过,并且,所有算法的识别结果中至少有一个为通过时,则确定识别该子信息识别正确。
进一步的,在本申请提供的又一实施例中,所述采集模块还用于:
当至少一个子信息识别错误时,再次针对原始文件信息进行光学扫描以便重新对识别错误的子信息进行识别。
进一步的,在本申请提供的又一实施例中,所述原始文件信息为身份证件信息或电子卡信息。
在本申请提供的实施例中,通过各服务端分别对接收到的子信息进行识别,从而可以减少对扫描信息进行识别所消耗的时间,从而可以提高信息识别的效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数值处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数值处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数值处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数值处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数值结构、程序的模块或其他数值。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数值信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。