我正在用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
决定如何对特定字符串进行分类的参数是:
发布于 2018-06-20 13:35:33
我认为第一步应该是抓住你的手,或者生成一些有标签的培训数据。您应该查看特性提取;例如,如果您注意到对于某一项,第二行通常是价格,则可以将其表示为参数。或者说,如果一个数字后面跟着ml/l/oz这样的单位,它很可能就是体积。你想知道的是,你有多自信,一个特定的行/字符串是说价格。
但是,我认为TensorFlow将更适合于问题的OCR部分,这一点您已经解决了。您所要求的是更多的文本解析,这可以通过NLP方法更好地解决。
发布于 2018-06-20 13:46:53
正如4d11的答案所提到的,机器学习中最大的挑战之一往往是获得一组高质量、大尺寸的培训数据。
在将数据输入到Tensorflow网络/模型方面,我建议您查看他们关于特性列的“入门”教程:列
特征列用于表示可以输入模型的不同类型的数据。本教程详细介绍了这种方法的工作方式,以及为什么您可以选择以不同的方式表示不同的数据。我觉得做个介绍很有帮助。
发布于 2018-06-20 13:32:18
一个用于文本识别的Tensorflow模型(CNN +带有视觉注意的seq2seq )可作为Python包提供,并与Google引擎兼容。https://github.com/emedvedev/attention-ocr
https://stackoverflow.com/questions/50949318
复制相似问题