首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >指定光学字符识别的最佳方法是什么?

指定光学字符识别的最佳方法是什么?
EN

Data Science用户
提问于 2017-03-23 08:53:00
回答 2查看 1.9K关注 0票数 4

我有一个完全可以理解的信息提取要求(发票号、发票数据、到期日、总数等)。从扫描发票(数字格式是图像,而不是PDF),最好是Python。好的是,所需的信息或多或少肯定存在于页面上,而这些信息的(regexp类)文本格式也往往是后续的。另一方面,缺点是发票的布局非常多样。

我使用了以下可能的方法:

  • 使用字符识别来提取纯文本,然后尝试与片段拼图。这种方法存在着相当大的问题: OCR的质量(至少是在tesseract库中已实现的OCR)相当平庸,输出是无可救药的非结构化的(实际上是一堆单词),即使对于普通短语,也很难找到任何regexp或其他规则。
  • 我的另一种方法是对原始图像本身或文本堆进行某种深度学习,在这种情况下,我们把繁重的工作留给网络,但在这种情况下,我不确定输出应该是什么?这是序列映射的某种序列吗?

确实是非常不寻常的任务。

EN

回答 2

Data Science用户

发布于 2017-03-23 11:48:55

光学字符识别是一个研究较多的问题,有许多可能的解决方案(资源来源).CNN已经证明,即使在手写字符识别方面也非常有效。看看这两篇论文:

这里是一个用Tensorflow做这件事的初学者教程。

如果您需要额外的数据来训练您的模型,请查看MNIST数据集

票数 1
EN

Data Science用户

发布于 2017-03-23 09:13:36

一种方法是采用一种很好的分割技术,然后用(ann,svm,knn.)等算法对所有区域进行分类,这种方法不需要大量的训练样本。另一种方法是应用深度学习(但这意味着大量的训练样本),您可以使用CNN,它执行一个回归,作为输出,它给你的文本(这意味着你必须设置一个最大的句子长度)。但是为了避免最大的句子长度,您可以使用带有一些RNN层的CNN,然后用图像的一部分(级联方法)给网络提供信息。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/17799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档