О промышленных системах массового ввода, обработки образов и распознавания текста EMC Captiva InputAccel и Kofax Capture

в 12:30, , рубрики: ERP-системы, ocr, Софт, метки:

В реалиях российского законодательства в силу нехватки правовых норм ведения бизнеса электронным (безбумажным) способом бухгалтерия должна создавать и хранить очень большое количество бумажных документов (первичные финансовые документы (счета, счета-фактуры, накладные и прочее), журналы проводок и операций, кадровые документы и др.).
Для сокращения издержек обработки и хранения средние и крупные компании прибегают к использованию автоматизированных систем массового ввода и обработки. На рынке широко известны и используются продукты следующих верндоров ПО: EMC, Kofax, Abbyy, Cognitive Technologies.
За последний год работы я успел с полного нуля постичь немало тайн этой интересной области автоматизации бизнеса с использованием систем EMC Captiva и Kofax Capture, о них я и хочу рассказать в данной статье.

Оба производителя продвигают свои продукты под определением «Систем массового ввода», а не как систем распознавания текста, и это неспроста. Все дело в том, что распознавание текста как такового это всего лишь малая задача, из всех, которые могут осуществлять эти системы.
Начнем с того, что обработка у Kofax и Captiva происходит одинаковым принципом: пошагово. Один шаг обработки это условно запуск одной отдельной .exe, которая и производит некие заданные действия. Для создания так называемого «процесса» существуют специальные дизайнеры, в которых вы задаете последовательность шагов и правила маршрутизации.

В общем сценарии процесс обработки с распознаванием выглядит примерно так:
О промышленных системах массового ввода, обработки образов и распознавания текста EMC Captiva InputAccel и Kofax Capture
На рисунке видно, что происходит последовательная обработка документа от его подготовки (отделению листов, удалению скрепок), затем захват (сканирование), распознавание и индексация (извлечение определённых частей текста), затем проверка пользователем (тут же частичная или полная ручная индексация), формирование нового формата выходного документа (при необходимости) и экспорт из системы обработки.
Так как в качестве источника может быть не только сканер, но и файловая система, факсимильные системы, электронная почта, вебсервисы и прочие системы, в обработке могут быть и другие шаги (улучшение изображение, повороты, сглаживание, конвертирование), проверка индексированных значений может быть автоматическая, а экспорт может происходить как на файловую систему, в любые ERP, CRM и прочине системы, отправляется по электронной почте и прочими средствами, то целесообразно представить структуру обработки в следующем виде:
О промышленных системах массового ввода, обработки образов и распознавания текста EMC Captiva InputAccel и Kofax Capture
Логически системы обработки выглядят как отдельные запущенные процессы, взаимодействующий с центральным сервером, который отвечает за маршрутизацию по преднастроенному процессу:
О промышленных системах массового ввода, обработки образов и распознавания текста EMC Captiva InputAccel и Kofax Capture
Система построена по схеме модульной архитектуры и состоит из следующих основных компонентов (На примере Kofax Capture):

  • База данных
  • Сервер Kofax Capture
  • Неуправляемые модули обработки
  • Клиентские модули

База данных состоит из непосредственно реляционной базы данных и директории на файловой системе, обычно расаширенной по сети, в которой хранятся артефакты пошаговой обработки документов.
Сервер производит маршрутизацию документов по шагам и модулям.
Неуправляемые модули работают в фоновом режиме без участия пользователя, например, модуль распознавания.
Клиентские модули, такие как 'Сканирование' или 'Индексация' — основной интерфейс пользователя системы.
Администрирование производится в модуле Batch Administrator для Kofax или Administrative console для Captiva.

Для обоих систем имеет место масштабирование, как вертикальное, так и горизонтальное. Сервисы могут быть запущены на одном компьютере или разнесены по разным с целью увеличить производительность, запущены многократно (в рамках доступных лицензий), именно поэтому на этой схеме Recognition service отделен от остальных сервисов, т.к. требуется больше всего ресурсов.

Качество входного образа может быть низким (минимальное типовое требование 300dpi, 1 bit per pexel – black&white), содержать артефакты, пятна, размытости и прочие шумы, поэтому обычно применяют предобработку, которая может значительно изменить качество изображения и повысить качество распознавания. EMC использует компоненты PixTools, Kofax применяет свою разработку VirtualReScan.

О промышленных системах массового ввода, обработки образов и распознавания текста EMC Captiva InputAccel и Kofax Capture
Исходное изображение до обработки

О промышленных системах массового ввода, обработки образов и распознавания текста EMC Captiva InputAccel и Kofax Capture
Изображение после обработки

Важный шаг – Классификация (определение принадлежности к типу и форме заранее настроенного документа). Определяться документ может либо по графическому содержимому, либо по наличию ключевых слов или смешанным образом. Также возможно произвести классификацию «в коде» — например, когда документ был получен через веб сервис через учетную систему и его тип заранее известен.

Для распознавания текста могут быть использованы разные движки распознавания, которые поставляются вместе с базовым комплектом с продуктами, однако в большинстве своем и там и там используется движок от компании Abbyy, т.к. он дает высокое качество распознавания русского печатного текста. Рукописный ввод распознаванию поддается с большим трудом, поэтому обычно такие документы, если они и есть, не распознаются, а на них индексируется ограниченное число полей оператором.

Важно заметить, что базовый комплект Captiva InputAccel, а также Kofax Capture позволяет индексировать только строго формальные документы, например банковские анкеты, где заранее нанесены поля для текста и при извлечении мы всегда будем достоверно знать где что искать. Для обработки слабо- и неструктурированных документов необходимо использовать дополнительные модули Captiva Dispatcher или Kofax Transformation Modules. При этом происходит полностраничное распознавание текста и в большинстве случаев используется принцип нахождения полей по регулярным выражениям в совокупности с положением «якорных» участков (якорные слова также могут обнаруживать по регулярным выражениям или жестким шаблонам). Эти же модули необходимы, если вы собираетесь обрабатывать табличные части документов, это, кстати, самый страшный сон разработчика и по возможности мы стараемся отказываться от таблиц.

Сравнение компонентов систем

Emc Captiva Kofax Что делает
InputAccel Server Серверный процесс, управляет жизненным циклом процесса (батча)
KNS, не обязательно если весь процесс будет идти на одной машине, не требует IIS Работа по сети
InputAccel Kofax Capture Базовые процессы, возможность распознавать только строго структурированные документы, т.е. строгие формы, анкеты и т.д.
Dispatcher KTM Настройка шаблонов распознавания для полуструктурированных документов и нешаблонных текстов (вся российская фин.первичка)
FreeForm Designer Нет, встроено в KTM Дизайнер для настройки сложных правил распознавания
Administation Console, Web application, требует IIS Нет, нет такой необходимости, встроено в Capture Приложение для настройки сервера, управления процессами и батчами, лицензирования и т.п.
eInput KFS Возможность работы через браузер

Лицензирование у продуктов примерно одинаковое, все лицензии конкурирующие, т.е на количество активных подключений. Вы покупаете объем страниц в год, которые вы собираетесь обработать, такая лицензия бывает возобновляемая (счетчик сбрасывается раз в год) и невозобновляемая. Также необходимо дополнительно покупать лицензии на модули, например в поставке Captiva только одно место сканировщика и все остальные нужно приобрести отдельно.

На территории России в большинстве своем распространена система EMC Captiva, Kofax используется довольно редко.

Если вам будет интересно продолжение, то я могу подробно описать процесс разработки и настройки процессов и шаблонов распознавания на базе платформы EMC Captiva.

Автор: for7raid


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js