发票云(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 最初的架构

OCR%E5%8F%91%E7%A5%A8%E4%BA%91%E5%BD%93%E5%89%8D%E6%95%B4%E4%BD%93%E6%9E%B6%E6%9E%84%E5%9B%BE.png

3.2 改造后的架构

%E5%8F%91%E7%A5%A8%E4%BA%91%E6%94%B9%E9%80%A0%E5%90%8E%E6%95%B4%E4%BD%93%E6%9E%B6%E6%9E%84.png

4 业务流程

ocr%E5%8F%91%E7%A5%A8%E8%AF%86%E5%88%AB%E4%B8%9A%E5%8A%A1%E6%B5%81%E7%A8%8B.png

5 重难点

  • 发票识别有明显的高峰期(年底、月底)
  • 需要支持高并发,集群化(识别引擎、应用服务、缓存和数据库),弹性扩容或降配
  • 自建识别引擎时图片的处理(旋转,去印章等),识别模版的设计对识别率和识别时间有大的影响
  • 对性能和识别率的要求很高(最好每次识别3秒以内,识别率能达到4个9)
  • 日志、监控、故障自动转移,报表等配套服务要完整

6 补充说明

发票云平台,虽然功能简单,但是提供稳定可靠,高性能的服务还是不容易的。