Группа «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-документа.
  • только изображения.
  • и текстовый слой, и изображения.

Работа действия основана алгоритме извлечения блоков текста документа. Слова и строки документа объединяются в блоки на основе максимального расстояния между словами и максимального расстояния между строками. Эти параметры задаются во входных параметрах действия.

Примеры таких документов: кассовые чеки; документы, содержащие табличные данные сбез разделителей; документы, содержащие сплошной текст.

Пример распознавания: