寻找一个小蟒蛇机器学习建议

时间:2015-08-19 07:25:26

标签: python machine-learning image-recognition text-recognition

我有兴趣使用Python和机器学习/自动数据输入。然而,随着我的研究取得进展,我意识到有许多不同的技术,每个都有自己的优势。

我决定如果我向相反的方向学习,我可能会更进一步。即选择一个问题/任务,并通过解决/完成它来学习。

我偶尔需要处理传真的数据处理发票,我希望制作一个程序,可以在我扫描完毕后为我输入这些内容。

传真基本上由2个相同的表组成。每行表示一个单独的工人。第一列是工人姓名(选择6)第二列是地址,其余列是表示不同工作的复选框。页面顶部的框中还有一个发票ID。

我希望有人能够简要解释一下他们将如何解决这个问题。如果他们会使用SVM进行文本识别或其他技术?以及如何让程序在第5个方框中理解勾选方式' clean = yes'并且左上方框中的数字是ID。我已经做了一些研究,但无法理解如何开始。如何隔离传真的各个部分,例如当您无法保证传真/扫描时的绝对位置/尺寸时,顶部表格及其余页面中的单元格。或者我必须得到数百个传真+这些传真的打印数据,然后比较它们,然后让它慢慢了解传真a和b之间的区别是这里的刻度,ID号通常在这里......

欢迎任何建议!

1 个答案:

答案 0 :(得分:1)

从广义上讲,您可以将此过程分为两个阶段:

  1. 确定文字的位置。它位于ml和Computer Vision的交叉点,因为在文本识别部分之前,您需要找到该文本所在的位置。这不是一件容易的事,你可以找到行,框等,例如opencv lib,它可能对CV相关的任务很有用。如果所有文档都具有相同的精确形式(相对于扫描列表本身的字段位置),并且您可以完美地扫描它们而不会出现失真(旋转,偏移),您可以尝试在静态区域中搜索文本,其中字段为。

  2. 找到文本后,您必须将每个字段的内容分解为单词,然后将单词分解为字符,然后您可以使用这些字符输入识别器(ML部分)并获取每个字符本身的标签。并且手写文本几乎不可能(现在),因此在一般情况下很难识别手写文本。即使字段仅包含打印文本,我建议您避免此步骤,并使用特殊库进行OCR,如tesseract