Познание распознавания — о том, как работает технология оцифровки сканированных текстов, №3

 | 18.15

 Мой Компьютер, №01 (505), 19.05.2008

Разные, но классные!

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

Растровый классификатор. Сравнивает символ с набором эталонов, поочередно накладывая изображения друг на друга. Эталонами в данном случае выступают специально подготовленные изображения; каждое из них объединяет в себе очертания множества вариантов написания того или иного символа. Гипотезы выдвигаются в зависимости от того, с какими эталонами точнее совпало изображение буквы. Сами эталоны строятся методом наложения друг на друга большого количества одних и тех же букв в разных вариантах начертания. Растровый классификатор работает быстро, однако высокой точности не обеспечивает. Широко используется в современных системах распознавания символов.

Признаковый классификатор, аналогично растровому, выдвигает гипотезы исходя из степени совпадения параметров символа с эталонными значениями. Оперирует определенными числовыми признаками, такими, например, как длина периметра, количество черных точек в разных областях или вдоль различных направлений и т.п. Весьма популярен у разработчиков OCR-систем. В определенных условиях способен работать почти так же быстро, как растровый. Точность работы признакового классификатора во многом зависит от качества признаков, выбранных для каждого символа. Под качеством признаков в данном случае понимается их способность максимально точно, но без избыточной информации, охарактеризовать начертание буквы.

Контурный классификатор — обособленная разновидность признакового классификатора. От последнего отличается тем, что признаки вычисляются не по полному изображению символа, а по его контуру. Этот быстродействующий классификатор предназначен для распознавания текста, набранного декоративными шрифтами (готическая фрактура, церковнославянский шрифт и т.п.). Применяется только в системах распознавания компании ABBYY Software House.

Структурный классификатор — одна из революционных разработок ABBYY Software House. Первоначально был создан и использовался для распознавания рукописного текста, однако в последнее время применяется и для обработки печатных документов. Этот классификатор проводит структурный анализ символа, раскладывая последний на элементарные составляющие (отрезки, дуги, окружности, точки) и формируя точную схему анализируемого знака.

Затем полученная схема (структурное описание буквы) сравнивается с эталоном. Этот классификатор работает медленнее растрового и признакового, зато отличается высочайшей точностью. Более того, он способен «мысленно» восстанавливать непропечатанные или залитые пятнами символы. Применяется только в системах распознавания компании ABBYY Software House.

Признаково-дифференциальный классификатор предназначен для различения похожих друг на друга объектов, таких, например, как буква «m» и сочетание «rn». Принципиальное отличие этого классификатора от описанных выше заключается в том, что он не анализирует все изображение. Дифференциальный классификатор обращается только к тем частям объекта, где может находиться ключ к правильному ответу. В случае с «m» и «rn» ключом служит наличие и ширина разрыва в месте касания предполагаемых букв. Признаково-дифференциальный классификатор используется во многих системах распознавания символов.

Структурно-дифференциальный классификатор — особо точный классификатор, «тяжелая артиллерия» распознавания. Аналогично структурному, был разработан и первоначально применялся для обработки рукописных текстов. Как и признаково-дифференциальный, этот классификатор решает задачи различения похожих объектов, но работает на порядок точнее (за счет анализа структуры). Способен «узнавать» искаженные знаки. Применяется только в системах распознавания компании ABBYY Software House.

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

Затем, в соответствии с принципами IPA, ABBYY FineReader приступает к целенаправленной проверке имеющихся гипотез при помощи дифференциального признакового классификатора. В тех случаях, когда требуется различить два особенно похожих символа (например, «1» и «l»), к анализу подключается дифференциальный структурный классификатор. В самых трудных ситуациях задействуют структурный классификатор. Построив полную схему распознаваемого знака и проанализировав ее на предмет наличия ключевых элементов структуры, этот классификатор изменяет вес гипотез в соответствии с результатами своей работы.

Заметим, что несмотря на точность используемых распознавателей, окончательное решение относительно обрабатываемого символа на данном этапе не принимается. По окончании работы всех задействованных классификаторов в распоряжение системы поступает не обозначение символа, а список гипотез, возглавляемый наиболее достоверной из них. Окончательное решение система примет несколько позже (мы об этом еще узнаем J).

Каждый классификатор опирается в процессе распознавания на те или иные эталоны, либо изначально заложенные разработчиками, либо выработанные в ходе анализа документа. Таким образом, обучаясь в соответствии с принципом адаптивности, OCR находит единственно правильное решение.

Ломать — не строить!

Итак, мы разобрали документ на символы. Самое время приступить к сборке имеющегося у нас «паззла».

Как следует из общих принципов работы системы распознавания, на каждом логическом уровне документа выдвигается ряд гипотез. Каждая из них на следующем уровне порождает еще несколько предположений. Поэтому при распознавании букв OCR оперирует огромным количеством гипотез, учитывающих все возможные варианты деления строки на слова, слова на буквы и т.д. Для быстрого и точного принятия решений система объединяет гипотезы в многоуровневые структуры — модели. Существуют разнообразные типы моделей слова: словарное слово, несловарное слово (для каждого из поддерживаемых языков распознавания построены соответствующие разновидности), e-mail или URL, цифры с префиксом или суффиксом, регулярное выражение и т.д. В результате структурирования количество подлежащих проверке гипотез сильно сокращается, так что последующая проверка происходит быстрее и эффективнее.

Чтобы увидеть, как это работает, рассмотрим процесс структурирования на примере слова «turn».

Предположим, при разделении слова на символы было выдвинуто две гипотезы: первая соответствует прочтению «tum», вторая — «turn». Классификаторы, обработав символы, в свою очередь предложили для каждой буквы обоих слов некоторый ряд гипотез. Последние, как мы уже выяснили ранее, обычно сортируются по весу. Следующий шаг кажется очевидным — теперь надо просто выбрать гипотезы с максимальным весом. Как бы не так! Далеко не всегда наиболее вероятная гипотеза в итоге оказывается истинной. Лучший способ принять правильное решение — перейти на уровень «слово» и путем нескольких проверочных операций выяснить, какой из вариантов больше остальных похож на правильный.

В рассматриваемом примере произойдет следующее: контекстная проверка покажет, что весь текст состоит из английских слов, и вес моделей «слово — английский язык» значительно увеличится, а моделей «слово — кириллица», соответственно, уменьшится. Модель «цифры» также останется позади в силу крайне малого суммарного веса составляющих гипотез. Затем словарная проверка подтвердит, что в нормативном английском языке слова «tum» нет, а «turn» — есть. Следовательно, гипотеза относительно слова «turn» приобретет еще больший вес, что позволит ей в дальнейшем оказаться «победителем». Заметим, что «авторитет» словаря значительно выше, нежели у любого классификатора, поэтому в нашем примере даже при почти слившихся буквах r и n итоговое решение будет принято правильно.

Тем не менее, словарная проверка в системе ABBYY FineReader не является «последней инстанцией»; она не определяет правильность гипотезы, как это бывает в других системах, а лишь изменяет вес выдвинутых предположений. Смысл такого ограничения прост: не существует словарей, содержащих все словоформы живого языка, ведь учесть все жаргонные, разговорные, диалектные слова и выражения просто невозможно. Следовательно, наделяя словарь правом «решающего голоса», разработчики заранее обрекают систему на некорректное функционирование. ABBYY FineReader работает иначе. При встрече с несловарным словом OCR ABBYY распознает его в точности так, как оно было написано, и дополнительно выделит цветом, обращая внимание пользователя на факт отсутствия слова в словаре.

Для обеспечения надежной работы механизма словарной проверки лингвистами компании ABBYY Software House были созданы полноценные словари, позволяющие системе FineReader распознавать тексты на многих языках. Но создать полный универсальный словарь практически невозможно. Поэтому специалисты наделили словари уникальными свойствами, сделав их морфологически структурированными. Получился гибкий и мощный инструмент, знающий строение слов и варианты их изменения по грамматическим категориям (род, время, лицо, число, наклонение и т.д.), позволяющий ABBYY FineReader моделировать словоформы, в том числе и так называемые композиты (слова наподобие «велотренажер», «авторалли» и т.п.). Морфологически структурированный словарь занимает значительно меньше дискового пространства и охватывает более 98% реального словарного объема соответствующего языка.

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

