CN107729058A - 一种自动解析增值税发票识别结果的方法 - Google Patents

一种自动解析增值税发票识别结果的方法 Download PDF

Info

Publication number
CN107729058A
CN107729058A CN201710985313.0A CN201710985313A CN107729058A CN 107729058 A CN107729058 A CN 107729058A CN 201710985313 A CN201710985313 A CN 201710985313A CN 107729058 A CN107729058 A CN 107729058A
Authority
CN
China
Prior art keywords
vat invoice
recognition result
parsing
invoice recognition
parsed
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.)
Granted
Application number
CN201710985313.0A
Other languages
English (en)
Other versions
CN107729058B (zh
Inventor
王仕秒
岳永胜
李波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201710985313.0A priority Critical patent/CN107729058B/zh
Publication of CN107729058A publication Critical patent/CN107729058A/zh
Application granted granted Critical
Publication of CN107729058B publication Critical patent/CN107729058B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07DHANDLING OF COINS OR VALUABLE PAPERS, e.g. TESTING, SORTING BY DENOMINATIONS, COUNTING, DISPENSING, CHANGING OR DEPOSITING
    • G07D7/00Testing specially adapted to determine the identity or genuineness of valuable papers or for segregating those which are unacceptable, e.g. banknotes that are alien to a currency
    • G07D7/20Testing patterns thereon

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Character Input (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及计算机图像处理技术领域,公开了一种自动解析增值税发票识别结果的方法,解决现有技术中增值税发票识别结果解析效率低的问题。本发明采用轮询的方式下载和解析远程AI服务器上的增值税发票识别结果,单个轮询时间批量下载多个增值税发票识别结果;单个轮询时间内,以多线程的方式解析的增值税发票识别结果;上传源图像要素图集复用远程文件fastdfs服务器连接;针对增值税发票中的要素信息,若要素信息包含明显异常值,则自动解析成正确值,若要素信息包含乱码值,则跳过现有业务使用人原手动纠偏。本发明适用于增值税发票识别结果解析处理。

Description

一种自动解析增值税发票识别结果的方法
技术领域
本发明涉及计算机图像处理技术领域,特别涉及一种自动解析增值税发票识别结果的方法。
背景技术
现有的解析增值税发票识别结果的方法自项目上线使用以来,主要存在以下的缺陷:
(1)、解析速度较慢,通常解析一张增值税发票识别结果平均需要1分钟以上;
(2)、解析容错率较低,准确率达不到用户既定目标,订单能成功地由OCR节点到要素纠偏节点的数据较少;
(3)、后台程序采用单线程方式进行,受服务器网络通讯和内存影响,每次仅能解析一张图像的识别结果;
(4)、下载和解析的定时任务轮询时间每分钟执行一次,其中大部分时间处于空闲状态,增加了订单解析的时间,订单很容易超时。
基于以上缺陷的存在,对原有的解析方式做了技术分析,产生以上缺陷的原因如下:
单线程串行处理:目前解析增值税发票识别结果的方式是一次仅处理一个,串行操作,应当进行并行操作
轮询时间过长:目前单次处理的轮询时间以每分钟为单位,在单位轮询时间内仅执行一次单线程操作,使得单位轮询时间内大部分时间为空闲状态
服务器连接未复用:每一张增值税发票识别结果包含很多要素信息,针对每个要素均重复去获取服务器连接进行上传要素图
健壮性低:增值税发票识别结果中可能包含乱码值,针对这些乱码值得异常处理做的不全面,容错率较低,导致订单的解析很容易卡死。
发明内容
本发明要解决的技术问题是:提供一种自动解析增值税发票识别结果的方法,解决现有技术中增值税发票识别结果解析效率低的问题。
为解决上述问题,本发明采用的技术方案是:采用轮询的方式下载和解析远程AI服务器上的增值税发票识别结果,单个轮询时间批量下载多个增值税发票识别结果;单个轮询时间内,以多线程的方式解析增值税发票识别结果;上传源图像要素图集复用远程文件fastdfs服务器连接;针对增值税发票中的要素信息,若要素信息包含明显异常值,则自动解析成正确值,若要素信息包含乱码值,则跳过现有业务使用人原手动纠偏。
进一步的,进入单位轮询时间内,先判断上一个轮询时间是否释放所,如未释放则继续执行上一个轮询时间内的解析任务,如已释放则执行最新的解析任务。
进一步的,轮询的间隔为10s。
进一步的,多线程的解析增值税发票识别结果时,根据服务器当前CPU可用内核数作为多线程个数。
本发明的有益效果是:本发明对于图像识别结果的解析,采用动态多线程技术,批量处理识别结果;AI识别速度较快,定时任务轮询时间大幅降低,以最大限度减少订单累计等待时间,避免订单因累计等待时间而超时;极端情况下,在单位解析轮询时间之内,多线程批量处理票据未全部完成,等下一个解析轮询时间进来后,上一个解析轮询时间之内未完成的线程处理继续执行,本发明通过可重入锁来控制实现;对于图像识别结果xml文件采用DOM解析实现,结合opencv技术对图片进行拆分形成要素;日志的记录通过消息队列发送消息的方式来实现。因此,增值税发票图像识别速度显著提升,识别准确率大大的提高。在很短的时间内,均能从识别节点到要素纠偏节点,用户体验感显著提升,获得认可,更易于接受,在使用应用了该技术的项目后心情无比愉悦
附图说明
图1为实施例的流程图。
具体实施方式
1、首先介绍现有的解析增值税发票的流程。通过定时任务轮询访问服务器文件目录的方式实现自动下载和解析任务,下载任务在单位轮询时间内向远程服务器获取已识别的增值税发票结果(以xml文件方式体现),保存至指定目录,解析任务在单位轮询时间内遍历指定的下载目录,开始解析下载文件。单个轮询时间之内仅解析一个,根据解析得到发票要素坐标信息,分割源图像获取要素图像集,并上传到远程fastdfs文件服务器。以上便是整个解析流程,其关键流程如下:
(1)轮询下载增值税发票识别结果至处理服务器指定目录。
(2)轮询访问处理服务器识别结果下载目录,获取文件流。
(3)开始解析文件,输出发票要素坐标信息。
(4)根据要素坐标信息,以长和宽各扩增2倍值(保证要素图局部完整)确定要素局部区域,通过OpenCV剪切局部区域得到要素图像,并上传。
(5)记录解析日志。
2、在上述关键流程中,经分析有四处地方造成解析速度慢、解析准确度低,分别如下:
a.下载和解析单位轮询时间分别为1分钟,针对单张增值税发票的下载和解析,自动处理时间太长,长达3~5分钟。
b.在解析单位轮询时间内,仅能解析一张票据,绝大部分票据解析耗时稳定在10s以内,超过50s以上的时间处于空闲。
c.上传要素图集时未复用远程文件fastdfs服务器连接,导致每上传一张要素图均获取一次服务器连接,累计耗时太长。
d.对增值税发票识别结果中明显异常的字符串或者乱码,解析未做有效规避,造成准确率低。
针对以上所存在的问题,在不影响原有的解析流程下,分别采取了下面的技术方案来解决:
(1)下载轮询时间缩短至10s,单个轮询时间批量下载多个增值税发票识别结果
(2)通过现有的大量解析案例分析,得出解析单张增值税发票耗时基本稳定在5s左右,缩短解析轮询时间至10s,极端情况下,单个增值税发票解析耗时超过10s,采用可重入锁方式规避,进入单位轮询时间内,先判断上一个轮询时间是否释放所,如未释放则继续执行上一个轮询时间内的解析任务,如已释放则执行最新的解析任务
(3)单个轮询时间内,以多线程的方式解析,采取以空间换时间的做法提升解析性能,使达到高性能解析,动态获取服务器空闲CPU内核数作为单个轮询时间多线程个数,每个单位轮询时间内线程数可能不相同,实现了动态多线程解析技术
(4)上传源图像要素图集复用远程文件fastdfs服务器连接,获取要素图集之前创建fastdfs连接,获取要素图集之后,循环操作图像集用使用初始化的fastdfs连接上传,上传结束关闭连接,避免老方案中每个要素图上传均获取一次fastdfs连接,提升了解析效率。
(5)针对增值税发票中的要素信息,若要素信息包含明显异常值的自动解析成正确之,若要素信息包含乱码值则跳过现有业务使用人原手动纠偏,从而提升了准确率。
3、实施例
实施例提供一种自动解析增值税发票识别结果的方法,该方法在不影响增值税发票识别结果的正确解析流程情况下,能更迅速、更高效、更准确地解析增值税发票识别结果,通过对解析流程的优化,减小单个票据解析耗时、减小系统CPU开销、提升解析结果正确率,达到高性能自动解析学习识别增值税发票的目的。如图1所示,步骤如下:
第一步:将增值税发票识别结果在单位轮询时间批量下载到处理服务器,轮询间隔时间为10s。
第二部:解析任务单位轮询时间内,访问增值税发票识别结果目录,以动态多线程+可重入锁的方式批量解析。
第三步:针对单个线程,共享服务器连接,解析识别结果,得到要素坐标信息。所有线程都执行结束后,关闭服务器连接。
第四步:根据坐标信息分割源图像,获取到要素图集,并批量上传至远程服务器。
第五步:根据执行结果修改并保存票据集对应订单的状态,并记录日志,单次处理结束。
以上描述了本发明的基本原理和主要的特征,说明书的描述只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。

Claims (4)

1.一种自动解析增值税发票识别结果的方法,其特征在于,包括以下步骤:
采用轮询的方式下载和解析远程AI服务器上的增值税发票识别结果,单个轮询时间批量下载多个增值税发票识别结果;
单个轮询时间内,以多线程的方式解析增值税发票识别结果;
上传源图像要素图集复用远程文件fastdfs服务器连接;
针对增值税发票中的要素信息,若要素信息包含明显异常值,则自动解析成正确值,若要素信息包含乱码值,则跳过现有业务使用人原手动纠偏。
2.如权利要求1所述的一种自动解析增值税发票识别结果的方法,其特征在于,进入单位轮询时间内,先判断上一个轮询时间是否释放所,如未释放则继续执行上一个轮询时间内的解析任务,如已释放则执行最新的解析任务。
3.如权利要求1或2所述的一种自动解析增值税发票识别结果的方法,其特征在于,轮询的间隔为10s。
4.如权利要求1所述的一种自动解析增值税发票识别结果的方法,其特征在于,多线程解析的增值税发票识别结果时,根据服务器当前CPU可用内核数作为多线程个数。
CN201710985313.0A 2017-10-20 2017-10-20 一种自动解析增值税发票识别结果的方法 Active CN107729058B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710985313.0A CN107729058B (zh) 2017-10-20 2017-10-20 一种自动解析增值税发票识别结果的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710985313.0A CN107729058B (zh) 2017-10-20 2017-10-20 一种自动解析增值税发票识别结果的方法

Publications (2)

Publication Number Publication Date
CN107729058A true CN107729058A (zh) 2018-02-23
CN107729058B CN107729058B (zh) 2021-08-31

Family

ID=61213021

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710985313.0A Active CN107729058B (zh) 2017-10-20 2017-10-20 一种自动解析增值税发票识别结果的方法

Country Status (1)

Country Link
CN (1) CN107729058B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110969749A (zh) * 2019-12-13 2020-04-07 东信和平科技股份有限公司 一种身份识别装置及方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009386A1 (en) * 2001-03-23 2003-01-09 Menninger Anthony Frank System, method and computer program product for setting supplier site capacity and excluding supplier sites in a supply chain management framework
CN202916903U (zh) * 2012-05-02 2013-05-01 深圳长城开发科技股份有限公司 一种用于检测发票真伪的系统
CN103530932A (zh) * 2012-07-02 2014-01-22 航天信息股份有限公司 一种实时验证发票的真伪的系统和方法
CN103793990A (zh) * 2012-11-02 2014-05-14 航天信息股份有限公司 发票的验证方法和系统
CN104598634A (zh) * 2015-02-06 2015-05-06 浪潮集团有限公司 一种电子商务税源管理分析方法
CN105023340A (zh) * 2015-07-09 2015-11-04 胡昭 基于扫描仪的云智能发票识别查验系统及方法
CN105225152A (zh) * 2015-11-18 2016-01-06 中国电信股份有限公司南京分公司 一种电子化银行托收系统及其托收方法
CN105809854A (zh) * 2014-12-29 2016-07-27 航天信息股份有限公司 自动开票系统及其自动开票方法
CN106803305A (zh) * 2016-12-09 2017-06-06 国网北京市电力公司 发票识别装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009386A1 (en) * 2001-03-23 2003-01-09 Menninger Anthony Frank System, method and computer program product for setting supplier site capacity and excluding supplier sites in a supply chain management framework
CN202916903U (zh) * 2012-05-02 2013-05-01 深圳长城开发科技股份有限公司 一种用于检测发票真伪的系统
CN103530932A (zh) * 2012-07-02 2014-01-22 航天信息股份有限公司 一种实时验证发票的真伪的系统和方法
CN103793990A (zh) * 2012-11-02 2014-05-14 航天信息股份有限公司 发票的验证方法和系统
CN105809854A (zh) * 2014-12-29 2016-07-27 航天信息股份有限公司 自动开票系统及其自动开票方法
CN104598634A (zh) * 2015-02-06 2015-05-06 浪潮集团有限公司 一种电子商务税源管理分析方法
CN105023340A (zh) * 2015-07-09 2015-11-04 胡昭 基于扫描仪的云智能发票识别查验系统及方法
CN105225152A (zh) * 2015-11-18 2016-01-06 中国电信股份有限公司南京分公司 一种电子化银行托收系统及其托收方法
CN106803305A (zh) * 2016-12-09 2017-06-06 国网北京市电力公司 发票识别装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘伟: "电子发票校验与呈递系统的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110969749A (zh) * 2019-12-13 2020-04-07 东信和平科技股份有限公司 一种身份识别装置及方法

Also Published As

Publication number Publication date
CN107729058B (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
US20190324810A1 (en) Method, device and computer readable medium for scheduling dedicated processing resource
CN107392655B (zh) 优惠券推送方法、系统、存储介质、电子设备及分流方法
WO2019196278A1 (zh) 天气数据获取方法及装置、计算机装置及可读存储介质
CN109672888B (zh) 图片压缩方法、设备及计算机可读存储介质
CN105493095A (zh) 用于样本提交的自适应和递归过滤
WO2022048204A1 (zh) 图像生成方法、装置、电子设备及计算机可读存储介质
CN102521218B (zh) 文件合成方法及装置
CN104935951B (zh) 一种基于分布式的视频转码方法
CN111552838A (zh) 数据处理方法及装置、计算机设备、存储介质
CN106997394B (zh) 一种数据乱序到达处理方法和系统
CN108038093B (zh) Pdf文字提取方法和装置
CN107229517A (zh) 任务调度方法和装置
CN112422977A (zh) 音视频转码任务的分配方法和分配装置
DE60319753T2 (de) System und verfahren zur dynamisch optimierten nachrichtenverarbeitung
CN110879749B (zh) 一种实时转码任务的调度方法及调度装置
CN107729058A (zh) 一种自动解析增值税发票识别结果的方法
CN110852064B (zh) 关键句提取方法及装置
CN110516220B (zh) 一种报表数据录入方法、系统及相关设备
CN115576973B (zh) 一种业务部署方法、装置、计算机设备和可读存储介质
CN106293862B (zh) 一种可扩展标记语言xml数据的解析方法和装置
CN116204428A (zh) 一种测试用例生成方法和装置
DE112017008131T5 (de) Phasenregelschleifen-Umschaltung in einem Kommunikationssystem
CN110895563A (zh) 一种文本检索方法及装置
CN116227778B (zh) 运行商品销售平台的网络app管理系统及方法
US11907188B2 (en) Method, device, and program product for managing data pattern

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