一种票据识别纠错方法及装置与流程

文档序号:12178042阅读:418来源:国知局

技术领域
:本发明涉及票据识别纠错
技术领域
:,具体地,涉及一种票据识别纠错方法及装置。
背景技术
::2016年全国范围内全面推开营业税改增值税改革试点,消除重复征税,降低企业税负成本。实行“营改增”后,企业可用取得的增值税专用发票的进项税额抵扣销项税额。为了在企业财务系统或ERP系统里计算税额,企业需要把进项发票录入系统,人工工作量很大。使用光学字符识别(OCR)技术配合扫描仪可以自动识别纸质增值税发票等票据,并自动将数据传入企业信息系统,降低了人工工作量。但是OCR识别率无法达到100%,识别率受限于票据印刷质量与清洁程度,以及扫描仪硬件性能和识别软件算法。现有OCR算法依据票据的表格样式把票据切割成一段段孤立的字符串,对每个单元格的文本使用深度学习算法识别。OCR装置不与ERP系统交互,除非将识别结果以格式化数据如XML文档的形式发送给ERP系统,则OCR装置不能使用ERP系统的持久化数据来纠正识别错误。同时,ERP系统接收到的结构化识别结果的每个字段只有一个确定值,而非一组候选值,ERP系统亦不能依据持久化数据和纠错历史来选择恰当的候选值。CN103927352A提供一种利用知识库海量关联信息的中文名片OCR数据修正系统,包括图像采集模块、图像标准化处理模块、字块提取模块、OCR模块、知识库模块、数据修正模块、增量维护模块、结果展示模块。发明重点在于对OCR模块的识别结果,首先进行信息结构化处理来为待修正数据打上标签,然后利用知识库模块的海量关联信息,结合中文分词、基于知识库的重要度加权、基于文本和图像的相似度比较、信息融合等一系列技术来对地址、单位名称关联信息进行修正以提升正确率;最后,将修正后的OCR结果进行输出展示。同时,系统的增量维护模块以半自动方式来对知识库进行信息维护,从而适应信息量不断增长的需求,虽然和本发明都使用数据的关联性来修正OCR识别错误,但本发明适用于票据等多属性的结构化数据,使用多个属性交叉匹配的算法,复杂度低且速度快。技术实现要素:本发明的目的在于,针对上述问题,提出一种票据识别纠错方法及装置,以实现利用票据各字段的语义和上下文的联系,结合ERP系统存储的档案,对票据识别结构进行交叉校验,纠正识别错误,提高准确率的优点。为实现上述目的,本发明采用的技术方案是:一种票据识别纠错方法,主要包括:步骤1:OCR系统识别到的票据进入ERP系统;步骤2:进行文本预处理,票据文本与纠错历史中的生效数据匹配,匹配成功则执行步骤3,步骤3:比较识别到的票据的指定位置的一组文本与数据库存储的档案的编码、名称、属性,修正文本,记录纠错历史,在循环纠错的情况下,标记纠错历史的生效状态,使循环纠错记录失效但不删除;步骤4:预先对特定种类的票据定义数值的等式关系,自动修正票据的错误数值;步骤5:票据最终存储为ERP系统的电子票据。进一步地,步骤3具体为,对于票据识别出的档案编码code、名称name、属性1attr1、属性2attr2,从数据库查出所有可能匹配的档案,如果查到档案,则按4项匹配、3项匹配、2项匹配的顺序遍历查询结果,如果匹配成功,则修正票据数据,同时生成一条纠错历史数据,如果纠错历史已有重复的有效记录或无效记录,则不处理;如果纠错历史有相反的记录,则标记为无效。进一步地,步骤4中,自动修正票据的错误数值,包括:步骤41:标记所有数值为状态未知;步骤42:校验所有等式,如果成立,则等式用到的数值标记为正确,否则标记状态未知的数值为错误,记录错误数值个数;步骤43:如果错误数值个数不为零,则查找只有一个错误数值的等式,计算出正确值,并标记数值为正确,修改错误数值个数;步骤44:重复步骤3,直到错误数值个数不变;步骤45:如果错误数值个数为零,则数值修正完成,否则后续人工处理。进一步地,步骤4中对特定种类的票据定义数值的等式关系,包括对增值税专用发票定义数值的等式关系,具体为:pi×ni=mi;mi×ri=ti;∑mi=M;∑ti=T;M+T=L;p1~pn为单价,n1~nn为数量,m1~mn为金额,r1~rn为税率,t1~tn为税额,M为合计金额,T为合计税额,L为价税合若等式成立,则等式所用的数值全部是正确的,不考虑恰好两个或多个错误数据导致等式仍然成立的情况。票据识别纠错装置,包括文本预处理模块、文本纠错模块、数值纠错模块和纠错历史记录模块,所述文本预处理模块对文本进行预处理,包括票据文本与纠错历史记录模块中的生效数据匹配,匹配成功则执行修正;所述文本纠错模块对于票据识别出的档案编码code、名称name、属性1attr1和属性2attr2,从数据库查出所有可能匹配的档案,如果查到档案,则遍历查询结果,如果匹配成功,则修正票据数据,同时生成一条纠错历史数据,如果纠错历史已有重复的有效记录或无效记录,则不处理;如果纠错历史有相反的记录,则标记为无效;所述数值纠错模块,预先对特定种类的票据定义数值的等式关系,并自动修正票据的错误数值。本发明各实施例的一种票据识别纠错方法及装置,由于主要包括:进行文本预处理,票据文本与纠错历史中的生效数据匹配,匹配成功则比较识别到的票据的指定位置的一组文本与数据库存储的档案的编码、名称、属性,修正文本,记录纠错历史,在循环纠错的情况下,标记纠错历史的生效状态,使循环纠错记录失效但不删除;预先对特定种类的票据定义数值的等式关系,自动修正票据的错误数值;即利用利用票据各字段的语义和上下文的联系,结合ERP系统存储的档案,对票据识别结构进行交叉校验,纠正识别错误,提高准确率。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。附图说明附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:图1为本发明实施例所述的一种票据识别纠错方法及装置的工作原理图。具体实施方式以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。具体地,一种票据识别纠错方法,主要包括:步骤1:OCR系统识别到的票据进入ERP系统;步骤2:进行文本预处理,票据文本与纠错历史中的生效数据匹配,匹配成功则执行步骤3,步骤3:比较识别到的票据的指定位置的一组文本与数据库存储的档案的编码、名称、属性,修正文本,记录纠错历史,在循环纠错的情况下,标记纠错历史的生效状态,使循环纠错记录失效但不删除;步骤4:预先对特定种类的票据定义数值的等式关系,自动修正票据的错误数值;步骤5:票据最终存储为ERP系统的电子票据。步骤3具体为,对于票据识别出的档案编码code、名称name、属性1attr1、属性2attr2,从数据库查出所有可能匹配的档案,如果查到档案,则按4项匹配、3项匹配、2项匹配的顺序遍历查询结果,如果匹配成功,则修正票据数据,同时生成一条纠错历史数据,如果纠错历史已有重复的有效记录或无效记录,则不处理;如果纠错历史有相反的记录,则标记为无效。步骤4中,自动修正票据的错误数值,包括:步骤41:标记所有数值为状态未知;步骤42:校验所有等式,如果成立,则等式用到的数值标记为正确,否则标记状态未知的数值为错误,记录错误数值个数;步骤43:如果错误数值个数不为零,则查找只有一个错误数值的等式,计算出正确值,并标记数值为正确,修改错误数值个数;步骤44:重复步骤3,直到错误数值个数不变;步骤45:如果错误数值个数为零,则数值修正完成,否则后续人工处理。步骤4中对特定种类的票据定义数值的等式关系,包括对增值税专用发票定义数值的等式关系,具体为:pi×ni=mi;mi×ri=ti;∑mi=M;∑ti=T;M+T=L;p1~pn为单价,n1~nn为数量,m1~mn为金额,r1~rn为税率,t1~tn为税额,M为合计金额,T为合计税额,L为价税合若等式成立,则等式所用的数值全部是正确的,不考虑恰好两个或多个错误数据导致等式仍然成立的情况。票据识别纠错装置,包括文本预处理模块、文本纠错模块、数值纠错模块和纠错历史记录模块,所述文本预处理模块对文本进行预处理,包括票据文本与纠错历史记录模块中的生效数据匹配,匹配成功则执行修正;所述文本纠错模块对于票据识别出的档案编码code、名称name、属性1attr1和属性2attr2,从数据库查出所有可能匹配的档案,如果查到档案,则遍历查询结果,如果匹配成功,则修正票据数据,同时生成一条纠错历史数据,如果纠错历史已有重复的有效记录或无效记录,则不处理;如果纠错历史有相反的记录,则标记为无效;所述数值纠错模块,预先对特定种类的票据定义数值的等式关系,并自动修正票据的错误数值。本发明适用于对光学字符识别的票据,根据票据内容的语义,自动纠正错误内容,提高票据识别正确率。利用票据各字段的语义和上下文的联系,结合ERP系统存储的档案,对票据识别结构进行交叉校验,纠正识别错误,提高准确率。文本类数据票据识别出四行文本,对应ERP系统中的档案D的编码(code)、名称(name)、属性1(attr1)、属性2(attr2)。档案编码是唯一的;考虑实用场景(如企事业单位名称),认为名称也具有唯一性;属性包括企事业单位的地址、电话、法人代表等,存在重复的可能性。档案的编码、名称、属性具有特点:对变化敏感。名称相似但不同的两个档案,编码和属性往往有很大差异,例如,“用友网络科技股份有限公司北京分公司”和“用友网络科技股份有限公司南京分公司”,名称只差一字,办公地址、电话、银行账号却完全不同。本装置假定现实中不存在编码、名称、各属性有两个以上重复的档案。在不存在编码、名称、各属性同时重复的档案的前提下,若识别到的档案的编码、名称、属性1、属性2中的2个或3个元素与ERP系统事先录入的档案相同,则认为是同一个档案,并自动修改剩余的1~2个元素。数值类数据票据上的数值之间存在运算关系。以增值税专用发票为例,票面数值类数据有:单价p1~pn,数量n1~nn,金额m1~mn,税率r1~rn,税额t1~tn,合计金额M,合计税额T,价税合计(小写)L存在等式:1)pi×ni=mi2)mi×ri=ti3)∑mi=M4)∑ti=T5)M+T=L若等式成立,则等式所用的数值全部是正确的,不考虑恰好两个或多个错误数据导致等式仍然成立的情况。自动化纠错步骤:1)标记所有数值为状态未知;2)校验所有等式,如果成立,则等式用到的数值标记为正确,否则标记状态未知的数值为错误,记录错误数值个数;3)如果错误数值个数不为零,则查找只有一个错误数值的等式,计算出正确值,并标记数值为正确,修改错误数值个数;4)重复步骤3,直到错误数值个数不变;5)如果错误数值个数为零,则数值修正完成,否则后续需要人工处理。结合图1,文本纠错模块比较识别到的票据的指定位置的一组文本与数据库存储的档案的编码、名称、属性,除了修正文本,还记录纠错历史,考虑到存在循环纠错(文本1识别成文本2,文本2识别成文本1)的情况,需要标记纠错历史的生效状态,使循环纠错记录失效但不删除。运行流程OCR识别到的票据进入ERP系统,按如下步骤处理:文本预处理票据文本与纠错历史中的生效数据匹配,匹配成功则执行修正。文本纠错对于票据识别出的档案编码(code)、名称(name)、属性1(attr1)、属性2(attr2),从数据库查出所有可能匹配的档案:select*fromtablewherecode=’code’orname=’name’orattr1=’attr1’orattr2=’attr2’如果查到档案,则按4项匹配、3项匹配、2项匹配的顺序遍历查询结果,如果匹配成功,则修正票据数据,同时生成一条纠错历史数据,如果纠错历史已有重复的有效记录或无效记录,则不处理;如果纠错历史有相反的记录,则标记为无效;否则插入一条纠错记录。数值纠错预先对特定种类的票据定义数值的等式关系。使用1.2描述的方法,自动修正票据的错误数值。票据最终存储为ERP系统的电子票据。至少可以达到以下有益效果:现有的提高OCR准确率的技术把票据的字段视为独立的文本,支持接入ERP系统但独立运行。而本装置利用了文本和数值的语义和关系,并结合ERP系统的数据,进一步提高识别准确率。最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1