Тема 6. Системы оптического распознавания текста
В практической деятельности часто встречаются ситуаций, когда необходимо перевести в электронный вид документ, напечатанный на бумаге. В этом случае можно просто набрать документ на компьютере, что довольно трудоемко, либо воспользоваться сканером и OCR-системой.
Системы оптического распознавания текста (Optical Character Recognition — OCR-системы) предназначены для автоматического ввода печатных документов в компьютер.
Современные программы распознавания текста не только ошибаются реже, чем живой человек, но и обеспечивают проверку орфографии, автоматическое форматирование текста и массу других дополнительных удобств.
В последние годы ведущие позиции на российском рынке «распознавалок» удерживают программы FineReader и CuneiForm. Несмотря на свои замысловатые названия, обе программы отечественного производства и вполне хорошего качества.
Чаще всего для сканирования используют планшетный сканер, как наиболее доступный для рядового пользователя. При сканировании необходимо соблюдать определенные требования, от которых зависит успешность последующее распознавания текста:
1. Выбирая оригинал для сканирования необходимо помнить, что чем лучше качество оригинала, тем лучше будут результаты сканирования и последующего распознавания.
2. Сканировать любое изображение (для последующего распознавания) лучше в оттенках серого – цветное изображение при распознавание дает дополнительные погрешности. Глубина цвета большого значения не имеет, лучше выбирать 8bit, так как при большей глубине увеличивается размер файла, а, следовательно, уменьшится скорость обработки изображения программой распознавания.
3. Разрешение должно быть не менее 300dpi
В настоящий момент существует более 20-ти программ, основная функции которых – распознавание текста.
Одной из популярных коммерческих программ оптического распознавания текстов является программа FineReader (http://www.abbyy.ru/finereader/), созданная компанией ABBYY Software House.
FineReader — шрифтонезависимая система оптического распознавания текстов. Это означает, что она позволяет распознавать тексты, набранные практически любыми шрифтами. Особенностями программы FineReader являются высокая точность распознавания и малая чувствительность к дефектам печати, что достигается благодаря применению технологии целостного целенаправленного адаптивного распознавания.
Программа отвечает требованиям совместимости с новыми операционными системами Microsoft, Macintosh, Linux и других ОС.
Таблица 9. Сравнение языковой функциональности продуктов FineReader для разных ОC
Поддерживаемые ОС | Продукты | Кол-во языков распозна-вания | Кол-во языков, для которых предусмотрена словарная поддержка и проверка орфографии | Языки интер-фейса |
Windows 8 (и не может быть установлена на операционную систему младше Windows XP | FineReader 11 Professional Edition | |||
MacOS X10.4-7 (пока не поддерживает последнюю версию X 10.8 Mountain Lion) | FineReader Express Edition | |||
Fedora 16, Debian/GNU Linux 6 Ubuntu 11.04 LTS, 11.10 | FineReader Engine 9.0 |
Программа позволяет распознавать с высокой точностью тексты на 198 языках. Среди них естественные языки (русский, английский и др.), искусственные языки (идо, интерлингва, окциденталь, эсперанто), языки программирования (Basic, JAVA, Pascal, Fortran, C/C++, простые химические формулы). Версия программы для Mac OS не поддерживает искусственные языки и дает наименьшее количество языков для работы. Максимальное число языков дает версия программы для ОС на базе ядра Linux. Программа позволяет выводить на печать исходное изображение и распознанный текст, сохранять отсканированное изображение в различных форматах, настраивать панели инструментов программы.
По мнению разработчиков улучшения, внесенные в одиннадцатую версию ПО позволили увеличить скорость обработки документа на 20%, улучшилось качество обработки отдельных элементов (картинок, графиков, штрих-кодов, таблиц, колонтитулов, заголовок, текста на полях и др.).
Благодаря применению технологии Adaptive Document Recognition Technology (целостного целенаправленного адаптивного распознавания) ABBYY FineReader 11 превосходно сохраняет исходную структуру многостраничных документов, включая расположение текста, таблиц, колонтитулов, примечаний, нумерацию страниц, содержания, оглавления и др.
В новой версии появилась возможность форматировать документы непосредственно в программе. Улучшенный режим проверки результата распознавания позволит быстро исправить ошибки в тексте.
Помимо привычных форматов в новой версии появилась возможность сохранять результаты распознавания в популярные форматы электронных книг (fb2, ePub и др.), что поможет быстро сделать электронную копию для портативного устройства – бук-ридера, планшета, смартфона, и др.
Помимо продукта, требующего установки на компьютер, существует on-line сервис, предоставляемый на сайте разработчика (http://finereader.abbyyonline.com/ru). Требуется регистрация на сайте. На данный момент в день можно распознавать бесплатно по 4 страницы. На этом же сайте представлен облачный ресурс ABBYY Cloud OCR SDK, предоставляющий возможность распознавания документов на сервере компании. (http://www.ocrsdk.com/). Предоставляется пробный период (90 дней) в течении которого сервисом можно пользоваться бесплатно, однако распознать можно не более 50-ти страниц. В случае необходимости распознать большее количество страниц, то на сайте предлагаются коммерческие пакеты.
Технология распознавания
Сложность машинного распознавания текстов заключается в том, что его невозможно построить по жесткому алгоритму хотя бы потому, что для написания одной и той же буквы существует множество вариантов написания (шрифт, начертание). Для того, чтобы получить корректный результат система должна их «осмыслить». Иными словами, для распознавания текста требуется моделирование рассуждений человека в подобной ситуации, а это принято обозначать термином «искусственный интеллект».
Исходя из принципа целостности распознаваемое изображение рассматривается как единый объект, состоящий из частей, связанных между собой пространственными соотношениями. По принципу целенаправленности распознавание строится как процесс выдвижения и целенаправленной проверки гипотез об объекте, а принцип адаптивности подразумевает способность системы к самообучению.
Для выдвижения гипотез о том, что может представлять собой изображение, применяются так называемые признаковые классификаторы. Они используют ряд признаков, на основе которых программа вычисляет степень близости распознаваемого изображения и известных ей классов изображений, после чего выдает список подходящих классов, т. е. гипотезу о принадлежности объекта к тому или иному классу. Кроме того, признаковые классификаторы применяются также и для повышения точности распознавания изображений с дефектами.
Полученный набор классов последовательно проверяется структурным классификатором, анализирующим каждый символ. Скажем, если FineReader полагает, что на странице изображена буква «Ф», он специально проверяет те признаки, которые должны быть именно у буквы «Ф», а не у какой-либо другой, сравнивая этот символ со структурным эталоном. Структурный эталон описывает символ как комбинацию структурных элементов (отрезок, дуга, кольцо, точка), находящихся в определенных отношениях между собой. Процесс распознавания делится на этапы выделения структурных элементов в изображении и сопоставления их с эталоном.
Если в окончательный список попало более одной гипотезы они попарно сравниваются с помощью дифференциальных классификаторов. Если структурный классификатор при распознавании символов не может однозначно выбрать одну из двух букв с похожим написанием, между этими конкурирующими гипотезами делается дифференциальный выбор. Например, есть две гипотезы: распознаваемый символ представляв собой строчную букву «ъ» или «ь». Чтобы сделать выбор, FineReader целенаправленно проанализирует левый верхний угол буквы, где имеется единственная отличительная деталь между этими буквами.
С завершением работы дифференциального классификатора заканчивается распознавание и начинается этап проверки итогового списка гипотез. Окончательная стадия распознавания осуществляется системой контекста — при наличии некоторого количества распознанных букв из слова программа, используя словарь, может «догадаться», что это за слово.
Базовые принципы целостности, целенаправленности и адаптации остаются неизменными от версии к версии программы FineReader, ведь именно они позволяют компьютеру приблизиться к логике мышления человека.
Помимо описанной выше программы существуют и другие программы.
Microsoft предлагает пользователям ПО, которое может помочь в переводе текста в электронный вариант: Microsoft Office Document Imaging входит в состав пакета Microsoft Office, позволял распознавать отсканированные документы. Не доступен в версии Microsoft Office 2010. ПО может читать небольшие изображения формата TIFF. Точность распознавания невысокая, предъявляет очень высокие требования к качеству и ориентации сканированного документа.
Свободно распространяемая открытая OCR-система CuneiForm (http://www.cuneiform.ru/), которая является предшественницей систем промышленного распознавания и понимания документов. Многие технологические новшества, результаты научных исследований, положенные в основу CuneiForm, успешно применяются и совершенствуются по сей день в коммерческих продуктах Cognitive Technologies. До 2009 года распространялась как коммерческая, с этого момента остановился процесс обновления.
Результаты работы программы можно редактировать в офисных программах и текстовых редакторах и сохранять в популярных форматах, проводить по ним полнотекстовый поиск. Распознавание документов возможно на 20 языках. Для повышения качества распознавания в программе используется словарная проверка. При этом стандартный словарь можно расширить за счет импорта новых слов из текстовых файлов.
Вопросы по теме:
1. Какие требования предъявляются основными OCR-системами к оригиналу и цифровой копии?
2. Что подразумевает принцип целостного, целенаправленного, адаптивного распространения?
3. Как функционально отличаются версии FineReader для различных ОС?
4. Какие другие сервисы и ПО позволяют распознавать тексты?