APP下载

基于深度学习的财务发票识别系统

2023-08-02苗小爱

电脑知识与技术 2023年17期
关键词:发票文本智能

苗小爱

(青岛酒店管理职业技术学院,山东青岛 266100)

0 引言

企业办公信息化是构成工业物联网[1]至关重要的步骤。很多大中型企业已经实现了信息化办公。发票作为报销凭据,能够实现智能识别并且在接入企业办公的物联网中具有非常重要的作用。移动设备办公能方便业务人员随时随地处理业务。

基于深度学习的OCR识别技术,在其规模化应用方面具有许多潜在优势。目前,通用场景OCR技术已十分成熟,发票类识别技术已经广泛应用各大企业办公系统中。但随着技术的发展以及发票数据的复杂性,研究新型智能发票识别[2]势在必行。

目前,标准导出的发票识别良好,但是对于拍照后有损失的发票识别效果较差。本文为了更符合真实场景,在树莓派设备上进行试验,将验证算法在移动设备上的进行验证,基于分割和识别算法对发票图像[3]进行文本识别、信息化管理等工作。

1 基于深度学习的发票识别技术

本节设计了一种应用于移动端拍照和PDF 发票识别的算法模型。利用深度学习技术对发票进行识别,主要涉及的技术模块有数据预处理、数据增强、文本分割、文本识别和后处理模块。

1.1 数据预处理与数据增强

选取的发票样本为学校报销的增值税发票,如图1 所示。由于数据量的限制和数据样本杂乱的限制,在进行文本识别和文本切割之前,使用OpenCV 相关技术对图像进行预处理,并对图像进行数据增强[4-5]。

图1 拍照发票样例

首先,要构建数据集,本文采用学校留存的发票数据共532份进行训练、验证和测试。首先将这些发票的文本进行划分,用labelme标记出,由于使用的数据有限,本文的模型均是在预训练好的模型上进行微调。

标记好数据后,对数据进行resize 操作,将所有图片都设计一个统一的尺寸,本文设计的图片大小为1 024×1 024,为保证图像的比例不变,文本不发生形变,对短边两侧进行0 填充[6]。本文根据不同场景进行直方图均衡化,并进行灰度变换,从而实现对图像降维。为了抑制图像中的噪声数据,减少文字表示采样点的数量,提高有效性,本文对图像进行平滑处理。

最后对图片进行数据增强,由于拍照发票受到像素、拍摄角度、光照条件、障碍物遮挡等问题的影响,需要对图片数据进行增强以适应各种情况的影响。调整图像的亮度、对比度、色调、饱和度和噪声。然后,添加了随机缩放、裁剪、翻转和旋转等。经过数据增强后,图片的数量增加到5 320 份。使用这些数据进行模型训练使识别准确率增加了5.7%。

1.2 文本分割算法

本文设计的发票智能识别算法主要分为两部分:一部分是发票图片的切割算法。DBNet 算法是目前流行且分割准确性很高的算法[7];另一部分是文本识别算法,由于切割文本是一个词或一个句子,因此使用CRNN进行文本识别,并能够对其实现一块文本的识别。

智能识别流程如图2所示,分为四个模块:图像预处理、文字定位、文字识别和接口结构化解析。

图2 发票识别流程

文本切割算法主要使用的是DBNet,对每一个像素点进行自适应二值化,二值化阈值由网络学习得到,将二值化过程加入网络一起训练,这样最终的输出图对于阈值非常鲁棒。

标准二值化计算公式:

二值化计算公式:

其中Pi,j表示当前像素点,t表示预设的阈值,Ti,j表示每个像素值的阈值,是网络计算的,k是膨胀因子。

目前与两种分割算法进行对比,一种是字符级切割的craft算法[8];另一种是PANnet算法[9],这两个算法在工业中使用较多,分割效果好。对比结果表1所示。

在本文使用的数据集上进行分割效果对比,主要的对比标准是召回率(R)、精度(P)和MAP。结果如表1所示:

1.3 改进的CRNN算法

本文训练的文本识别算法是一个单行识别算法,多行数据的合并放到了后处理阶段(也称作后校验阶段),由于识别的数据是移动端拍摄的,图像质量相对较低,因此,本文对CRNN 算法进行了改进,使用Attention 和Cross-Attention 替换了两层BiLSTM结构,得到更为准确的识别结果。CRNN[11]主要的计算步骤如下:

其中,I表示序列,I*表示预测序列,也表示序列标记,Nδ(I′)表示临近词的置信度。在替换RNN结构后,本文设计的识别模型如图3所示:

图3 改进模型架构

