Группа «Robin OCR 1.0»¶
Общие принципы работы с ROBIN OCR¶
- Для отправки документа на распознавание нужно выполнить минимум 2 запроса. Сначала отправляется запрос на создание пакета, в запрос передается единственное изображение пакета или первое. Запрос возвращает GUID пакета. Если изображений в пакете должно быть несколько, то в последующих запросах эти изображения добавляются к пакету (по одному). Завершающим запросом надо запустить пакет на обработку. Во второй и последующие запросы передается GUID созданного пакета.
- Формат результата настраивается заранее, в сценарии.
- Пользователь будет получать результат в виде коллекции json-объектов или xml-контекстов. С полученными результатами можно работать действиями студии.
- Список классов пакета пользователь должен знать перед запуском действия.
- Классы пакетов будут настроены в системе инженером, нужно выбрать класс, подходящий для обработки изображения. Имя класса пакета - это имя настроенного проекта. Имя класса пакета нужно указывать при создании пакета (обязательно). Имя пакета надо задавать в запросе.
- Когда робот будет завершать работу с ошибкой, в тексте ошибки будет отображаться причина.
- Если статус документа не «export», то робот не сможет получить результат и пропустит документ. Пользователь сам должен будет передвинуть документ в статус «экспорт» на сервере. Нужно провести валидацию файла вручную и отправить его на экспорт, путем внесения и принятия изменений в нем.
- Статусы:
import – импорт => ждать смены статуса.
recognize – распознавание =>ждать смены статуса.
validation – валидация=> вручную менять статус в системе Сойки.
export – экспорт => готово к выгрузке.
deleted - пакет был удален.
inaccessible - пакет недоступен.
quality control - если пользователь отправил по неправильному сценарию, вручную менять статус в системе Сойки.
- Если таймаут истекает до того как получим распознанный текст будет получен пустой результат, действие не завершается с ошибкой.
Интерфейс Сойки. Аутентификация.
- При первом подключении необходимо заходить через браузер, chrome предпочтительно. admin, admin.
- Для получения доступа к функциям rest-сервиса требуется аутентификация – BasicHttpAuth, логин и пароль передаются в заголовке http, при этом логин в открытом виде, а пароль – зашифрованный MD5.
- Можно сохранить учетную запись в браузере. у пользователя есть доступ только к определенным действиям, это настраивается при регистрации.
- В двух вкладках открывают сразу же 2 модуля. Модуль администратора: http://localhost/administrator. Модуль валидации: http://localhost/validation.
Аутентификация при подключении через браузер - обязательная процедура для каждого пользователя. Личный логин и пароль пользователей связан с личными настроенными сценариями.
Просмотр и валидация документа
В режиме просмотра default с зажатой клавишей Shift можно выделить область, чтобы внести в нее правки.
Когда правки применены, изменения отражаются в системе.
Когда пользователь сохранил изменения, пакет документ был принят пользователем, статус документа изменился с «валидации» на «экспорт».
Файл прошел валидацию вручную.
Файл получил статус «Экспорт».
Способы обработки результата.
Встроенные в студию действия по работе с JSON - файлами.
Пример составленной цепочки действий для обработки результата. Для распараллеливания процессов распознавания изображений можно использовать Очереди.
Представленные для текущего пользователя классы пакетов.
Профиль распознавания по умолчанию -default. Интерфейс настройки профиля распознавания.
Пример исходного файла.
Пример результирующего файла.
Составим последовательность действий, чтобы файл сохранился на компьютер.
Результат в виде json-файла. Нет необходимости сохранять полученный файл. Его можно сразу же обрабатывать действиями студии.
Действия студии, если результат получен в виде xml-файла. Далее можно воспользоваться действием «Получить элементы по XPath», чтобы получить необходимые для дальнейшей работы значения.
Действия подгруппы «Soica»¶
Отправить на распознавание / Send files for recognition¶
Задача: распознать текст на документе и сохранить возможность выполнять еще какие либо действия, пока происходит обработка поданного на вход документа.
Решение: использовать действия «Отправить на распознавание», «Получить результат распознавания».
Реализация:
- Последовательно установить действия «Отправить на распознавание» и «Получить результат распознавания» на рабочую область.
- Заполнить параметры действий корректными данными:
параметры «Отправить на распознавание»;
параметры «Получить результат распознавания».
Запустить робота по кнопке «Старт» в верхней панели.
Результат:
Робот вернет обработанные файлы. Результат представлен в виде коллекции с json-объектами или xml-контекстами. Статус «export».
Дополнительно
Нужно заранее получить данные для аутентификации в сервисе Сойки.
Робот вернет ошибку, если:
- в поле «Файл» подается неверный формат.
- неверный логин или пароль подключения. 403
- неверно указан путь, ссылка - 404
Первое действие из связки Отправить+Получить. Отправить файл на распознавание и Получить результат распознавания разделено на 2 действия для случаев, когда система будет долго обрабатывать большой файл, поданный на вход.
Получить результат распознавания / Get recognition result¶
Задача: распознать текст на документе и сохранить возможность выполнять еще какие либо действия, пока происходит обработка поданного на вход документа.
Решение: использовать действия «Отправить на распознавание», «Получить результат распознавания».
Реализация:
- Последовательно установить действия «Отправить на распознавание» и «Получить результат распознавания» на рабочую область.
- Заполнить параметры действий корректными данными:
параметры «Отправить на распознавание»;
параметры «Получить результат распознавания».
Запустить робота по кнопке «Старт» в верхней панели.
Результат:
Робот вернет обработанные файлы. Результат представлен в виде коллекции с json-объектами или xml-контекстами. Статус «export».
Дополнительно
Необходимо запустить действие «Отправить на распознавание» перед действием «Получить результат распознавания».
Чтобы получить результат, нужно чтобы файл был распознан системой и переведен в статус «export». Если робот при проверке статуса документа робот получил любой статус, кроме «export», то робот вернет полученный статус документа и пустой файл результата распознавания.
Робот вернет ошибку, если:
- неверно указан путь, ссылка - 404.
- неверный логин или пароль подключения- 403.
- выбранный сценарий обработки не подходит- 401.
- внутренняя ошибка сервера -500.
- личные данные и ID документа не принадлежат одному пользователю.
Робот НЕ вернет ошибку, если:
- на изображении не найден текст.
- на изображении не распознан текст.
- статусы «quality control», «validation», который нужно менять вручную => вызвать rest api для перевода в другой модуль или открыть пакет на валидации, исправить ошибки и отправить его на экспорт.
Во всех этих случаях робот вернет пустой результат распознавания файла.
Если неверно указан язык текста, настроенный в алгоритме, то результатом, возможно, будет не пустая строка, совпадающие символы из алфавита.
Второе действие из связки Отправить+Получить. Отправить файл на распознавание и Получить результат распознавания разделено на 2 действия для случаев, когда система будет долго обрабатывать большой файл, поданный на вход.
Распознать / Recognize files¶
Задача: распознать текст на документе.
Решение: использовать действие «Распознать».
Реализация:
Установить действие «Распознать»на рабочую область.
Заполнить параметры действия корректными данными.
Запустить робота по кнопке «Старт» в верхней панели.
Результат:
Робот вернул обработанные файлы. Результат представлен в виде коллекции с json-объектами или xml-контекстами. Статус «export».
Дополнительно
Робот вернет ошибку, если:
- неверно указан путь, ссылка - 404.
- неверный логин или пароль подключения - 403.
- выбранный сценарий обработки не подходит - 401.
- внутренняя ошибка сервера -500.
- личные данные и ID документа не принадлежат одному пользователю.
Действия подгруппы «Robin»¶
Извлечь данные в таблицу / Extract data to table¶
Задача: распознать таблицу из документа .pdf и записать результат в таблицу в формате CSV.
Решение: воспользоваться действиями «Извлечь данные в таблицу», «Сохранить таблицу в CSV».
Реализация:
Собрать схему робота, состоящего из действий:
Настроить параметры для действия «Извлечь данные в таблицу».
Настроить параметры для действия «Сохранить таблицу в CSV».
Нажать на кнопку «Старт» в верхней панели.
Результат:
Программный робот отработал успешно. Данные с документа извлечены в таблицу формата CSV.
Страницы из документа сохранены в формате .png в указанную папку с выделенными блоками.
Таблица излечена и сохранена в формате .csv
Особые условия использования
Действие распознает текст документа и разбивает его на блоки в зависимости от указанных входных параметров (расстояние между строкамисловами) извлекает данные из текстовых документов и сохраняет их в виде таблицы. При этом исходный документ может и не содержать таблицы.
На вход можно подавать документы:
- только текстовый слой pdf-документа.
- только изображения.
- и текстовый слой, и изображения.
Работа действия основана алгоритме извлечения блоков текста документа. Слова и строки документа объединяются в блоки на основе максимального расстояния между словами и максимального расстояния между строками. Эти параметры задаются во входных параметрах действия.
Примеры таких документов: кассовые чеки; документы, содержащие табличные данные сбез разделителей; документы, содержащие сплошной текст.
Пример распознавания: