4.10.4. Программы распознавания текста


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

Основные задачи и функции систем понимания документов. Цели и задачи распознавания документов многообразны и раз­нородны, поскольку многообразны и разнородны сами документы. Их решение строится на основе анализа изображения документа, полученного со сканера, видеокамеры или другого сканирующего устройства. Процесс получения изображения с бумажного или дру­гого носителя и занесения его в память компьютера называется оптическим вводом.

После оптического ввода документ представляет собой сово­купность чер-ных и белых (либо различных цветов) точек – графи­ческое изображение. Текст в графической форме невозможно отредактировать текстовым редактором, занести в базу данных и т.д. Поэтому общую задачу распознавания документа можно сфор­мулировать как преобразование формы представления информации из графической в другую, воспринимаемую человеком и програм­мой.

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

Распознавание текста (optical character recognition - OCR) яв­ляется одной из наиболее важных задач в понимании документов и представляет собой преобразование графического изображения текста (печатного либо рукописного) в символьную форму (например, в ASCII - код).

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

Анализ структуры документа преследует две основные цели: во-первых, точную передачу структуры, что требуется при обра­ботке, например, финансовых документов; во-вторых, знание структуры необходимо для распознавания компонент документа.

Анализ реквизитов документа применяется, главным образом для подтверждения подлинности документов, таких как финансы вые и ценные бумаги (для этого анализируются, например, подпи­си, печатные оттиски, способ печати и т.д.).

Цели и задачи распознавания документов существенно зависят от типа документов (табл.4.9). 

Основными целями в системах понимания документов являют­ся: воспроизведение; преобразование формы представления; понимание; хранение, диспетчеризация, поиск; определение подлинности.

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

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

Таблица 4.9

 

Цели и задачи распознавания некоторых классов документов

Классы 

документов

Цели 

обработки

Задачи 

распознавания

Основные 

особенности 

и требования

Одиночные 

документы

Воспроизведение, хранение, поиск

Управление изображением, распознавание текста

Универсальность, гибкость

Газеты, 

журналы

Воспроизведение, хранение, поиск 

Анализ структуры, распознавание текста

Универсальность

Книги, 

массивы 

текстов

Воспроизведение текста, хранение, поиск

Распознавание и верификация текста

Настройка на текст. Высокая скорость чтения

Бланки

Преобразование формы. Понимание

Идентификация типа, распознавание зон. Семантический анализ.

Высокая скорость обработки. Ограниченность языка

Финансовые 

документы

Преобразование формы. Понимание. Установление подлинности

Идентификация типа, распознавание зон. Семантический анализ. Идентификация подписей, печатей, штампов

Высокая точность. Ограниченность языка

Ценные 

бумаги

Преобразование формы. Установление подлинности

Идентификация типа, распознавание зон. Идентификация элементов защиты

Высокая точность. Специальное оборудование


Уровень развития технологии понимания документов и вычис­лительной лингвистики позволяет при определенных условиях из­влечь смысл документа, т.е. понять его. Это справедливо для задач, в которых используются ограниченные подмножества естественно­го языка (например, системы чтения почтовых адресов, карточек и др.). В этом случае распознающая система выдает некоторую по­следовательность команд или сообщений, сгенерированную по ре­зультатам распознавания текста и его смыслового (семанти­ческого) анализа.

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

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

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

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

Новые возможности в управлении потоками информации от­крывает технология автоматического аннотирования, или рефери­рования текстов. Ее суть состоит в том, что на основе синтаксического и семантического анализа текста система автома­тически выделяет наиболее важные понятия, ключевые слова, а в наиболее развитом варианте - определяет и формулирует краткое содержание документа - аннотацию или реферат.

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

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

В настоящее время лидерами белорусского и российского рынка систем такого назначения являются - CuneiForm (фирма Cognitive Technologies, Москва) и FineReader (фирма Bit, Москва). Обе сис­темы сходны как по выполняемым функциям, так и по характери­стикам. Поскольку пакет CuneiForm интегрирован в описываемые далее системы Евфрат и ME DMS, остановимся более детально на этом продукте.

Система распознавания документов CuneiForm 96. Система распознавания документов CuneiForm осуществляет преобразование графического изображения документа в редакти­руемый текст различных форматов, воспринимаемых текстовыми процессорами, электронными таблицами, системами управления базами данных. Она распознает символы различных языков (русского, английского, французского, немецкого), напечатанные разными шрифтами. Причем, в пределах страницы, абзаца и даже отдельного слова могут быть использованы разнообразные шриф­ты. CuneiForm позволяет работать со смешанными текстами (русский и английский на одной странице) и сохранять графики с текстом в одном документе формата RTF (Rich Text Format).

