3

我正在使用 OCR 和 Tensorflow 构建一个 Android 应用程序。它扫描超市的价格标签,并将扫描的数据放入不同的字段。我已经完成了 OCR 部分,因此图像 -> 文本识别工作正常,而 Tensorflow 只需要处理文本输入。

总的来说,我是 TensorFlow 和机器学习的新手。是否可以使用 Tensorflow 完成以下工作,如果可以,您能否分享一些关于如何做到这一点的想法?

平均输入如下所示:

CARLSBERG
EESTI
HELE OLU 5%
1.59 +0.10
500 ml pudel
3.18 /I
4740019113419

目标是按如下方式对这些数据进行排序:

Brand: CARLSBERG
Product name: HELE OLU 5%
Size: 500
Units: ml

确定如何对特定字符串进行分类的参数是:

  • 案子
  • 电话号码
  • 超市(默认为已知)
  • 总行数
  • 字母/数字比例
4

3 回答 3

1

我认为第一步是动手或生成一些带标签的训练数据。您应该研究特征提取;例如,如果您注意到某个商品的第二行通常是价格,您可以将其表示为参数。或者说如果一个数字后面跟着一个像 ml/l/oz 这样的单位,它很可能是体积。您想知道的是您对特定行/字符串表示价格的信心。

但是,我认为 TensorFlow 更适合您已经解决的问题的 OCR 部分。您要问的更多的是文本解析,这可以通过NLP 方法更好地解决。

于 2018-06-20T13:35:33.543 回答
1

正如 4d11 的回答中提到的,机器学习中最大的挑战之一通常是获得高质量、规模很大的训练数据集。

在将数据输入 Tensorflow 网络/模型方面,我建议您查看他们关于特征列的“入门”教程: https ://www.tensorflow.org/get_started/feature_columns

特征列用于以数字方式表示不同类型的数据,以便可以输入模型的表示。本教程详细介绍了它的工作方式以及为什么您可以选择以不同的方式表示不同的数据。我发现它作为介绍很有帮助。

于 2018-06-20T13:46:53.297 回答
0

用于文本识别的 Tensorflow 模型(具有视觉注意力的 CNN + seq2seq)可作为 Python 包使用,并与 Google Cloud ML Engine 兼容。 https://github.com/emedvedev/attention-ocr

于 2018-06-20T13:32:18.927 回答