Перевод в электронный формат, кодированные наборы шрифтов и система Оптического Распознавания Символов для многошрифтовых информационных ресурсов на примере “Летописи журнальных статей” - [3]

Шрифт
Интервал

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

К сожалению структура библиографических ссылок, составляющих “Летопись журнальных статей” соответствует стандартной русской библиографической практике, в соответствии с которой практически все имена представлены в формате “фамилия плюс инициалы”. В данной ситуации ошибки OCR наиболее вероятны: одиночные заглавные буквы без контекста, по которому OCR могла бы определить к какому алфавиту принадлежит наиболее похожая буква. То обстоятельство , что за инициалом следует точка, не меняет дела в плане выбора соответствующего алфавита, поскольку часто встречающиеся знаки пунктуации универсальны по всей системе Unicode. Точке (в конце предложения) соответствует символ Unicode U+002E вне зависимости от того, какой текст ее окружает - на русском, греческом или каком-либо другом языке, имеющем в своей основе латинский алфавит. Таким образом, наличие точки не добавляет информации в отношении того, к какому шрифту относится пунктуация.

Еще один распространенный источник ошибок, характерный для всех типов OCR, интерпретация отдельных дефектов и пятен на бумаге как знаков пунктуации или диакритики. Эта проблема особенно актуальна для “Летописи журнальных статей” при использовании греческого алфавита, поскольку внутри греческого алфавита в системе символов Unicode существуют некоторые буквы, представляющие собой производные от основного алфавита буквы с дополнительными tonos (U+0384) или dialytika (U+0308). Наш опыт показывает, что часто плохо пропечатанная или неразборчивая латинская заглавная I (U+0049) распознавалась системой OCR как заглавная греческая “Иота” c диалитикой (U+03AA) или заглавная греческая “Иота” c тонос (U+038A). Таким образом, в дополнение к ошибкам, допускаемым OCR при распознавании визуально идентичных символов, существует проблема производных символов, которая также ведет к снижению точности распознавания. Заглавная иота со связанными производными формами представляет собой большую проблему поскольку латинская заглавная “I” (U+0049), за которую ее чаще всего неправильно принимает OCR, обычно стоит в тексте обособленно, в особенности в составе римских чисел. Другие греческие буквы, имеющие производные формы, в частности “эпсилон” с tonos (U+0388) и “эта” с tonos (U+0389), и латинские и кириллические буквы, за которые их ошибочно принимают, как правило, встречаются внутри слов, так что их проверка по встроенным словарям OCR позволяет устранить большинство подобных ошибок. Тем не менее, эта проблема не сводится только к распознаванию, поскольку производные символы существуют во многих вариантах латинского шрифта, используемого в качестве основы французского, чешского и многих других алфавитов. 

В частном случае проекта “Летопись журнальных статей”, где основной объем текста представлен на кириллице, были предложены следующие возможные решения: удаление греческого языка из набора задаваемых параметров распознавания с последующей ручной корректировкой текста в тех местах, где встречается греческий; удаление из задаваемых параметров и греческого, и латинского, с последующей ручной корректировкой; и полное распознавание всех трех шрифтов и корректирование всех ошибок, возникающих в результате данного набора установок, на стадии ручной корректировки.

 Было установлено, что в проекте “Летопись журнальных статей” количество фактически встречающихся в документе греческих символов значительно меньше, чем количество ошибочно введенных в текст греческих символов при обработке системой OCR. Таким образом, мы решили что в нашем конкретном случае общий результат в плане точности распознавания текста на выходе из системы OCR существенно улучшится если удалить греческий язык из системы требований для распознавания, и внести в текст отдельные встречающиеся греческие символы впоследствии вручную.

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


Рекомендуем почитать
Изучаем Java EE 7

Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)


Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


Фундаментальные алгоритмы и структуры данных в Delphi

Книга "Фундаментальные алгоритмы и структуры данных в Delphi" представляет собой уникальное учебное и справочное пособие по наиболее распространенным алгоритмам манипулирования данными, которые зарекомендовали себя как надежные и проверенные многими поколениями программистов. По данным журнала "Delphi Informant" за 2002 год, эта книга была признана сообществом разработчиков прикладных приложений на Delphi как «самая лучшая книга по практическому применению всех версий Delphi».В книге подробно рассматриваются базовые понятия алгоритмов и основополагающие структуры данных, алгоритмы сортировки, поиска, хеширования, синтаксического разбора, сжатия данных, а также многие другие темы, тесно связанные с прикладным программированием.


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.


Как пасти котов. Наставление для программистов, руководящих другими программистами

«Как пасти котов» – это книга о лидерстве и руководстве, о том, как первое совмещать со вторым. Это, если хотите, словарь трудных случаев управления IT-проектами. Программист подобен кошке, которая гуляет сама по себе. Так уж исторически сложилось. Именно поэтому так непросто быть руководителем команды разработчиков. Даже если вы еще месяц назад были блестящим и дисциплинированным программистом и вдруг оказались в роли менеджера, вряд ли вы знаете, с чего надо начать, какой выбрать стиль руководства, как нанимать и увольнять сотрудников, проводить совещания, добиваться своевременного выполнения задач.