Важным преимуществом CuneiForm является возможность вво­дить табличные данные, распознавать их, соблюдая форматы оригинала для каждой ячейки таблицы. Результаты распознавания табличных данных могут записываться в форматах электронных таблиц (Excel, Lotus 1-2-3), экспортироваться в текстовые процес­соры (MS Word, Write, WordPad), сохраняться в файле формата Fox pro или помещаться в базу данных через ODBC (Open Database Connectivity).

Система сохраняет форматированные тексты оригинала, табу­ляцию, отступы и выравнивание, а также графику в черно-белом, полутоновом и полноцветных форматах. CuneiForm может распо­знавать курсивное, полужирное и полужирное курсивное начерта­ние символов и обрабатывать многоколонный текст.

В CuneiForm реализована функция проверки орфографии. Для ее реализации используются специальные программы и словари, установленные на компьютере или в сети. Редактирование текста возможно с помощью внутреннего текстового редактора CuneiForm, в окне которого отображается распознанный текст с выделенными ошибочными или неопределенными словами или символами, а также с помощью текстовых процессоров WinWord и Lotus AmiPro.

CuneiForm обеспечивает пикетный режим работы, т.е. скани­рование и распознавание множества страниц без участия операто­ра, а также имеется возможность заранее отсканировать некоторое количество страниц и указать системе список файлов, подлежащих распознаванию. Распознавание и запись в текстовые файлы будут выполнены автоматически. Система может обрабатывать файлы следующих графических форматов: BMP, GIF, JPEG, PCX, TIFF и др. Обычно процесс работы с CuneiForm разбивается на следую­щие шаги: сканирование; запись изображения (может отсутствовать); распознавание; просмотр текста; запись текста.

Программы проверки и корректировки текста. Текст, введенный в компьютер с помощью клавиатуры либо программы распознавания, как правило, содержит разного рода ошибки - орфографические, грамматические, стилистические. Например, после ввода с клавиатуры текст может содержать свыше 2-5% ошибок, после оптического ввода, если вводимый документ был низкого качества, число ошибок иногда достигает 10% и бо­лее.

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

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

Современные средства контроля и корректировки текста позво­ляют, как правило, обнаруживать и исправлять (автоматически ли­бо полуавтоматически) две категории ошибок - орфографические (опечатки в словах) и грамматические (несогласование слов, не­правильная расстановка знаков препинания, прописных и строчных букв и т.д.).

Для исправления орфографических ошибок в большинстве про­грамм применяется метод, который можно назвать моделированием ошибок. Выделяется 6 основных типов ошибок: слияние и разбие­ние слов, замена, пропуск, вставка и перестановка букв в слове. Если в слове произошла ошибка, например, замены (модель - модель), то подстановка вместо ошибочного символа всех симво­лов алфавита приведет в конечном счете к нахождению корректно­го слова (корректным считается слово, содержащееся в словаре системы).

Реализация метода сталкивается с двумя основными трудностя­ми: локализация ошибок; анализ многократных ошибок.

При проверке слова зачастую невозможно сделать однозначный вывод о месте, типе и кратности ошибки.

Например, выявлено ошибочное слово "модер". Анализируя только однократные ошибки, получим следующее множество кан­дидатов: моде (ошибка вставки), модерн, (ошибка удаления), мо­ден, модем, кодер, мохер (ошибка замены), все словоформы с на­чалом модерн (ошибка разбиения слова). Как видно, ошибочная цепочка могла быть образована от различных слов, причем пози­ции ошибки различны.

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

Поскольку слово может содержать несколько ошибок различ­ных типов, подстановка должна осуществляться многократно. Комбинации ошибок порождают резко возрастающее количество вариантов подстановок. К программам контроля и корректировки предъявляются ограничения по времени обработки, поэтому глу­бина подстановки ограничивается, как правило, кратностью 2-3, что в ряде случаев не позволяет найти верный вариант ошибочного слова.

Другой особенностью орфографических ошибок является то, что многие опечатки приводят к корректным словам. Например, фраза "математическая модуль'' содержит ошибку, но слово модуль существует в словаре, и программа проверки правописания не может даже обнаружить такую ошибку: ее нахождения и исправление возможно только на основе сложного анализа всего предложения.

Анализ грамматической корректности предложения основыва­ется на применении множества правил языка (подобных изучае­мым в средней школе). Программы грамматического контроля содержат сотни таких правил, но обнаружить и исправить все ошибки они не могут.

Отметим, что программы проверки правописания (в процессоре Word функция Орфография - Spelling) и грамматической коррек­тировки (функция Грамматика - Grammar) являются весьма по­лезными инструментами, но они не избавляют полностью от необходимости тщательного вычитывания и корректировки текста документа человеком.

Указанные программы и необходимые для них словари постав­ляются со многими продуктами, такими как текстовые процессоры или программы оптического ввода и распознавания, а также суще­ствуют в виде отдельных приложений. Для русского языка это та­кие продукты, как ОРФО, Пропись, Lingvo Corrector.