И така, какво имаме за момента?
До голяма степен завършихме нашия сценарий. Това е, което знам досега. Изображения (списъци с хранителни стоки), конвертирани в JSON или TXT файл.
Но данните, които имаме в нашия изходен файл, са необработени. Трудно е да прочетем файла или да работим с него, както искаме. Данните трябва да бъдат преобразувани в js обекти и ние трябва да можем да вкараме тези обекти в нашата база данни. Структурата на базата данни може да бъде коригирана в бъдеще, така че трябва да имаме способността да променяме логиката на изхода.
По принцип имам нужда от съставки, свързани с някакъв отдел.
като мляко, свързано с млечни продукти, моркови, свързани със зеленчуци.
Изглежда просто, а? Не толкова бързо.
Списък на етапите за нашия OCR скрипт
- ✅ Настройте проект с модули, свързани с OCR конвертиране
- ✅ Коригиране на проблем, свързан с малки шрифтове, така че всички изображения, които имаме, да могат да бъдат конвертирани
- ✅ Вземете изходен файл с данни
- ✅ Разбор на измервания от списъци
- Изпълнете тестове с различни случаи и разберете, че всичко работи както трябва.
- Нашият изходен файл съдържа данни от 30 изображения. Структурата на данните трябва да съответства на схемата на нашата база данни
- Този скрипт ще бъде завършен, когато изходът съответства на текущата ни структура на база данни.
- Имаме 100 конвертирани и импортирани списъци с хранителни стоки в нашата база данни. Всички импортирани данни се показват добре в нашия проект.
Данните, които имаме, са разделени между хранилищата.
Това ни дава възможност да бъдем по-гъвкави. Нашият код може да бъде споделян между различни екипи.
Както мога да предавам данни между разработчиците на React Frontend и екипа за машинно обучение.
В първата статия споменах плъгин за „извличане“, който съхранява данни от списъци с хранителни стоки.
Накратко, това е плъгин, който чете JSON файл и връща данни във формат, от който се нуждаем в нашите NodeJS проекти.
Ако нямаме този плъгин - ще се затрудним с тестването. В този случай ще бъдем принудени да тестваме всичко от страна на сървъра, преди или след импортиране в база данни. Това ще изяде много време и ще генерира много разговори между различни екипи. С този плъгин нашите екипи са независими, но свързани чрез логиката на този плъгин.
Пример:
ML екипът може да генерира данни и да ги сравни с данните, които имаме в нашия плъгин.
JS разработчиците могат да използват този плъгин, без да мислят за идентификационни данни, връзка с нашия API, и т.н.
Представете си тази ситуация — генерираме файл с данни от OCR скрипт — импортираме го в нашия сървър и всичко започва да се срива. и ще бъде трудно да се отстранят грешки там, където имаме проблем. Този плъгин се опитва да предотврати това.
Нашата текуща DB схема в Groceristar
Нашият плъгин за извличане имитира тази структура. Данните за списъка с хранителни стоки, разделени между няколко файла.
Не искам да споделям връзки към кодова база в тази статия. Това ще го направи по-трудно за разбиране. Всички връзки към нашите хранилища в Github ще споделя в следващата статия.
В идеалния свят резултатът трябва да е нещо подобно.
Структура на списъка с хранителни стоки
Структура на отделите
Структура на съставките
Забележка: Структурата на измерване в момента е спорна. Нямаме завършена версия и тествана версия на нашия сървър. Може да е подобно на това изображение.
Просто сравнете json масиви от изображения по-горе с текущия ни изход по-долу. Това е, което трябва да направим
Резюме
Така че имаме код, съхранен в нашето хранилище в Github.
Имаме подробности как да го направим.
Имаме изображения, които могат да се използват, за да тестваме как работи скриптът.
Имаме нужда да форматираме нашия изход и да го направим равен на структура, която показвам. Освен това трябва да има добро ниво на точност, така че всички необходими данни от изображението на Pinterest да бъдат преместени в JSON масив.
Благодаря, че прочетохте, моля, пляскайте, ако ви харесва