Итак, что у нас есть на данный момент?
В основном мы завершили наш сценарий. Это то, что я знаю до сих пор. Изображения (списки покупок) преобразованы в файл JSON или TXT.
Но данные, которые у нас есть в нашем выходном файле, необработанные. Сложно читать файл или работать с ним так, как мы хотим. Данные должны быть преобразованы в объекты js, и мы должны иметь возможность помещать эти объекты в нашу базу данных. Структура базы данных может быть скорректирована в будущем, поэтому нам нужна возможность изменять логику вывода.
В основном, мне нужны ингредиенты, относящиеся к какому-то отделу.
например, молоко, связанное с молочными продуктами, морковь, связанное с овощами.
Выглядит просто, да? Не так быстро.
Список этапов для нашего скрипта OCR
- ✅ Настроить проект с модулями, связанными с преобразованием OCR
- ✅ Исправить проблему, связанную с мелкими шрифтами, чтобы все изображения, которые у нас есть, можно было преобразовать
- ✅ Получить выходной файл с данными
- ✅ Парсинг измерений из списков
- Проведите тесты с разными кейсами и поймите, что все работает как надо.
- Наш выходной файл содержит данные из 30 изображений. Структура данных должна соответствовать нашей схеме базы данных
- Этот скрипт будет завершен, когда вывод будет соответствовать нашей текущей структуре базы данных.
- У нас есть 100 преобразованных и импортированных списков продуктов в нашу базу данных. Все импортированные данные хорошо отображаются в нашем проекте.
Данные, которые у нас есть, разделены между репозиториями.
Это дает нам возможность быть более гибкими. Наш код может использоваться разными командами.
Как я могу передавать данные между разработчиками React Frontend и командой машинного обучения.
В первой статье я упомянул плагин «выборки», который хранит данные списков покупок.
Вкратце, это плагин, который читает файл JSON и возвращает данные в формате, который нам нужен для наших проектов NodeJS.
Если у нас не будет этого плагина - будем бороться с тестированием. В этом случае мы будем вынуждены тестировать все на стороне сервера до или после импорта в базу данных. Это займет много времени и вызовет много разговоров между разными командами. С этим плагином наши команды независимы, но связаны логикой этого плагина.
Пример:
Команда ML может генерировать данные и сравнивать их с данными, которые есть в нашем плагине.
Разработчики JS могут использовать этот плагин, не думая об учетных данных, подключении к нашему API, и т.п.
Представьте себе такую ситуацию - мы генерируем файл с данными из OCR-скрипта - мы импортируем его на наш сервер, и все начинает вылетать. и будет сложно отладить, где у нас есть проблема. Этот плагин пытается предотвратить это.
Наша текущая схема БД в Groceristar
Наш плагин fetch имитирует эту структуру. Данные списка покупок разделены между несколькими файлами.
Я не хочу делиться ссылками на кодовую базу в этой статье. Будет труднее понять. Все ссылки на наши репозитории Github я расскажу в следующей статье.
В идеальном мире результат должен быть примерно таким.
Структура списка покупок
Структура отделов
Состав ингредиентов
Примечание. Структура измерения сейчас спорна. На нашем сервере нет готовой и протестированной версии. Он может быть похож на этот образ.
Просто сравните массивы json из изображений выше с нашим текущим выводом ниже. Это то, что нам нужно сделать
Резюме
Итак, у нас есть код, хранящийся в нашем репозитории на Github.
У нас есть подробности о том, как это сделать.
У нас есть изображения, которые можно использовать для проверки работы скрипта.
Нам нужно чтобы отформатировать наш вывод и сделать его равным структуре, которую я показываю. Он также должен иметь хороший уровень точности, чтобы все необходимые данные из изображения Pinterest были перемещены в массив JSON.
Спасибо за чтение, пожалуйста, хлопайте в ладоши, если вам это нравится