Итак, все слова текстового блока распознаны. Пользуясь информацией, полученной при анализе структуры документа, ABBYY FineReader расставляет слова по местам. Из образующихся при этом строк формируются текстовые блоки, размещаемые на странице в точном соответствии с оригиналом. Формирование документа завершено. Теперь система обращается к пользователю за подтверждением — правильно ли распознана страница? Нет ли ошибок?

Ошибки, конечно, случаются. Систем оптического распознавания символов, работающих с точностью 100%, не существует, хотя они стремятся к этому показателю. В большинстве случаев количество допускаемых FineReader ошибок не превышает 1–3 на страницу при среднем качестве оригинального документа. Согласитесь, исправить пару специально подсвеченных ошибок существенно проще и быстрее, чем перепечатывать и форматировать весь документ целиком.

В результате пользователь получает точную электронную копию страницы; при необходимости ее можно отредактировать либо сохранить «как есть».

Специальный модуль программы может экспортировать результат практически в любой из современных форматов электронных документов. Для сохранения текста удобен формат Microsoft Word, а если исходный документ представлял собой таблицу, то вполне резонно сохранить электронную копию в формате Microsoft Excel. Если же статью предполагается опубликовать в Интернете, можно использовать формат HTML или PDF.

В любом случае результат будет настолько близок к оригиналу, насколько позволяет выбранный пользователем формат. Сравнивая только что отсканированную страницу с получившимся электронным документом, пользователь сможет уверенно сказать — распознавание завершено!

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

Вместо итогов. А дальше?

Сегодня часто можно услышать о том, что современные OCR-технологии достигли такого уровня, при котором дальнейшее улучшение качества распознавания не принесет существенного эффекта. Так ли это? Те, кто так говорят, подразумевают под словом «качество» точность OCR-программ, и при том точность в ее простейшем понимании: количество неправильно распознанных символов качественно отсканированного текста. Между тем, если взглянуть на проблему шире, то окажется, что впереди огромное поле деятельности, так как документы, воссоздаваемые программой, все еще далеки от аналогичных, создаваемых человеком. И чем сложнее структура исходного документа, тем это заметнее. Таким образом, качество распознавания в широком смысле все еще будет совершенствоваться, и неровен час, мы дождемся от разработчиков новых версий, отвечающих новым, более высоким стандартам качества распознавания. Конечно, для их оценки потребуются и новые методики, ведь количество неправильно распознанных символов уже не сгодится в качестве критерия.

Одним из главных направлений развития систем распознавания в ближайшее время будет понимание документа. Таким образом, сама аббревиатура OCR (оптическое распознавание символов) теряет свой первоначальный смысл, так как распознаются уже не символы, не текст, а документ. Все большее понимание документа, назначения его составных частей повлечет не только оптимальное воссоздание его оформления, но и возможность выделения из документа определенного рода информации. Уже сейчас понимание назначения полей визитной карточки позволяет легко распознать ее и экспортировать полученные данные в приложение для управления контактами. Еще пример: представим, что создается база данных публикаций газет и журналов с целью поиска (такие базы используются в маркетинговых и социологических исследованиях, редакциях и т.п.). Как отделить существенную информацию от несущественной — тиража, оглавления, колонтитулов? Альтернативой ручной обработке может быть только технология, обеспечивающая понимание документа. Упомянутая в этом цикле статей новая технология ADRT — это первый уверенный шаг на этом пути.

Разработка различных сценариев применения здесь оказывает неоценимую помощь: если необходимо распознать журнал, включаются одни механизмы распознавания и сохраняются вполне определенные элементы верстки, если книгу — то совершенно иные. Свои методы должны применяться и для перевода текста в редактор текстов. То есть развитие будет идти по достаточно традиционному пути — сначала создается универсальное решение, а затем решаются узкие задачи, требующие своих методов.

PROMETECH

Robo User
Web-droid editor

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *