Тензорная модель для классификации текста
Я создаю приложение для Android с OCR и Tensorflow. Он сканирует ценники в супермаркетах и должен помещать отсканированные данные в разные поля. Я сделал часть 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
Параметры, которые определяют, как конкретная строка будет классифицирована:
- случай
- Номер строки
- Супермаркет (он известен по умолчанию)
- Общее количество строк
- Соотношение букв и цифр
3 ответа
Я думаю, что первым шагом было бы получить в свои руки или сгенерировать некоторые маркированные тренировочные данные. Вы должны посмотреть на извлечение функций; Например, если вы заметили, что для определенного товара вторая строка - это обычно цена, вы можете представить это как параметр. Или, скажем, если за номером следует единица измерения, например, мл / л / унция, скорее всего это будет объем. То, что вы хотите знать, это насколько вы уверены, что конкретная строка / строка, скажем, цена.
Тем не менее, я думаю, что TensorFlow больше подойдет для части проблемы распознавания текста, которую вы уже решили. То, что вы спрашиваете, относится больше к анализу текста, который может быть лучше решен с помощью подхода НЛП.
Как упоминалось в ответе 4d11, одной из самых больших проблем в машинном обучении часто является получение высококачественного набора данных обучения значительного размера.
Что касается подачи данных в сеть / модель Tensorflow, я бы порекомендовал вам ознакомиться с их руководством по началу работы по столбцам функций: https://www.tensorflow.org/get_started/feature_columns
Столбцы объектов используются для числового представления данных различных типов для представления, которое можно вводить в модель. В этом руководстве подробно рассматриваются способы, с помощью которых это работает, и почему вы можете по-разному представлять разные данные. Я нашел это довольно полезным, как вступление.
Модель Tensorflow для распознавания текста (CNN + seq2seq с визуальным вниманием) доступна в виде пакета Python и совместима с Google Cloud ML Engine. https://github.com/emedvedev/attention-ocr