模型中用于提取特征的主干是mobilenetV3,通过使用可分离卷积提高计算速度,并有不错的特征提取效果。Attention 机制是通过query 向量与key 向量以乘法的方式判断向量间的关系,然后作为门控乘以value 得到特征计算结果,对于模糊文本有两个优势:(1)作为解码器自动对齐;(2)能够联系上下文替换RNN得到更准确的识别结果。Cross-Attention[10]能够同时利用编码器和解码器的特征,利用不同层次的特征信息。通过实验验证发现,Attention 与Cross-Attention相结合的方法能有效地提高识别准确率。在发票识别中,由于识别的条目有限且识别的文本范围较小,准确度相对较高,实验对比结果如表2所示:

表2 识别算法结果对比

整合切割算法识别方法提取识别结果的关键信息,如名称、纳税人识别号、地址、电话、开户行记账号等关键信息设计模板。最终识别结果如图4所示:

图4 发票识别结果

1.4 智能识别后验纠错技术

由于发票文本中有部分褶皱和污渍的干扰,单纯地依靠底层算法模型,无法做到100%的识别准确率。本智能识别系统引入了后验纠错技术,该后验纠错技术主要包括三部分:一是对多行识别结果根据切割的Box 框坐标与实际发票样式进行合并;二是由于图片过于模糊或已训练的文字过少,导致识别不准确,做了一个文本编辑距离纠正[11],将形近字体与发票文本字典进行匹配,得到纠正结果;三是对表格结构变化的后处理,利用灵活的程序判别方式调整后处理的结构化文本,提高识别准确度可以达到99%以上。

实验表明:采用相关字符编辑距离匹配的方式,文本的识别率最高,加上多行识别结果合并,能更好地满足业务实践,使发票智能识别模块具备了商业化应用的条件。

2 在工业互联网中的应用

2.1 发票识别系统应用设计

发票智能识别在工业互联网中的应用场景包括自动对接企业SAAS系统、发票信息化管理[12]、系统自动生成报销信息等。

目前,很多企业普遍都配置了发票管理信息化系统,如SAAS 系统,在实际业务运营过程中,发票的管理是独立于SAAS系统之外的,要对发票进行管理,就需要建立手工台账,导致管理难度增加、可追溯性差等问题[13]。此外,由于线下发票管理与线上报销信息化管理会存在执行偏差,还会额外增加业务人员的工作量。

本文设计的发票智能化管理系统(如图5所示),在发票通过智能识别模块,将发票文本中的信息转换成系统中的数据,发票信息同步存储至发票管理模块。

图5 财务信息管理系统

在传统模式下,发票系统都是需要人工录入数据;当前,OCR识别模块与报销流程数据对接后,将与报销相关的数据传输至报销系统,避免人工操作。同时,发票可以关联报销数据,实现了发票与财务数据的对应,便于追溯查询。

发票报销智能化[14]管理模块,可以帮助企业构建企业发票信息化管理体系,实现对发票报销的规范化、制度化管理,防范风险。

2.2 业务流程优化

以发票OCR识别技术为基础,对企业的业务流程进行设计和优化,以提高业务的执行效率和企业的管理效率。引入发票智能识别模块后,将需要人工线下完成的工作通过系统自动对接完成,实现全流程的系统信息化管理,是工业互联网的重要组成部分。

2.3 主要工作

本研究的技术创新在于:1)改进了CRNN[4]识别算法,在CNN 之后使用Attention 与Cross-Attention 组合的方式进行对齐解码,提高模糊文本的;2)在识别结果基础上增加后验纠错技术,使发票的识别率进一步提升,更能满足用户的要求;3)设计了智能信息化发票管理系统,目的是实现发票信息的系统管理。

3 结论

在CRNN 的基础上改进模型结构,以Attention 与Cross-Attention 相结合的方式提高文本识别准确率。并结合mobilenetV3轻量级架构在树莓派上应用。

本文针对发票识别样本构建分割与识别模型,并将之工业化、信息化,服务于工业化物联网。基于DBNet的分割算法和基于CRNN的识别算法构成算法的核心,通过设计后验纠错技术,校验文本距离、多行信息合并以及结构化处理使发票识别在工业领域得到实际应用。通过发票智能识别系统,设计了发票智能信息化管理系统,有效提升了公司业务的运营效率以及财务信息的可追溯性,为其他人工智能技术的落地提供借鉴意义。

猜你喜欢

发票文本智能
基于改进LeNet-5卷积神经网络的发票识别研究
在808DA上文本显示的改善
关于发票显示额外费用的分歧
基于doc2vec和TF-IDF的相似文本识别
文本之中·文本之外·文本之上——童话故事《坐井观天》的教学隐喻
如何快速走进文本