一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

发票数据校准方法、装置、计算机设备和存储介质与流程

2022-10-13 04:39:38 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别是涉及一种发票数据校准方法、装置、计算机设备和存储介质。


背景技术:

2.随着计算机技术的发展,针对现有的财务审核工作,主要通过对发票进行识别后进行,因此确保发票识别的真实性和合规性是现阶段的研究重点。
3.目前,在通过光学字符识别方式对发票图像进行识别处理,得到初始的发票数据后,会通过第三方的发票查验接口来进行验证,再根据验证结果确定出校准后的发票数据。然而,由于采用第三方的方式并不能进行发票的实时验证,且得到的发票数据通常准确性不高。因此,如何实时地对发票数据进行验证,从而提高发票数据校准的准确性是本公开需要解决的问题。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高发票数据准确性的发票数据校准方法、装置、计算机设备和计算机可读存储介质。
5.第一方面,本技术提供了一种发票数据校准方法。所述方法包括:获取待校准发票数据和发票抬头库数据,并确定所述待校准发票数据中的待校准字符串;所述发票抬头库数据包括多个参考字符串;对于多个参考字符串中的每个参考字符串,将所述参考字符串与所述待校准字符串进行相似度检测,得到相应参考字符串的检测结果;根据每个所述参考字符串各自对应的检测结果和预设的检测阈值,从多个所述参考字符串中筛选出目标参考字符串;通过所述目标参考字符串对所述待校准字符串进行校准,得到目标字符串。
6.在一个实施例中,将参考字符串与待校准字符串进行相似度检测,得到相应参考字符串的检测结果,包括:获取初始结果,并确定参考字符串中的当前参考字符和待校准字符串中的当前待校准字符;将当前参考字符与当前待校准字符进行相似度检测,得到当前参考字符的第一子结果;根据第一子结果,确定当前参考字符的检测子结果;进入下一轮的字符相似度检测,确定新的当前参考字符、新的当前待校准字符和新的初始结果,返回至将当前参考字符与当前待校准字符进行相似度检测的步骤继续执行,直至得到参考字符串中的最后一个参考字符的检测子结果;将最后一个参考字符的检测子结果作为参考字符串对应的检测结果。
7.在一个实施例中,根据第一子结果,确定当前参考字符的检测子结果,包括:若第一子结果表征当前参考字符与当前待校准字符之间相似时,将初始结果和第一子结果进行叠加,得到当前参考字符的检测子结果;确定新的当前参考字符、新的当前待校准字符和新的初始结果,返回至将当前参考字符与当前待校准字符进行相似度检测的步骤继续执行,
包括:确定参考字符串中的下一个参考字符和待校准字符串中的下一个待校准字符,并将下一个参考字符作为新的当前参考字符、将下一个待校准字符作为新的当前待校准字符、将当前参考字符的检测子结果作为新的初始结果;返回至将当前参考字符与当前待校准字符进行相似度检测的步骤继续执行。
8.在一个实施例中,将当前参考字符与当前待校准字符进行相似度检测,得到当前参考字符的第一子结果,包括:判断当前参考字符与当前待校准字符是否相同;若相同,则确定当前参考字符与当前待校准字符之间的相似度分值为预设第一分值;根据预设第一分值和预设的相似度阈值之间的差异,得到当前参考字符对应的第一子结果。
9.在一个实施例中,上述方法还包括:若不相同,则获取当前待校准字符对应的相似字符列表;相似字符列表包括至少一个相似字符、以及每个相似字符各自对应的相似度分值;从至少一个相似字符中查找出与当前参考字符相同的目标相似字符;根据目标相似字符对应的相似度分值和相似度阈值之间的差异,得到当前参考字符对应的第一子结果。
10.在一个实施例中,根据第一子结果,确定当前参考字符的检测子结果包括:若第一子结果表征当前参考字符与当前待校准字符之间不相似时,获取当前待校准字符对应的第一拆字列表;根据第一拆字列表,将当前参考字符与当前待校准字符进行相似度检测,得到当前参考字符的第二子结果;将初始结果和第二子结果进行叠加,得到当前参考字符的检测子结果;确定新的当前参考字符、新的当前待校准字符和新的初始结果,返回至将当前参考字符与当前待校准字符进行相似度检测的步骤继续执行,包括:对待校准字符串进行更新,得到更新后的待校准字符串,并确定更新后的待校准字符串中的当前更新校准字符;将当前参考字符的检测子结果,作为参考字符串中与当前参考字符串紧邻的下一个参考字符的检测子结果;将参考字符串中与当前参考字符紧邻的下两个参考字符作为新的当前参考字符、将更新后的待校准字符串中的与当前更新校准字符紧邻的下两个更新校准字符作为新的当前待校准字符、将当前参考字符的检测子结果作为新的初始结果;返回至将当前参考字符与当前待校准字符进行相似度检测的步骤继续执行。
11.在一个实施例中,参考字符串中包括i号字符m
(i)
、待校准字符串中包括i号字符l
(i)
,i为正整数,i小于等于参考字符串的候选字符数量,或i小于等于待校准字符串的候选字符数量;根据第一拆字列表,将当前参考字符与当前待校准字符进行相似度检测,得到当前参考字符的第二子结果包括:确定当前参考字符为字符m
(i)
、当前待校准字符为字符l
(i)
; 确定第一拆字列表中的第一拆字字符和第二拆字字符;判断第一拆字字符是否与字符m
(i)
相同、第二拆字字符是否与字符m
(i 1)
相同;若均相同,则获取字符m
(i)
与第一拆字字符之间的第二预设分值、字符m
(i 1)
与第二拆字字符之间的第三预设分值;根据第二预设分值、第三预设分值和预设的相似度阈值,得到字符m
(i)
的第二子结果。
12.在一个实施例中,上述方法还包括:当第一拆字字符与字符m
(i)
不相同或第二拆字字符与字符m
(i 1)
不相同时,停止将参考字符串与待校准字符串进行相似度检测的过程。
13.在一个实施例中,对待校准字符串进行更新,得到更新后的待校准字符串,包括:将待校准字符串中i 1号字符l
(i 1)
至n号字符l
(n)
中的每个字符,均向待校准字符串的尾部移动一个字符位置,得到候选的待校准字符串;将参考字符串的尾部添加一个空字符;将字符m
(i)
赋值给字符l
(i)
,得到新的字符l
(i)
,并将字符m
(i 1)
赋值给字符l
(i 1)
,得到新的字符l
(i 1)
;综合新的字符l
(i)
、新的字符l
(i 1)
和候选的待校准字符串,得到更新后的待校准字符
串。
14.在一个实施例中,根据第一子结果,确定当前参考字符的检测子结果包括:若第一子结果表征当前参考字符与当前待校准字符之间不相似时,获取当前参考字符对应的第二拆字列表;根据第二拆字列表,将当前参考字符与当前待校准字符进行相似度检测,得到当前参考字符的第三子结果;将初始结果和第三子结果进行叠加,得到当前参考字符的检测子结果;确定新的当前参考字符、新的当前待校准字符和新的初始结果,返回至将当前参考字符与当前待校准字符进行相似度检测的步骤继续执行,包括:对待校准字符串进行更新,得到更新后的待校准字符串,并确定更新后的待校准字符串中的当前更新校准字符;将参考字符串中与当前参考字符紧邻的下一个参考字符作为新的当前参考字符、将更新后的待校准字符串中的与当前更新校准字符紧邻的下一个更新校准字符作为新的当前待校准字符、将当前参考字符的检测子结果作为新的初始结果;返回至将当前参考字符与当前待校准字符进行相似度检测的步骤继续执行。
15.在一个实施例中,参考字符串中包括i号字符m
(i)
、待校准字符串中包括i号字符l
(i)
,i为正整数,i小于等于参考字符串的候选字符数量,或i小于等于待校准字符串的候选字符数量;根据第二拆字列表,将当前参考字符与当前待校准字符进行相似度检测,得到当前参考字符的第三子结果,包括:确定当前参考字符为字符m
(i)
、当前待校准字符为字符l
(i)
;确定第二拆字列表中的第三拆字字符和第四拆字字符;判断第三拆字字符是否与字符l
(i)
相同、第四拆字字符是否与字符l
(i 1)
相同;若均相同,则获取字符m
(i)
与第二拆字列表之间的第四预设分值; 根据第三预设分值和预设的相似度阈值,得到字符m
(i)
的第三子结果。
16.在一个实施例中,上述方法还包括:当第三拆字字符与字符l
(i)
不相同或第四拆字字符与字符l
(i 1)
不相同时,停止将参考字符串与待校准字符串进行相似度检测的过程。
17.在一个实施例中,对待校准字符串进行更新,得到更新后的待校准字符串,包括:将待校准字符串中i 2号字符l
(i 2)
至n号字符l
(n)
中的每个字符,均向待校准字符串的首部移动一个字符位置,并在待校准字符串的尾部添加一个空字符,得到候选的待校准字符串;将字符m
(i)
赋值给字符l
(i)
,得到新的字符l
(i)
,综合新的字符n
(i)
和候选的待校准字符串,得到更新后的待校准字符串。
18.在一个实施例中,在将参考字符串与待校准字符串进行相似度检测,得到相应参考字符串的检测结果之后,还包括:分别将每个参考字符串和待校准字符串的尾部中带有相同数量的空字符进行删除,得到每个新的参考字符串和新的待校准字符串;确定每个新的参考字符串中的目标字符数量;根据每个参考字符串各自对应的检测结果和预设的检测阈值,从多个参考字符串中筛选出目标参考字符串,包括:根据每个参考字符串各自对应的检测结果和目标字符数量,分别确定每个参考字符串各自对应的检测数值;检测数值包括方差数值和均方差数值中的至少一种;将小于预设的检测阈值的检测数值所对应的参考字符串筛选为候选参考字符串;检测阈值包括方差阈值和均方差阈值中的至少一种;将检测数值最小的候选参考字符串作为目标参考字符串。
19.第二方面,本技术还提供了一种发票数据校准装置。所述装置包括:数据获取模块,用于获取待校准发票数据和发票抬头库数据,并确定所述待校准发票数据中的待校准字符串;所述发票抬头库数据包括多个参考字符串;相似度检测模块,用于对于多个参考字符串中的每个参考字符串,将所述参考字
符串与所述待校准字符串进行相似度检测,得到相应参考字符串的检测结果;字符串确定模块,用于根据每个所述参考字符串各自对应的检测结果和预设的检测阈值,从多个所述参考字符串中筛选出目标参考字符串;通过所述目标参考字符串对所述待校准字符串进行校准,得到目标字符串。
20.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取待校准发票数据和发票抬头库数据,并确定所述待校准发票数据中的待校准字符串;所述发票抬头库数据包括多个参考字符串;对于多个参考字符串中的每个参考字符串,将所述参考字符串与所述待校准字符串进行相似度检测,得到相应参考字符串的检测结果;根据每个所述参考字符串各自对应的检测结果和预设的检测阈值,从多个所述参考字符串中筛选出目标参考字符串;通过所述目标参考字符串对所述待校准字符串进行校准,得到目标字符串。
21.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取待校准发票数据和发票抬头库数据,并确定所述待校准发票数据中的待校准字符串;所述发票抬头库数据包括多个参考字符串;对于多个参考字符串中的每个参考字符串,将所述参考字符串与所述待校准字符串进行相似度检测,得到相应参考字符串的检测结果;根据每个所述参考字符串各自对应的检测结果和预设的检测阈值,从多个所述参考字符串中筛选出目标参考字符串;通过所述目标参考字符串对所述待校准字符串进行校准,得到目标字符串。
22.上述发票数据校准方法、装置、计算机设备和存储介质,通过获取待校准发票数据和发票抬头库数据,并确定待校准发票数据中的待校准字符串,对于发票抬头库数据中的每个参考字符串,均将参考字符串与待校准字符串进行相似度检测,得到相应参考字符串的检测结果,如此,便可根据每个参考字符串各自对应的检测结果和预设的检测阈值,从多个参考字符串中筛选出目标参考字符串,使得通过目标参考字符串对待校准字符串进行校准,得到目标字符串。由于本技术是在先筛选出目标参考字符串之后,再对待校准字符串进行校准,因此,相比于传统的采用第三方的发票查验接口来进行验证的方式,本技术可实时地对每个待校准字符串均进行相似度检测,并得到校准后的目标字符串,提高了发票数据校准的准确性。同时,由于本技术不再依赖于第三方的接口,确保了得到真实的发票数据的效率,也降低了财务管理的管理成本。
附图说明
23.图1为一个实施例中发票数据校准方法的应用环境图;图2为一个实施例中发票数据校准方法的流程示意图;图3为一个实施例中字符串对比的结构示意图;图4为一个实施例中相似字符列表中的相似字符的示意图;图5为一个实施例中确定当前参考字符的检测子结果的流程示意图;
图6为一个实施例中拆字列表中的拆字字符的示意图;图7为一个实施例中确定新的当前参考字符、新的当前待校准字符和新的初始结果的流程示意图;图8为一个实施例中字符串更新后的结构示意图;图9为另一个实施例中确定当前参考字符的检测子结果的流程示意图;图10为另一个实施例中确定新的当前参考字符、新的当前待校准字符和新的初始结果的流程示意图;图11为另一个实施例中字符串更新后的结构示意图;图12为一个实施例中发票数据校准方法的总体架构图;图13为一个实施例中发票数据校准装置的结构框图;图14为一个实施例中计算机设备的内部结构图。
具体实施方式
24.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本技术,并不用于限定本技术。
25.本技术实施例提供的发票数据校准方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端102用于将待校准发票数据和发票抬头库数据发送至服务器104。服务器104用于确定待校准发票数据中的待校准字符串,并对于发票抬头库数据包括的每个参考字符串,将参考字符串与待校准字符串进行相似度检测,得到相应参考字符串的检测结果。服务器104还用于根据每个参考字符串各自对应的检测结果和预设的检测阈值,从多个参考字符串中筛选出目标参考字符串,并通过目标参考字符串对待校准字符串进行校准,得到目标字符串。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
26.在一个实施例中,如图2所示,提供了一种发票数据校准方法,以该方法应用于图1中的计算机设备为例进行说明,包括以下步骤:步骤202,获取待校准发票数据和发票抬头库数据,并确定待校准发票数据中的待校准字符串。
27.其中,发票抬头库数据包括多个参考字符串,发票抬头库数据为企业系统预先存储在发票抬头库中的数据,发票抬头库可为关系型数据库管理系统(如mysql)或数据结构存储系统(如remote dictionary server,远程字典服务)。
28.具体地,计算机设备中提供一种发票解析控制器和识别服务器,如图3所示,图3为发票数据校准系统的总体架构图,也可称作电子报销系统。当用户提交发票时,可通过发票解析控制器控制识别服务器来对发票进行光学字符识别,也即(optical character recognition,ocr识别),得到待校准发票数据。其中,待校准发票数据中包括多个初始的字
符串,比如企业名称字符串等。计算机设备根据待校准发票数据确定发票的发票类型,当发票类型为普通发票时,从初始的字符串中确定出待校准字符串包括企业名称字符串和税号字符串;当发票类型为增值专用发票时,从初始的字符串中确定出待校准字符串包括企业名称字符串、税号字符串、地址字符串、开户行字符串等;当发票类型为通用机打发票、定额发票、铁路票据、门票等时,则不用对初始的字符串进行校准。
29.同时,计算机设备提供一种字符偏差计算引擎,用于接收发票解析控制器得到的待校准发票数据、以及从发票抬头库中获取的发票抬头库数据。
30.在一个实施例中,若待校准发票数据中的地址字符串、开户行字符串等为空,但发票类型为增值专用发票时,此时将该发票标记为异常发票。
31.在一个实施例中,计算机设备中提供一种抬头服务器,参考图3所示,抬头服务器响应于管理员针对发票抬头库的编辑操作,创建包含多个企业抬头的企业抬头列表,并将企业抬头列表存储在发票抬头库中。其中,企业抬头中包括企业名称字符串、税号字符串、地址字符串、开户行字符串等,企业抬头可以通过唯一的抬头id进行指向。计算机设备将企业抬头列表中包括的字符串视作发票抬头库数据中的参考字符串。
32.步骤204,对于多个参考字符串中的每个参考字符串,将参考字符串与待校准字符串进行相似度检测,得到相应参考字符串的检测结果。
33.其中,容易理解的,当待校准字符串为税号字符串时,发票抬头库数据中的多个参考字符串均对应于发票抬头库中的多个税号字符串,也即每个参考字符串对应于每个企业抬头中的税号字符串。由于对不同类型的字符串进行校准的过程相似,为简化描述,本技术仅以税号字符串为例子进行具体阐述。
34.其中,由于每个参考字符串分别与待校准字符串进行相似度检测的过程相同,为简化描述,本技术仅以任意一个参考字符串为例子进行具体阐述。任意一个参考字符串对应于企业抬头列表中的任意一个企业抬头。
35.在一个实施例中,将参考字符串与待校准字符串进行相似度检测,得到相应参考字符串的检测结果,包括:获取初始结果,并确定参考字符串中的当前参考字符和待校准字符串中的当前待校准字符;将当前参考字符与当前待校准字符进行相似度检测,得到当前参考字符的第一子结果;根据第一子结果,确定当前参考字符的检测子结果;进入下一轮的字符相似度检测,确定新的当前参考字符、新的当前待校准字符和新的初始结果,返回至将当前参考字符与当前待校准字符进行相似度检测的步骤继续执行,直至得到参考字符串中的最后一个参考字符的检测子结果;将最后一个参考字符的检测子结果作为参考字符串对应的检测结果。
36.其中,初始结果为参考字符串中的与当前参考字符紧邻的上一参考字符的检测子结果;当前参考字符为参考字符串的首位字符时,可将初始结果设为零;第一子结果表征一种当前参考字符的相似度分值si与预设的相似度阈值100之间的差异关系,例如第一子结果为。
37.具体地,由于参考字符串与待校准字符串进行相似度检测是一种针对每个字符分别进行相似度检测的过程,因此,计算机设备需要确定参考字符串中的当前参考字符和待校准字符串中的当前待校准字符。如图4所示,图4为一种字符串对比的结构示意图,若当前待校准字符为待校准字符串st0中的2号字符1时,当前参考字符则为参考字符串st1中的2
号字符l,进而计算机设备可将当前参考字符与当前待校准字符进行相似度检测,得到当前参考字符的第一子结果为。
38.在一个实施例中,根据第一子结果,确定当前参考字符的检测子结果,包括:若第一子结果表征当前参考字符与当前待校准字符之间相似时,将初始结果和第一子结果进行叠加,得到当前参考字符的检测子结果。
39.具体地,若相似度分值si与预设的相似度阈值100之间的差异小于等于预设差异值,可表征当前参考字符与当前待校准字符之间相似,例如,预设差异值为25,相似度分值s2为95时,表征2号参考字符与2号待校准字符相似。此时的初始结果为1号参考字符对应的检测子结果,也即,因此,计算机设备将初始结果和第一子结果进行叠加后,得到当前参考字符的检测子结果为。
40.进一步地,确定新的当前参考字符、新的当前待校准字符和新的初始结果,返回至将当前参考字符与当前待校准字符进行相似度检测的步骤继续执行,包括:确定参考字符串中的下一个参考字符和待校准字符串中的下一个待校准字符,并将下一个参考字符作为新的当前参考字符、将下一个待校准字符作为新的当前待校准字符、将当前参考字符的检测子结果作为新的初始结果;返回至将当前参考字符与当前待校准字符进行相似度检测的步骤继续执行。
41.具体地,若第一子结果表征当前参考字符与当前待校准字符之间相似时,参考上述举例,计算机设备将2号参考字符紧邻的3号参考字符4作为新的当前参考字符、将2号待校准字符紧邻的3号待校准字符a作为新的当前待校准字符、将2号参考字符的检测子结果作为新的初始结果,继续将当前参考字符与当前待校准字符进行相似度检测,得到3号参考字符的第一子结果为。综上表述,若当前参考字符为参考字符串中的i号字符时,对应的检测子结果为,也即将每一个参考字符的第一子结果进行不断叠加的过程,直至叠加到参考字符串中的n号字符,也即最后一个参考字符,因此,n号字符的检测子结果则为参考字符串对应的检测结果。
42.本实施例中,通过在确定出参考字符串中的当前参考字符和待校准字符串中的当前待校准字符后,便可对当前参考字符与当前待校准字符进行相似度检测,得到当前参考字符的第一子结果,实现了将每个参考字符的第一子结果进行不断叠加,最终可以准确得到参考字符串对应的检测结果。同时,由于每个参考字符的检测子结果均与上一参考字符的检测子结果相关联,如此可以准确得到当前参考字符与当前待校准字符之间的相似度分值。
43.容易理解的,本技术中针对待校准字符串为税号字符串时的举例,税号字符串中仅包括12个字符,而实际上税号通常由15位、17位、18或者20位码组成,且不同位置的字符代表着地区代码、经济性质代码和行业代码等信息,为简化表述,本技术税号字符串中包括的12个字符仅作为一种举例,并不代表实际的税号含义。
44.在一个实施例中,计算机设备在将参考字符串与待校准字符串进行相似度检测之前,还需要判断参考字符串的初始字符数量与待校准字符串的初始字符数量是否相等;若不相等,则在初始字符数量较少的字符串的尾部添加空字符,直至与初始字符数量较多的
字符串中的字符数量相等,得到带有相同候选字符数量的参考字符串和待校准数据。
45.本实施例中,通过在参考字符串或待校准字符串中添加空字符,确保在将当前参考字符和对应的当前待校准字符进行相似度检测的准确性。
46.步骤206,根据每个参考字符串各自对应的检测结果和预设的检测阈值,从多个参考字符串中筛选出目标参考字符串。
47.在一个实施例中,在得到相应参考字符串的检测结果之后还包括:分别将每个参考字符串和待校准字符串的尾部中带有相同数量的空字符进行删除,得到每个新的参考字符串和新的待校准字符串;确定每个新的参考字符串中的目标字符数量。
48.其中,由于在对将当前参考字符与当前待校准字符进行相似度检测之后,可能涉及分别对参考字符串和待校准字符串进行更新的过程,也即参考字符串和待校准字符串中的部分字符会发生位置移动,从而出现带有空字符的情况。因此,为确保后续能对多个参考字符串进行准确筛选,需要将每个参考字符串和待校准字符串的尾部中带有相同数量的空字符进行删除。
49.在一个实施例中,根据每个参考字符串各自对应的检测结果和预设的检测阈值,从多个参考字符串中筛选出目标参考字符串,包括:根据每个参考字符串各自对应的检测结果和目标字符数量,分别确定每个参考字符串各自对应的检测数值;将小于预设的检测阈值的检测数值所对应的参考字符串筛选为候选参考字符串;将检测数值最小的候选参考字符串作为目标参考字符串。
50.其中,检测数值包括方差数值和均方差数值中的至少一种;检测阈值包括方差阈值和均方差阈值中的至少一种。
51.具体地,确定每个参考字符串各自对应的检测数值可采用以下方式:确定每个参考字符串各自对应的检测数值可采用以下方式:其中,t为参考字符串对应的检测结果,n为参考字符串对应的目标字符数量,d为方差数值,为均方差数值。计算机设备获取预设的检测阈值,并判断检测阈值分别与每个参考字符串各自对应的检测数值之间的大小,并将检测数值小于检测阈值的参考字符串筛选为候选参考字符串,并将检测数值最小的候选参考字符串作为目标参考字符串。
52.容易理解的,当参考字符串与待校准字符串完全相同时,方差数值或均方差数值则为0,也即方差数值或均方差数值越大,参考字符串与待校准字符串之间的相似度越低。
53.在一个实施例中,若检测数值最小的候选参考字符串包括多条,可任意选择其中一条作为目标参考字符串。
54.在一个实施例中,计算机设备根据预设的相似度阈值、待校准字符串的字符数量和预设的特殊值,确定出检测阈值。其中,预设的特殊值可为零,此时表征待校准字符串中存在任意一个字符与参考字符串中的字符之间的相似度分值为0。例如,待校准字符串的字
符数量为18时,此时的检测阈值为:在一个实施例中,当对待校准发票数据中的税号字符串进行相似度检测后,得到的参考字符串各自对应的检测结果均大于等于预设的检测阈值,此时则停止对待校准发票数据中的其他字符串进行相似度检测的过程。
55.在一个实施例中,针对待校准发票数据中的企业名称字符串、税号字符串、地址字符串、开户行字符串等,可采用并行的方式将每种类型的字符串均与参考字符串进行相似度检测。
56.步骤208,通过目标参考字符串对待校准字符串进行校准,得到目标字符串。
57.具体地,计算机设备将待校准字符串校正成目标参考字符串,得到目标字符串,并从企业抬头列表中查找包含了目标参考字符串的目标企业抬头,从而将目标企业抬头所包括的其他字符串,对待校准发票数据进行校准。
58.在一个实施例中,当对待校准字符串为税号字符串时进行校准,得到目标字符串后,计算机设备还需要对地址字符串、开户行字符串等进行校准,具体实施过程与对税号字符串进行校准的过程相似,本技术不再赘述。
59.在一个实施例中,若计算机设备确定出地址字符串或开户行字符串等各自对应的检测数值大于等于检测阈值,且发票类型为增值专用发票时,此时确定该发票为异常发票。因此,无需对待校准发票数据中的地址字符串或开户行字符串等进行更新。此时则需要重新从企业抬头列表中确定其他企业抬头作为参考字符串。
60.在一个实施例中,当发票标记为异常发票时,可以提醒管理员重点关注该发票,或者触发阻止用户提交含有该发票的报销单的功能。
61.在一个实施例中,参考图3所示,当计算机设备中的字符偏差计算引擎在得到目标字符串时,便可得到待校准发票数据进行校准后的目标发票数据,也即用户提交的发票中的发票要素。发票解析控制器将从字符偏差计算引擎中得到的目标发票数据发送至单据管理设备中,使得单据管理设备完成对发票所对应的报销单的审核操作。
62.本实施例中,由于目标参考字符串是预先在企业抬头列表中配置好的数据,在对待校准字符串进行校准时不会引入新的字符串数据,因此提高了待校准字符串校准的准确性,也提升了用户提交需要审核的发票的便捷性。
63.上述发票数据校准方法中,通过获取待校准发票数据和发票抬头库数据,并确定待校准发票数据中的待校准字符串,对于发票抬头库数据中的每个参考字符串,均将参考字符串与待校准字符串进行相似度检测,得到相应参考字符串的检测结果,如此,便可根据每个参考字符串各自对应的检测结果和预设的检测阈值,从多个参考字符串中筛选出目标参考字符串,使得通过目标参考字符串对待校准字符串进行校准,得到目标字符串。由于本技术是在先筛选出目标参考字符串之后,再对待校准字符串进行校准,因此,相比于传统的采用第三方的发票查验接口来进行验证的方式,本技术可实时地对每个待校准字符串进行相似度检测,并得到校准后的目标字符串,提高了发票数据校准的准确性。
64.在一个实施例中,将当前参考字符与当前待校准字符进行相似度检测,得到当前参考字符的第一子结果,包括:判断当前参考字符与当前待校准字符是否相同;若相同,则确定当前参考字符与当前待校准字符之间的相似度分值为预设第一分值;根据预设第一分值和预设的相似度阈值之间的差异,得到当前参考字符对应的第一子结果。
65.具体地,参考图4所示,若当前参考字符为1号参考字符9,当前待校准字符为1号待校准字符9时,计算机设备确定当前参考字符与当前待校准字符相同,则将当前参考字符与当前待校准字符之间的相似度分值s1设为100,也即预设第一分值。计算机设备确定预设第一分值和预设的相似度阈值之间的差异,也即确定出,得到当前参考字符对应的第一子结果为0。
66.在一个实施例中,上述方法还包括:若不相同,则获取当前待校准字符对应的相似字符列表;从至少一个相似字符中查找出与当前参考字符相同的目标相似字符;根据目标相似字符对应的相似度分值和相似度阈值之间的差异,得到当前参考字符对应的第一子结果。
67.其中,相似字符列表包括至少一个相似字符、以及每个相似字符各自对应的相似度分值;相似字符列表通过系统预先配置后得到,如图5所示,图5为相似字符列表中的相似字符的示意图。
68.具体地,参考图4所示,若当前参考字符为2号参考字符l,当前待校准字符为2号待校准字符1时,计算机设备确定当前参考字符与当前待校准字符不相同,则获取当前待校准字符对应的相似字符列表。计算机设备从2号待校准字符对应的相似字符列表中,查找出与当前参考字符相同的目标相似字符l,并确定目标相似字符l对应的相似度分值为95。因此,计算机设备根据相似度分值和预设的相似度阈值之间的差异,也即确定出,得到当前参考字符对应的第一子结果为25。容易理解的,当前参考字符对应的第一子结果越小,当前参考字符与当前待校准字符之间的相似度越高。
69.在一个实施例中,相似字符列表存储在字形相似库中,字形相似库中的数据可以通过对国标汉字编码字符集中的常用汉字进行梳理录入后得到,也可通过对发票抬头库中相关的汉字和符号进行梳理录入后得到。
70.在一个实施例中,字形相似库可为一种关系型数据库管理系统、或用作数据库、缓存和消息中间件的数据结构存储系统。
71.本实施例中,通过判断当前参考字符与当前待校准字符是否相同,并在相同时直接确定出预设第一分值和预设的相似度阈值之间的差异,在不相同时获取相似字符列表,进而根据相似字符列表中的目标相似字符的相似度分值,来确定当前参考字符对应的第一子结果,如此为对当前参考字符与当前待校准字符进行相似度检测提供了多种检测方案,提高了相似度检测的灵活性。
72.在一个实施例中,如图6所示,根据第一子结果,确定当前参考字符的检测子结果,包括以下步骤:步骤602,若第一子结果表征当前参考字符与当前待校准字符之间不相似时,获取当前待校准字符对应的第一拆字列表。
73.其中,计算机设备在确定出当前参考字符与当前待校准字符并不相同,且从当前
待校准字符对应的相似字符列表中,并未查找出与当前参考字符相同的目标相似字符时,可表征当前参考字符与当前待校准字符之间不相似。
74.具体地,参考图4所示,若当前参考字符为4号参考字符1,当前待校准字符为4号待校准字符b时,表征4号参考字符和4号待校准字符不相似,此时计算机设备需要获取当前待校准字符对应的第一拆字列表。其中,第一拆字列表包括两个拆字字符,第一拆字列表为字形拆字库中的任意一个拆字列表,字形拆字库通过系统预先配置后得到,如图7所示,图7为拆字列表中的拆字字符的示意图。
75.在一个实施例中,第一拆字列表存储在字形拆字库中,字形拆字库中的数据可以通过对国标汉字编码字符集中的常用汉字进行梳理录入后得到,也可通过对发票抬头库中相关的汉字和符号进行梳理录入后得到。
76.在一个实施例中,字形拆字库可为一种关系型数据库管理系统、或用作数据库、缓存和消息中间件的数据结构存储系统。
77.步骤604,根据第一拆字列表,将当前参考字符与当前待校准字符进行相似度检测,得到当前参考字符的第二子结果。
78.在一个实施例中,根据第一拆字列表,将当前参考字符与当前待校准字符进行相似度检测,得到当前参考字符的第二子结果,包括:确定当前参考字符为字符m
(i)
、当前待校准字符为字符l
(i)
;确定第一拆字列表中的第一拆字字符和第二拆字字符;判断第一拆字字符是否与字符m
(i)
相同、第二拆字字符是否与字符m
(i 1)
相同;若均相同,则获取字符m
(i)
与第一拆字字符之间的第二预设分值、字符m
(i 1)
与第二拆字字符之间的第三预设分值;根据第二预设分值、第三预设分值和预设的相似度阈值,得到字符m
(i)
的第二子结果。
79.其中,参考字符串中包括i号字符m
(i)
、待校准字符串中包括i号字符l
(i)
,i为正整数,i小于等于参考字符串的候选字符数量,或i小于等于待校准字符串的候选字符数量。其中,参考字符串的候选字符数量和待校准字符串的候选字符数量相同。
80.具体地,参考图4所示,计算机设备可将4号参考字符1作为字符m
(i)
,将4号待校准字符b作为字符l
(i)
,也即i=4,并确定当前待校准字符对应的第一拆字列表中的字符1为第一拆字字符,另一个字符3为第二拆字字符。计算机设备确定第一拆字字符与字符m
(i)
相同、且第二拆字字符与字符m
(i 1)
相同,此时可获取字符m
(i)
与第一拆字字符之间的第二预设分值、字符m
(i 1)
与第二拆字字符之间的第三预设分值。其中,第二预设分值和第三预设分值通过系统预先设置得到,例如可均为99。计算机设备确定预设第二分值和预设的相似度阈值之间的第一差异,也即,并确定预设第三分值和预设的相似度阈值之间的第二差异,也即,进而将第一差异和第二差异进行叠加,得到字符m
(i)
的第二子结果为。
81.在一个实施例中,当第一拆字列表包括至少两个拆字字符时,计算机设备需要确定第一拆字列表中的多个拆字字符,例如3个,并确定每个拆字字符是否分别与字符m
(i)
、字符m
(i 1)
、字符m
(i 2)
相似。
82.在一个实施例中,上述方法还包括:当第一拆字字符与字符m
(i)
不相同或第二拆字字符与字符m
(i 1)
不相同时,停止将参考字符串与待校准字符串进行相似度检测的过程。此时表明初始选择的参考字符串st1与待校准字符串st0不相同,需要从发票抬头库中选择其
他企业抬头中的参考字符串st2与待校准字符串st0继续进行相似度检测。
83.步骤606,将初始结果和第二子结果进行叠加,得到当前参考字符的检测子结果。
84.其中,参考步骤204中将初始结果和第一子结果进行叠加,得到当前参考字符的检测子结果的具体实施过程,本实施例在确定初始结果为i-1号字符m
(i-1)
的检测子结果时,得到字符m
(i)
对应的检测子结果为。
85.在一个实施例中,计算机设备可将字符m
(i)
的检测子结果作为字符m
(i 1)
的检测子结果。
86.本实施例中,通过在当前参考字符与当前待校准字符之间不相似时,采用当前待校准字符对应的第一拆字列表,对当前参考字符与当前待校准字符进行相似度检测,因此,实现了对符合拆字结构的字符进行有针对性地检测,能够用于在发票数据的字符变形时,仍然能准确识别出当前待校准字符的场景,确保后续对待校准字符串进行校准。
87.在一个实施例中,如图8所示,若第一子结果表征当前参考字符与当前待校准字符之间不相似时,确定新的当前参考字符、新的当前待校准字符和新的初始结果,返回至将当前参考字符与当前待校准字符进行相似度检测的步骤继续执行,包括以下步骤:步骤802,对待校准字符串进行更新,得到更新后的待校准字符串,并确定更新后的待校准字符串中的当前更新校准字符。
88.在一个实施例中,对待校准字符串进行更新,得到更新后的待校准字符串,包括:将待校准字符串中i 1号字符l
(i 1)
至n号字符l
(n)
中的每个字符,均向待校准字符串的尾部移动一个字符位置,得到候选的待校准字符串;将参考字符串的尾部添加一个空字符;将字符m
(i)
赋值给字符l
(i)
,得到新的字符l
(i)
,并将字符m
(i 1)
赋值给字符l
(i 1)
,得到新的字符l
(i 1)
;综合新的字符l
(i)
、新的字符l
(i 1)
和候选的待校准字符串,得到更新后的待校准字符串。
89.具体地,参考图4所示,针对字符l
(i)
对应于4号待校准字符b时,计算机设备将待校准字符串中i 1号字符l
(i 1)
至n号字符l
(n)
中的每个字符,也即待校准字符串st0中的字符串mrhvv9dr,均向待校准字符串的尾部移动一个字符位置,得到候选的待校准字符串为91ab[]mrhvv9dr。计算机设备将字符l
(i)
中的b进行删除,并将字符m
(i)
中的1赋值给字符l
(i)
、字符m
(i)
中的3赋值给字符l
(i 1)
,因此,可以得到更新后的待校准字符串st0(a1)为91a13mrhvv9dr。同时,计算机设备将参考字符串的尾部添加一个空字符,以确保和更新后的待校准字符串中的字符数量一致。
[0090]
进一步地,如图9 所示,图9为一种字符串更新后的结构示意图。计算机设备在确定出更新后的待校准字符串时,根据字符l
(i)
所对应的编号,也即i=4,确定出更新后的待校准字符串st0(a1)中的当前更新校准字符l
(i)
为1。
[0091]
步骤804,将参考字符串中与当前参考字符紧邻的下两个参考字符作为新的当前参考字符、将更新后的待校准字符串中的与当前更新校准字符紧邻的下两个更新校准字符作为新的当前待校准字符、将当前参考字符的检测子结果作为新的初始结果。
[0092]
具体地,参考图9所示,计算机设备可将与i=4号的参考字符紧邻的6号参考字符m作为新的当前参考字符、将与i=4号的当前更新校准字符紧邻的6号更新校准字符m作为新的当前待校准字符、将字符m
(i)
对应的检测子结果作为新的初始结果。其中,容易理解的,由
于字符m
(i)
的检测子结果和字符m
(i)
的检测子结果相同,也可将字符m
(i 1)
的检测子结果作为新的初始结果。
[0093]
步骤806,返回至将当前参考字符与当前待校准字符进行相似度检测的步骤继续执行。
[0094]
具体地,计算机设备继续将当前参考字符与当前待校准字符进行相似度检测,也即返回至步骤204中的具体实施过程,得到6号参考字符的第一子结果,由于当前参考字符与当前待校准字符均为m,此时的第一子结果为0。
[0095]
本实施例中,由于在采用第一拆字列表,对当前参考字符与当前待校准字符进行相似度检测后,需要通过对待校准字符串进行更新,才能确保更新后的待校准字符串中的字符与参考字符串中的字符处于对应状态,因此,从更新后的待校准字符串中确定出进行下一轮相似度检测的新的当前待校准字符,实现了对当前参考字符与当前待校准字符进行相似度检测的准确性。
[0096]
在一个实施例中,如图10所示,根据第一子结果,确定当前参考字符的检测子结果,还包括以下步骤:步骤1002,若第一子结果表征当前参考字符与当前待校准字符之间不相似时,获取当前参考字符对应的第二拆字列表。
[0097]
其中,第二拆字列表为字形拆字库中的任意一个拆字列表。
[0098]
步骤1004,根据第二拆字列表,将当前参考字符与当前待校准字符进行相似度检测,得到当前参考字符的第三子结果。
[0099]
在一个实施例中,根据第二拆字列表,将当前参考字符与当前待校准字符进行相似度检测,得到当前参考字符的第三子结果,包括:确定当前参考字符为字符m
(i)
、当前待校准字符为字符l
(i)
;确定第二拆字列表中的第三拆字字符和第四拆字字符判断第三拆字字符是否与字符l
(i)
相同、第四拆字字符是否与字符l
(i 1)
相同;若均相同,则获取字符m
(i)
与第二拆字列表之间的第四预设分值; 根据第三预设分值和预设的相似度阈值,得到字符m
(i)
的第三子结果。
[0100]
其中,参考字符串中包括i号字符m
(i)
、待校准字符串中包括i号字符l
(i)
,i为正整数,i小于等于参考字符串的候选字符数量,i小于等于待校准字符串的候选字符数量。其中,参考字符串的候选字符数量和待校准字符串的候选字符数量相同。
[0101]
具体地,参考图9所示,计算机设备可将参考字符串stl中的9号参考字符w作为字符m
(i)
,将更新后的待校准字符串st0(a1)中的9号更新校准字符v作为字符l
(i)
,也即i=9,并确定当前参考字符对应的第二拆字列表中的字符v为第三拆字字符,另一个字符v为第四拆字字符。计算机设备确定第三拆字字符与字符l
(i)
相同、且第四拆字字符与字符l
(i 1)
相同,此时可获取字符m
(i)
与第二拆字列表之间的第四预设分值。其中,第四预设分值通过系统预先设置得到,例如可均为99。计算机设备确定预设第四分值和预设的相似度阈值之间的差异,也即,得到字符m
(i)
的第三子结果。
[0102]
在一个实施例中,当第二拆字列表包括至少两个拆字字符时,计算机设备需要确定第二拆字列表中的多个拆字字符,例如3个,并确定每个拆字字符是否分别与字符l
(i)
、字符l
(i 1)
、字符l
(i 2)
相似。
[0103]
在一个实施例中,上述方法还包括:当第三拆字字符与字符l
(i)
不相同或第四拆字字符与字符l
(i 1)
不相同时,停止将参考字符串与待校准字符串进行相似度检测的过程。此时表明初始选择的参考字符串st1与更新后的待校准字符串st0(a1)不相同,需要从发票抬头库中选择其他企业抬头中的参考字符串st2与待校准字符串st0重新进行相似度检测。
[0104]
在一个实施例中,计算机设备确定第一子结果表征当前参考字符与当前待校准字符之间不相似时,可并行获取当前待校准字符对应的第一拆字列表和当前参考字符对应的第二拆字列表,如此可提高相似度检测的效率,减少了数据计算的时间。
[0105]
步骤1006,将初始结果和第三子结果进行叠加,得到当前参考字符的检测子结果。
[0106]
其中,参考步骤204中将初始结果和第一子结果进行叠加的具体实施过程,本实施例在确定初始结果为i-1号字符m
(i-1)
的检测子结果时,得到字符m
(i)
的检测子结果为。
[0107]
本实施例中,通过在当前参考字符与当前待校准字符之间不相似时,采用当前参考字符对应的第二拆字列表,对当前参考字符与当前待校准字符进行相似度检测,因此,实现了对符合拆字结构的字符进行有针对性地检测,能够用于在发票数据的字符变形时,仍然能准确识别出当前待校准字符的场景,确保后续对待校准字符串进行校准。
[0108]
在一个实施例中,如图11所示,若第一子结果表征当前参考字符与当前待校准字符之间不相似时,确定新的当前参考字符、新的当前待校准字符和新的初始结果,返回至将当前参考字符与当前待校准字符进行相似度检测的步骤继续执行,包括以下步骤:步骤1102,对待校准字符串进行更新,得到更新后的待校准字符串,并确定更新后的待校准字符串中的当前更新校准字符。
[0109]
在一个实施例中,对待校准字符串进行更新,得到更新后的待校准字符串,包括:将待校准字符串中i 2号字符l
(i 2)
至n号字符l
(n)
中的每个字符,均向待校准字符串的首部移动一个字符位置,并在待校准字符串的尾部添加一个空字符,得到候选的待校准字符串;将字符m
(i)
赋值给字符l
(i)
,得到新的字符l
(i)
,综合新的字符n
(i)
和候选的待校准字符串,得到更新后的待校准字符串。
[0110]
其中,当待校准字符串为待校准字符串st0(a1)时,更新后的待校准字符串则为st0(b),当待校准字符串为待校准字符串st0时,更新后的待校准字符串则为st0(a2),本实施例以得到st0(b)的过程进行举例说明。
[0111]
具体地,参考图9所示,针对字符l
(i)
对应于9号更新校准字符v时,计算机设备将字符l
(i)
中的v和字符l
(i 1)
中的v均进行删除,并将待校准字符串中i 2号字符l
(i 2)
至n号字符l
(n)
中的每个字符,也即待校准字符串st0(a1)中的字符串9dr,均向待校准字符串的首部移动一个字符位置,并在待校准字符串的尾部添加一个空字符,得到候选的待校准字符串为91a13mrh[]9dr[]。计算机设备将字符m
(i)
中的w赋值给字符l
(i)
,因此,可以得到更新后的待校准字符串st0(b)为91a13mrhw9dr[]。
[0112]
进一步地,如图12所示,图12为一种字符串更新后的结构示意图。计算机设备根据待校准字符串st0(a1)中的字符l
(i)
所对应的编号,也即i=9,确定出更新后的待校准字符串st0(b)中的当前更新校准字符l
(i)
为w。
[0113]
步骤1104,将参考字符串中与当前参考字符紧邻的下一个参考字符作为新的当前
参考字符、将更新后的待校准字符串中的与当前更新校准字符紧邻的下一个更新校准字符作为新的当前待校准字符、将当前参考字符的检测子结果作为新的初始结果。
[0114]
具体地,参考图12所示,计算机设备可将与i=9号的参考字符紧邻的10号参考字符9作为新的当前参考字符、将与i=9号的更新校准字符紧邻的10号更新校准字符9作为新的当前待校准字符、将字符m
(i)
对应的检测子结果作为新的初始结果。
[0115]
步骤1106,返回至将当前参考字符与当前待校准字符进行相似度检测的步骤继续执行。
[0116]
本实施例中,由于在采用第二拆字列表,对当前参考字符与当前待校准字符进行相似度检测后,需要通过对待校准字符串进行更新,才能确保更新后的待校准字符串中的字符与参考字符串中的字符处于对应状态,因此,从更新后的待校准字符串中确定出进行下一轮相似度检测的新的当前待校准字符,实现了对当前参考字符与当前待校准字符进行相似度检测的准确性。
[0117]
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0118]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的发票数据校准方法的发票数据校准装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个发票数据校准装置实施例中的具体限定可以参见上文中对于发票数据校准方法的限定,在此不再赘述。
[0119]
在一个实施例中,如图13所示,提供了一种发票数据校准装置1300,包括:数据获取模块1302、相似度检测模块1304和字符串确定模块1306,其中:数据获取模块1302,用于获取待校准发票数据和发票抬头库数据,并确定待校准发票数据中的待校准字符串;发票抬头库数据包括多个参考字符串。
[0120]
相似度检测模块1304,用于对于多个参考字符串中的每个参考字符串,将参考字符串与待校准字符串进行相似度检测,得到相应参考字符串的检测结果。
[0121]
字符串确定模块1306,用于根据每个参考字符串各自对应的检测结果和预设的检测阈值,从多个参考字符串中筛选出目标参考字符串;通过目标参考字符串对待校准字符串进行校准,得到目标字符串。
[0122]
在一个实施例中,相似度检测模块1304,用于获取初始结果,并确定参考字符串中的当前参考字符和待校准字符串中的当前待校准字符;将当前参考字符与当前待校准字符进行相似度检测,得到当前参考字符的第一子结果;根据第一子结果,确定当前参考字符的检测子结果;进入下一轮的字符相似度检测,确定新的当前参考字符、新的当前待校准字符和新的初始结果,返回至将当前参考字符与当前待校准字符进行相似度检测的步骤继续执行,直至得到参考字符串中的最后一个参考字符的检测子结果;将最后一个参考字符的检测子结果作为参考字符串对应的检测结果。
[0123]
在一个实施例中,相似度检测模块1304还包括第一子结果模块1304a,用于判断当前参考字符与当前待校准字符是否相同;若相同,则确定当前参考字符与当前待校准字符之间的相似度分值为预设第一分值;根据预设第一分值和预设的相似度阈值之间的差异,得到当前参考字符对应的第一子结果。
[0124]
在一个实施例中,第一子结果模块1304a,用于若不相同,则获取当前待校准字符对应的相似字符列表;相似字符列表包括至少一个相似字符、以及每个相似字符各自对应的相似度分值;从至少一个相似字符中查找出与当前参考字符相同的目标相似字符;根据目标相似字符对应的相似度分值和相似度阈值之间的差异,得到当前参考字符对应的第一子结果。
[0125]
在一个实施例中,相似度检测模块1304还包括第二子结果模块1304b,用于若第一子结果表征当前参考字符与当前待校准字符之间不相似时,获取当前待校准字符对应的第一拆字列表;根据第一拆字列表,将当前参考字符与当前待校准字符进行相似度检测,得到当前参考字符的第二子结果;将初始结果和第二子结果进行叠加,得到当前参考字符的检测子结果。
[0126]
在一个实施例中,第二子结果模块1304b,还用于根据第一拆字列表,将当前参考字符与当前待校准字符进行相似度检测,得到当前参考字符的第二子结果包括:确定当前参考字符为字符m
(i)
、当前待校准字符为字符l
(i)
; 确定第一拆字列表中的第一拆字字符和第二拆字字符;判断第一拆字字符是否与字符m
(i)
相同、第二拆字字符是否与字符m
(i 1)
相同;若均相同,则获取字符m
(i)
与第一拆字字符之间的第二预设分值、字符m
(i 1)
与第二拆字字符之间的第三预设分值;根据第二预设分值、第三预设分值和预设的相似度阈值,得到字符m
(i)
的第二子结果。
[0127]
在一个实施例中,相似度检测模块1304还包括更新模块1304c,用于将待校准字符串中i 1号字符l
(i 1)
至n号字符l
(n)
中的每个字符,均向待校准字符串的尾部移动一个字符位置,得到候选的待校准字符串;将参考字符串的尾部添加一个空字符;将字符m
(i)
赋值给字符l
(i)
,得到新的字符l
(i)
,并将字符m
(i 1)
赋值给字符l
(i 1)
,得到新的字符l
(i 1)
;综合新的字符l
(i)
、新的字符l
(i 1)
和候选的待校准字符串,得到更新后的待校准字符串。
[0128]
在一个实施例中,相似度检测模块1304包括第三子结果模块1304d,用于若第一子结果表征当前参考字符与当前待校准字符之间不相似时,获取当前参考字符对应的第二拆字列表;根据第二拆字列表,将当前参考字符与当前待校准字符进行相似度检测,得到当前参考字符的第三子结果;将初始结果和第三子结果进行叠加,得到当前参考字符的检测子结果。
[0129]
在一个实施例中,第三子结果模块1304d,还用于根据第二拆字列表,将当前参考字符与当前待校准字符进行相似度检测,得到当前参考字符的第三子结果,包括:确定当前参考字符为字符m
(i)
、当前待校准字符为字符l
(i)
;确定第二拆字列表中的第三拆字字符和第四拆字字符;判断第三拆字字符是否与字符l
(i)
相同、第四拆字字符是否与字符l
(i 1)
相同;若均相同,则获取字符m
(i)
与第二拆字列表之间的第四预设分值; 根据第三预设分值和预设的相似度阈值,得到字符m
(i)
的第三子结果。
[0130]
在一个实施例中,更新模块1304c还用于将待校准字符串中i 2号字符l
(i 2)
至n号字符l
(n)
中的每个字符,均向待校准字符串的首部移动一个字符位置,并在待校准字符串的
尾部添加一个空字符,得到候选的待校准字符串;将字符m
(i)
赋值给字符l
(i)
,得到新的字符l
(i)
,综合新的字符n
(i)
和候选的待校准字符串,得到更新后的待校准字符串。
[0131]
在一个实施例中,字符串确定模块1306,还用于根据每个参考字符串各自对应的检测结果和目标字符数量,分别确定每个参考字符串各自对应的检测数值;将小于预设的检测阈值的检测数值所对应的参考字符串筛选为候选参考字符串;将检测数值最小的候选参考字符串作为目标参考字符串。
[0132]
上述发票数据校准装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0133]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图14所示。该计算机设备包括处理器、存储器、输入/输出接口(input/output,简称i/o)、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种发票数据校准方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0134]
本领域技术人员可以理解,图14中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0135]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0136]
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0137]
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
[0138]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,
rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0139]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0140]
以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献