发票云(Ocr)服务总结
Table of Contents
1 前言
发票整理录入确实不是一件容易的事情,一张普通的增值税发票,可能有十几项信息需要录入,发票上一串串常常的代码更是让人眼花缭乱。可以说,人工检索发票、录入发票确实太费时费力了,而且极易出错,这对于财务部门的管理都是十分不利的。
人工智能时代的到来,让枯燥的发票录入工作有了新方式。人工智能引擎可以实现发票识别自动化,拍照就能识别发票上的字段信息,自动录入进入表格。
公司企业进行发票管理时,通过批量扫描识别发票,帮助企业节省大量人力财力,降低风险。
本文是自己在开发和升级维护发票云平台和引擎的一些总结。
2 历程
2.1 自建识别引擎
早些年,云计算不是很火的时候,我们选择的是购买泰比(ABBYY)的OCR引擎服务。
要自建识别引擎服务,编写识别模版,对图片进行旋转,去印章等操作。
识别率和自己写的图片处理,识别模版有很大的关系,自建识别引擎的那段时间识别率可以说不是很高。
2.2 利用云计算
随着云计算和人工智能的发展,越来越多的云计算厂商提供第三方OCR识别服务。可以专心做好识别平台,不用太关心识别引擎,让专业的人做专业的事。
2.2.1 单一服务商
最初只接入了阿里云提供的OCR识别服务,但是使用一段时间之后发现成本比较高,而且有单点的风险。
2.2.2 多服务商
现在的识别服务主力是合合识别(自建识别引擎),同时接入了阿里云OCR识别和华为云OCR识别,支持故障自动转移,客户分等级分配识别通道等。
3 总体架构
3.1 最初的架构
3.2 改造后的架构
4 业务流程
5 重难点
- 发票识别有明显的高峰期(年底、月底)
- 需要支持高并发,集群化(识别引擎、应用服务、缓存和数据库),弹性扩容或降配
- 自建识别引擎时图片的处理(旋转,去印章等),识别模版的设计对识别率和识别时间有大的影响
- 对性能和识别率的要求很高(最好每次识别3秒以内,识别率能达到4个9)
- 日志、监控、故障自动转移,报表等配套服务要完整
6 补充说明
发票云平台,虽然功能简单,但是提供稳定可靠,高性能的服务还是不容易的。