ИНСТРУМЕНТАРИЙ

Компания ABBYY объявила о начале продаж в России системы FineReader Engine - инструментария, позволяющего встраивать системы распознавания текстов в любые программные решения. Данный продукт доступен сразу для двух платформ: для Windows предлагается новая версия FineReader Engine 7.0, для Linux впервые выпущена версия FineReader Engine 6.0. Этому объявлению был посвящен семинар для разработчиков, на котором прошло интересное обсуждение комплекса технических проблем создания прикладных систем на базе FineReader Engine.

Арам Пaхчанян рассказывает об особенностях

разработки ABBYY FineReader Engine

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

Необходимость выпуска такого продукта объясняется расширением числа систем, в которых требуются встроенные механизмы распознавания текстов. Ранее российские разработчики могли применять лишь продукт FineReader Scripting Edition, но его дополнительные функции ограничивались в основном настройкой пользовательского интерфейса, для гибкого и эффективного управления процессом обработки документов в интегрированных системах его возможностей было явно недостаточно.

В частности, по данным компании "Одеон", после перехода со Scripting Edition на Engine удалось повысить скорость распознавания документов в 12 раз, а представитель Федерального института промышленной собственности (ФИПС) отметил неустойчивость Scripting Edition при потоковой обработке документов из-за неоптимального управления оперативной памятью.

Довольно характерно, что три практических примера использования FineReader Engine, представленных на семинаре (ФИПС, TerraLink и "Одеон"), касались реализации конкретных проектов, связанных с массовым преобразованием бумажных архивов в электронный вид. Во всех случаях оцифрованный документ применялся исключительно для поиска нужных материалов, а пользователь имел дело только с графическим образом исходного документа. Отмечалось также и то, что хотя система не обеспечивает 100-процентного распознавания, но для задач индексации качество ее вполне приемлемо (в силу большого входного потока ручная проверка результата оцифровки не применялась). Впрочем, для повышения эффективности работы с распознанными документами компания "Одеон" использует также средства нечеткого поиска, имеющиеся в продукте Convera RetrievalWare. Другой пример использования FineReader Engine - его применение в системе Lexmark Document Distributor, предназначенной для электронной обработки потоков документации в комплексе с многофункциональными устройствами Lexmark.

Продукт FineReader Engine по сути представляет собой программный интерфейс, реализованный в виде набора библиотек в COM-стандарте для Windows и GCC 3.2 для Linux. Все выступающие отмечали простоту их изучения и подключения, наличие хорошей документации и примеров применения.

FineReader Engine обеспечивает распознавание машинопечатного текста (OCR), рукопечатного текста (ICR), меток (OMR) и штрих-кодов. Детальный рассказ о его возможностях сейчас, наверное, будет излишним, а вот о версии продукта для Linux стоит рассказать подробнее.

По мнению представителей ABBYY, до настоящего времени качество систем распознавания для Linux сильно отставало от уровня продуктов, реализованных для Windows. Поэтому FineReader Engine для Linux представляет собой определенный прорыв в этой области. Однако перенос приложения на новую платформу оказался совсем не тривиальной задачей, о некоторых нюансах ее решения поведал на семинаре вице-президент ABBYY по корпоративным проектам Арам Пахчанян.

Хотя продукт ABBYY написан на стандартном C++, для эффективной реализации кода в Linux потребовалось детальное изучение особенностей компиляторов для этой ОС. Проблема заключается еще и в том, что FineReader - это очень сложная программа (более полумиллиона строк исходного кода), и эффективность ее работы во многом зависит от оптимального управления динамически выделяемой оперативной памятью, а данные механизмы в Windows и Linux сильно различаются между собой. Многие проблемы приходилось решать методом проб и ошибок. Но в результате только за последние два месяца удалось повысить быстродействие варианта для Linux в два раза.

Перенос приложения из одной операционной среды в другую является хорошей проверкой качества программы: в ходе этой работы были обнаружены некоторые ошибки и недочеты в FineReader. В то же время такие сложные прикладные системы, как FineReader, являются и средством оценки самой операционной системы. По мнению г-на Пахчаняна, опыт его компании пока говорит о том, что число возникавших проблем в Linux было намного меньше, чем в Windows. К тому же и совместимость различных вариантов Linux оставляет желать много лучшего - пока продукт будет работать только с RedHat 7.2.

В целом при создании многоплатформенных решений, наверное, имеет смысл придерживаться такой стратегии: делать основной вариант для Windows, а уже потом выполнять его портацию в Linux.

Учитывая все проблемы c переносом продукта, функциональность FineReader Engine для Linux ограничена по сравнению с основным вариантом. В частности, в нем реализовано только OCR-распознавание, нельзя работать с PDF-файлами. Однако если потребители выскажут свою заинтересованность, то дальнейшее расширение возможностей будет выполнено. Так же как и создание версий продукта для UNIX. Продукт FineReader для конечных пользователей пока будет представлен только вариантом для Windows.

Новый продукт для разработчиков ПО будет распространяться по гибким лицензионным схемам: предусматривается использование испытательных версий, постепенное наращивание функционала, управление уровнями защиты продукта при передаче заказчикам и т. д. Подробнее об этом можно узнать на сайте компании www.abbyy.ru.

Версия для печати