用于检测账单的OCR

时间:2017-05-22 12:27:40

标签: ocr text-classification

我打算创建一个移动应用程序,它可以扫描商店生成的帐单/发票,并从中提取关键功能,如商店名称,地址,购买的商品,帐单价值等。 我知道我可以使用OCR从账单中提取文本(扫描的账单或账单的照片)但是我如何提取所有这些细节?使用什么方法?

3 个答案:

答案 0 :(得分:6)

好吧,对于你正在尝试构建的应用程序将有4个阶段

数据提取 - 系统应该能够提取以DOC,PPT和PDF等文件格式存储的文本数据。    系统还应该能够从图像中提取数据。

数据识别 - 数据提取的下一步是根据用户定义的模式识别数据。

数据分类 - 按用户定义的类别进行分类。

数据处理 - 根据此流程中标识的数据类别执行不同的操作。

你是对的 - 需要处理 OCR ,即光学字符识别

OCR是将打字,手写或打印文本图像机械或电子转换为机器编码文本,无论是扫描文档还是文档照片。

市场上也有许多解决方案可供商业产品或图书馆使用..

商业产品:

Google文档(免费)

ABBYY FineReader Pro (付费)

OmniPage标准(付费)

Readiris Pro (付费)

但如果您仍想为自己构建自己的产品,可以使用 TESSERACT-OCR - 您可以使用 Java / Python 构建您的应用。 Tesseract是最准确的开源OCR引擎。

它与Leptonica图像处理库结合使用,可以读取各种图像格式,并将其转换为60多种语言的文本。

此外,您还需要使用 APACHE TIKA - Apache Tika是一个用于从各种文件格式进行文档类型检测和内容提取的库。

在内部,Tika使用各种现有的文档解析器和文档类型检测技术来检测和提取数据。

使用Tika,可以开发通用类型检测器和内容提取器,以在一定程度上提取结构化文本以及来自不同类型文档的元数据,例如电子表格,文本文档,图像,PDF甚至多媒体输入格式。

Tika提供了一个用于解析不同文件格式的通用API。它为每种文档类型使用83个现有的专用解析器库。

所有这些解析器库都封装在一个名为Parser接口的接口下。

Apache Tika™工具包可从超过一千种不同的文件类型(如PPT,XLS和PDF)中检测和提取元数据和文本。

所有这些文件类型都可以通过单一界面进行解析,使Tika对搜索引擎索引,内容分析,翻译等非常有用。

最好一起使用TIKA Server和Tesseract OCR。

这一切将包括通过Inception API与Google的Tensorflow图像识别集成,使用OCR改进PDF解析,消息解析和MIME检测

Google愿景API - 如果您使用Google云端平台构建解决方案

Google Vision API支持网络上使用的大多数图片格式,包括GIF,BMP,WebP,Raw,Ico等

测试未显示基于图像格式的任何性能或质量问题,尽管JPEG等有损格式在极低分辨率(即低于1MP)下可能会显示更差的结果。

Google Cloud Vision仅接受存储在Google云端存储上的文件

Vision的批处理支持限制为每个请求8MB。因此,1000个现代图像的相对较大的数据集可能很容易需要超过200个批量请求。

<强> 结论

为获得最佳效果,Apache TIKA必须与TESSERACT OCR一起使用,TESSERACT OCR是开源解决方案,成本核算为0,即零。

但是,如果OCR是他们的关键功能并且正在寻找可靠的东西,那么谷歌视觉API再次更具特色,准确和快速。

是的,它将包含费用,它将被视为付费解决方案。

答案 1 :(得分:1)

我发现的最好的选项是Cloudmersive OCR,它也是免费的,并且可以与大多数编程语言(C#,Java,Objective-C,Ruby,PHP等)一起使用:

它可以自动识别照片中的文档,收据或账单,然后非常可靠地自动提取文本。

我现在正在生产中的业务应用程序上使用它,到目前为止效果很好。

答案 2 :(得分:0)

这取决于您愿意推出多少解决方案。帐单的问题在于,每家商店的帐单看起来都非常不同(即使他们使用的是相同的会计软件,也常常很奇怪),再加上嘈杂的OCR,不仅意味着数据中可能存在错误,而且标签文本中可能用于匹配数据字段。总而言之,通过OCR +规则匹配(例如Abbyy FineReader + Apache Tika,如另一个答案所建议)之类的天真方法来做到这一点将是一种非常脆弱的方法。

如今,您可以获得更好的解决方案,但是由于它们基于最先进的AI,因此如果没有大量的深度学习知识,它们将很难在家庭中成长。最好的方法是仅使用在线服务,最受欢迎的服务是免费的,以处理少量数据。特别值得注意的可能是:

  • this issue thread -专用于收据,也可以提取行项目,每月免费获取50张收据
  • TagGun -专门处理发票,自动支持各种模板(经过预先训练的机器学习模型),每月免费获取300张以下的发票
  • Elis -与上述基于免费的基于Web的演示相比,数据分类法有限,但是您需要购买API

(免责声明:我隶属于Elis的供应商Rossum。请随意建议添加其他API的修改!)