ABBYY FineReader 12: не мытьем, так катаньем

15 май, 2014 - 11:15Игорь Дериев

ABBYY FineReader 12 не мытьем, так катаньем

Распознавание образов выглядит одним из наиболее успешных направлений ИИ и кажется, что распознавание печатных символов (OCR), как более узкая и детерминированная задача, и вовсе должна быть давно решена. На деле же OCR, по-видимому, переживает период стагнации. Во многих источниках указывается, что на качественных оригиналах точность распознавания может достигать 99%, но в реальных условиях показатель как правило заметно ниже и, в любом случае, требуется последующее участие человека.

Вероятно, именно поэтому OCR давно вышли за пределы распознавания собственно символов. Ведь если бы при этом удалось достичь 100% точности, то, очевидно, потребность во вспомогательных механизмах, вроде словарных проверок, отпала бы сама собой. Довольно интересно проследить уже более чем 20-летнюю историю развития самого популярного у нас OCR-продукта — ABBYY FineReader. Так, если еще для FineReader 7 и 8 декларировался рост именно точности распознавания, то затем разработчики стали в основном упирать на скорость, дополнительные удобства и пр. Последнее упоминание о точности (не считая отдельных языков, которые добавлялись позднее) относилось, кажется, к FineReader 10, в контексте распознавания фотоснимков с низким разрешением.

Одновременно, алгоритмы от распознавания собственно символов смещались на все более высокие уровни (слово, абзац, страница...), пока в FineReader 9 достигли наивысшего — целого документа. Технология под названием ADRT пытается определять макет многостраничного документа, выявлять общие элементы вроде колонтитулов, соединять «перетекающие» объекты, а в итоге — более точно воссоздавать исходный документ в электронном виде. И примерно с этого момента развитие продукта стало фактически экстенсивным.

Так, важнейшим из нововведений вышедшего недавно FineReader 12 является именно усовершенствованная технология ADRT. Убедиться в этом оказалось не так уж сложно. В тестах новая версия действительно более уверенно и качественно по сравнению с FineReader 11 находила и воссоздавала такие элементы как многоуровневые списки, оглавления, таблицы. Вот один из наиболее показательных примеров:

ABBYY FineReader 12: не мытьем, так катаньем

ABBYY FineReader 12: не мытьем, так катаньем

На верхней картинке хорошо видно, что FineReader 11 не заметил неявной табличной структуры и ограничился набором несвязанных между собой текстовых блоков. Представленный же ниже результат работы FineReader 12 близок к идеалу. Но, к сожалению, так происходит не всегда. На других страницах того же документа новая версия путалась аналогично старой. Хотя именно ADRT должна была бы по одинаковым «шапкам» и некоторым другим признакам понять, что перед ней большая перетекающая таблица без разметки.

С другой стороны, сама ABBYY утверждает, что наиболее востребованной задачей для OCR-систем является извлечение текста, и в данном контексте точность распознавания символов и качество словарной поддержки ценнее ADRT. Между тем FineReader 11 и 12 демонстрируют соизмеримые количества неуверенно распознанных символов, хотя последние и не всегда совпадают — по-видимому, это говорит о некой тренировке OCR-алгоритмов без их качественного развития.

Зато FineReader 12 существенно продвинулся вперед по части интерактивной работы. Так, обработка страниц теперь выполняется в фоновом режиме, что подразумевает отсутствие прежнего модального окна со статусом операций (данную роль теперь играет строка статуса) и, соответственно, наличие доступа к интерфейсу. Благодаря этому, пользователь может работать с программой параллельно процессу распознавания, к примеру, оперативно копировать фрагменты полученного текста или корректировать разметку страниц — последние при этом будут поставлены в очередь и обработаны заново:

ABBYY FineReader 12: не мытьем, так катаньем

В отличие от прежних версий, также не происходит перелистывания страниц по мере распознавания или при начальной загрузке документа, если автоматическое распознавание отключено. В ABBYY FineReader 12 документ загружается и разбивается на страницы практически мгновенно, а их эскизы строятся только по мере пролистывания пользователем. Кроме всего прочего, тем самым экономятся вычислительные ресурсы, причем, довольно ощутимо на многостраничных документах.

Более того, при необходимости «надергать» из документа цитат и фрагментов, его больше не нужно распознавать целиком. Достаточно отключить все автоматические операции, открыть документ и выбирать необходимые фрагменты любых типов, сразу же копируя их в буфер обмена — при этом анализ и распознавание будут выполняться на лету:

ABBYY FineReader 12: не мытьем, так катаньем

Еще одним из достоинств новой версии уже традиционно называется скорость распознавания, возросшая, по оценкам самой ABBYY, на 10-15%. Подобные цифры обычно получаются по результатам обработки достаточно больших массивов документов и, соответственно, представляют нечто вроде «средней температуры по больнице». Реальные показатели могут ощутимо отличаться в зависимости от качества оригиналов, использованных языков и пр. В некоторых наших тестах FineReader 12 обгонял предыдущую версию даже больше, чем на 15%. Однако, если 138-страничная книга в PDF на сравнительно современном ПК распознается в пределах 2 мин, то для конечного пользователя подобное ускорение вряд ли сыграет заметную роль. Другое дело, если речь идет о пакетном или непрерывном распознавании, которое доступно в редакции Corporate. Но даже в этом случае большего эффекта можно добиться за счет модернизации «железа» — FineReader умеет распараллеливать задания по вычислительным ядрам и эффективно задействовать все доступные вычислительные ресурсы.

В FineReader 12 достаточно много и других изменений, начиная с плиточного интерфейса главного окна «Задачи» и поддержки жестов (при наличии сенсорного оборудования). Однако программа остается «традиционным» Windows-приложением и за ее новомодным фасадом скрываются все те же диалоговые окна и элементы управления, абсолютно непригодные для управления пальцами. Между тем, Metro-приложение могло бы пользоваться определенным спросом, учитывая, что многие планшеты оснащаются сравнительно мощными тыльными камерами. У ABBYY имеется некий задел в виде ABBYY FineReader Touch для Windows 8, однако он использует облачный сервис компании. Гораздо интереснее было бы получить дополнительный Metro-интерфейс, использующий движок настольного FineReader.

ABBYY FineReader 12: не мытьем, так катаньем

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

ABBYY FineReader 12: не мытьем, так катаньем

Также улучшена языковая поддержка: во-первых, появился русский алфавит с ударениями, во-вторых, декларируется повышение качества распознавания китайского, японского и корейского (до 20%), арабского (до 60%), иврита (до 10%); стала более качественной поддержка EPUB и XLSX; в PDF с текстовым слоем технология ABBYY Precise Scan может сглаживать символы на оригинальных изображениях страниц и т.п.

ABBYY FineReader 12: не мытьем, так катаньем

ABBYY FineReader 12: не мытьем, так катаньем

FineReader 11 и 12 разделяют два с половиной года, и, хотя разработчики не сидели это время сложа руки, приходится констатировать, что прогреcc сместился с собственно OCR на смежные области. Тем не менее ряд новинок действительно полезны, в частности, усовершенствованная ADRT во многих случаях упростит восстановление документов, а возможности интерактивной работы с приложением, по-видимому, пригодятся пользователям всех категорий.