По результатам опроса, проведенного в прошлом году редакцией «Мира ПК», система распознавания текстов FineReader компании ABBYY оказалась не просто самым популярным продуктом в своей категории, а практически единственным: за другую программу (CuneiForm компании Cognitive Technologies) проголосовал всего один человек. При этом участники в основном называли не версию 5.0, которая вышла совсем незадолго до опроса, а более ранние — 4.64, 4.0, иногда даже 1.0: ведь программа еще семь лет назад показывала отличные результаты в сравнительных тестах и потрясала всех способностью воспроизводить оформление исходных документов. А что же FineReader 5.0? Какие способы сумели найти разработчики, чтобы еще улучшить и без того очень хороший продукт?
Начать, видимо, следует с качества распознавания. Программисты из ABBYY добавили в FineReader 5.0 два новых классификатора — структурно-дифференциальный для различения близких по начертанию символов (или их сочетаний) и контурный, применяемый при распознавании декоративных шрифтов, а также усовершенствовали использование контекста. В результате удалось поднять точность распознавания в полтора-два раза.
Поскольку точность и прежде была исключительно высокой, она возросла, конечно, на доли, в крайнем случае на единицы процентов (скажем, в полтора раза точнее, чем 99%, — это 99,4%, а вдвое точнее, чем 97%, — 98,5%). Стоило ли так стараться ради, казалось бы, ничтожного выигрыша? Оказывается, да. Чем лучше распознан текст, тем заметнее каждый дефект, и, например, разница между 99% и 99,5% отлично видна «на глаз»: в первом случае ошибок «много» — (15—16 на страницу), во втором — «мало» (7—8).
Число поддерживаемых языков достигло 176, и теперь среди них есть языки программирования; кроме того, появилось распознавание подстрочных индексов, а заодно и простых химических формул.
Анализ макета страницы, ранее предшествовавший распознаванию, объединен с ним, благодаря чему лучше распознаются иллюстрации и таблицы. (Старая процедура анализа также сохранена, и при необходимости ею можно воспользоваться.) Разворот книги FineReader рассматривает теперь как две разные страницы и в результирующий документ записывает их не как две колонки, а последовательно. Среди новых профессиональных возможностей — распознавание вертикального текста и картинок внутри таблиц, задание колонкам таблицы разных языков распознавания и др.
Оформление исходного документа передается еще аккуратнее; это касается как раскладки страницы, так и шрифтов. Если оригинал был разноцветным, FineReader сохраняет цветовое оформление. Добавилась полная поддержка (с таблицами, картинками, шрифтами) формата HTML и расширились возможности экспорта в формат PDF (а вы знали, что в FineReader есть такая функция?), в частности, появился режим, в котором неуверенно распознанные слова заменяются их изображениями.
Несколько усовершенствован интерфейс пакета. А в версии Office (для предприятий) добавились возможность установки по сети и так называемый контроль одновременно работающих лицензий (может быть установлено сколько угодно копий программы, но в каждый момент число пользующихся ею сотрудников не должно превышать оговоренного в лицензии). Кроме того, в нее включена программа Formulator для заполнения бланков, которая просто сканирует бланк и выделяет в нем поля ввода. Пользователь заполняет форму, отправляет ее на принтер, — и не нужно разыскивать пишущую машинку, чтобы заполнить, например, анкету для ОВИРа. Конечно, такая программа пригодилась бы любому из нас, и очень жаль, что ее нет в версии Pro.
Для тестирования мы предложили FineReader документы, сложные, как нам представлялось, с точки зрения распознавания:
- отпечатанную в 1919 г., но еще по старой орфографии книгу М.О. Гершензона «Мудрость Пушкина» (на пожелтевшей бумаге и с сильно выцветшими буквами);
- «Португальско-русский разговорник» 1958 г. издания (текст в три колонки: португальский, русский и русский в латинской транскрипции);
- статью, напечатанную на «8-игольчатом» матричном принтере;
- копии (вторые экземпляры) двух старых машинописных писем;
- пару страниц чудовищного «самиздата» — уменьшенные в два раза фотокопии с третьего экземпляра машинописи.
Книга Гершензона прочиталась успешно. Старую орфографию FineReader поддерживает, и ни желтизна бумаги, ни бледные буквы распознаванию тоже не помешали. Каждый разворот, как и было обещано, превращался в две последовательные страницы результирующего документа. Правда, язык под названием «русский (старая орфография)» входит не в основной, а в дополнительный список, т. е. правописание для него не проверяется. В действительности модуль проверки на тексте работал; более того, он не спотыкался на «ятях», «и с точкой» и т. д. и не считал ошибкой твердый знак в конце слова. Но, увы, наотрез отказывался признавать правильными написания типа «безпричинно» или «разумнаго», так что воспользоваться им все-таки не удалось. Однако ошибок все равно оказалось мало: точность распознавания составила 99,7%.
Для четко пропечатанных страниц из разговорника она была стопроцентной. Только раз вместо буквы «a,» появилась «a», но в оригинале в этом месте была опечатка, не очень аккуратно поправленная от руки, и у FineReader имелись все основания считать пометку случайным штрихом. Проверка орфографии проработала для португальской колонки по-португальски, а для русской по-русски; «русская латиница», естественно, не проверялась, но соответствие оригиналу было полным. Одно лишь замечание: разворот разговорника программа воспринимала как одну страницу с шестью колонками текста, а не как две страницы по три колонки. Возможно, ее сбил с толку нестандартный «альбомный» формат книжечки (ширина страницы в полтора раза больше высоты).
«Самиздатовский» текст, к сожалению, оказался FineReader «не по зубам»: не распозналось вообще ничего. Этого, впрочем, и следовало ожидать, поскольку качество оригинала можно было охарактеризовать только как безобразное. Обычная же машинопись, качество которой было просто плохим, была распознана блестяще: доля верно прочитанных символов составила 99% для одного письма и 99,6% — для другого, напечатанного, кстати, через синюю копирку: программа без труда справилась с расплывчатыми буквами бледно-голубого цвета. Этому, видимо, не стоит особенно удивляться, учитывая, что FineReader в принципе «берет» и цветной текст, и машинопись. Но очень уж мало доверия внушал вид листков. На полях письма имелась рукописная пометка; в результирующем документе она превратилась в легко читающуюся картинку.
В тексте с матричного принтера в трех местах встретились непропечатанные строки. Их невозможно было прочесть, и программа их, естественно, «не взяла», зато все остальное прочла совершенно правильно (на почти 10 тыс. знаков пришлось пять ошибок, причем четыре из них представляли собой лишние пробелы или дефисы).
Ни в одном тесте, за исключением «самиздата», точность распознавания не упала ниже 99%, а кое-где равнялась 100%. Так что FineReader полностью оправдывает свое название, которое в переводе на русский язык «по науке» должно, наверное, звучать как «высокоточный инструмент для чтения», а говоря проще — «превосходный читатель».