Построение системы массового распознавания архивных документов с автоматической корректировкой результатов
Смирнов С.В., СПб ГУП «Санкт-Петербургский информационно-аналитический центр», serge.smir@gmail.com

Аннотация: В статье рассматривается проблематика построения систем массового оптического распознавания. Описывается алгоритм корректировки ошибок распознавания, архитектура, компонентная модель разработанной системы и технология работы с ней. Также приводятся сведения об эксплуатации в центральных государственных архивах Санкт-Петербурга.
Ключевые слова: распознавание образов; обработка архивных документов; оптическое распознавание; корректировка ошибок распознавания; архитектура системы; компонентная модель; алгоритм; метод; информационный поиск; массовое распознавание.
Abstract: The article focuses on the problems of constructing systems of mass OCR. An algorithm for correction of recognition errors, architecture and component model of the system are described. Also information about the deployment in the central state archives of St. Petersburg is present.
Key words: pattern recognition; processing of archival documents; OCR; correction of recognition errors; architecture; component model; algorithm; method; information retrieval; mass recognition.
1. Введение
Сфера деятельности архивов и библиотек включает в себя широкий спектр задач, связанных с комплектованием, учетом, использованием и обеспечением сохранности документов.
Эффективность выполнения каждой задачи имеет сильную зависимость от скорости нахождения и получения доступа к нужным документам. Поиск документов является своего рода «узким» местом во всех рабочих процессах и накладывает серьезные ограничения на время выполнения ежедневных задач архива.
Зачастую поиск производится лишь по документам, обладающим текстовым описанием. Текстовое описание вручную заносится в систему операторами и сотрудниками организаций в процессе составления научно-справочного аппарата и оцифровки бумажных документов.
Данный подход к пополнению поисковой базы обладает большой трудоемкостью и как следствие низкой скоростью и малым покрытием.
Выходом из сложившейся ситуации может стать разработка решения, позволяющего пользователям производить поиск по текстовому содержимому изображений документов без необходимости предварительного ручного ввода поисковых метаданных.
В рамках работ по развитию государственной информационной системы «Государственные архивы Санкт-Петербурга» был разработан программный комплекс, решающий поставленную задачу.
Программный комплекс состоит из трех подсистем: подсистемы оптического распознавания, подсистемы полнотекстовой индексации результатов распознавания, подсистемы поиска по распознанным изображениям документов.
Ключевым элементом является система оптического распознавания, описанию которой и посвящена данная работа.
2. Выбор OCR систем
Самостоятельная разработка OCR систем представляет собой довольно сложную научную и техническую задачу и не может являться обоснованной для большинства проектов по оцифровке. Особенно при условии того, что на рынке присутствует порядка десятка различных OCR систем, отличающихся условиями распространения, стоимостью, предоставляемыми функциями и, разумеется, качеством генерируемых результатов.
Сравнительный анализ выявил наличие ошибок в результатах распознавания архивных документов различного качества среди всех испытуемых систем оптического распознавания: “Abbyy Finereader”, “Cuneiform Linux”, “Cuneiform Windows”, “IRIS Readiris”, “Nuance OmniPage”, “Tesseract”. Анализ точности указал на необходимость проведения корректировки ошибок распознавания.
3. Корректировка ошибок распознавания
В работе [1] приводятся результаты проведенного обзора методов и подходов, применимых к задаче контекстной обработке результатов распознавания. Среди которых выделен ряд способов предобработки результатов распознавания путем шаблонной замены, сравнения выходных значение нескольких OCR систем, описаны методы обнаружения ошибок, основанные на оценке вероятности, n-грамм анализе, словарной проверке.
Обзор показал, что существующие методы в общем случае неплохо решают ряд задач по обработке результатов распознавания с использованием словарей, статистических моделей языка, хорошо развита тематика обнаружения и коррекции ошибок в тексте. Тем не менее, во многих случаях указанные методы предназначены для обработки современных текстов и не подходят в чистом виде для обработки исторических текстов, содержащих большое количество специализированных терминов, имен собственных, географических наименований и т.п. В большинстве работ корректировка основана на предварительном ручном обучении системы или участии человека на этапе финального выбора слова-заместителя. Также стоит отметить очень малое количество работ нацеленных на корректировку именно русскоязычных текстов.
3.1 Метод корректировки ошибок оптического распознавания 
Для корректировки результатов распознавания был разработан метод, основанный на рейтинго-ранговой модели текста. Подробное описание метода приводится в работе [2], здесь же рассмотрим только ключевые особенности. 
Разделим весь процесс корректировки результатов распознавания на четыре основных этапа (рисунок 1).

Рисунок 1. Алгоритм корректировки
1. В ходе предварительного этапа подготовки структур данных производится сбор статистической информации по всему корпусу распознанных документов, формируется целый ряд словарей и хэш-таблиц, содержащих необходимые данные для этапа генерации корректировок.
2. На этапе генерации корректировок для каждого ошибочно распознанного слова формируются списки слов-кандидатов на замену. 
Отбор слов-кандидатов осуществляется по специальным глоссариям, построенным на основе частотных характеристик повторений слов и словосочетаний со всего корпуса распознанных материалов. Использование таких глоссариев, позволяет производить корректировку текстов различных предметных областей, содержащих узкоспециализированную терминологию, имена собственные, географические наименования и т.п. 
3. Далее каждой корректировке присваивается ранг, на основе достоверности ее появления в тексте на месте ошибочного слова. После производится финальное упорядочивание корректировок по убыванию их ранга.
Финальное ранжирование отобранных слов-кандидатов производится с учетом контекста и основывается на результатах статистического n-грамм анализа всего корпуса текста в нормальной форме. Реализация функции перевода слова в нормальную форму на основе морфологических предсказаний позволяет генерировать нормальные (базовые) формы даже для слов русского языка, отсутствующих в словаре.
4. На последнем этапе производится выборка наиболее вероятных слов-заместителей, их подстановка и сохранение финального результата распознавания в формате XML.
Разработанный метод использует расстояние Левенштейна [3] в качестве критерия оценки близости корректировки и ошибочного слова, и алгоритм поиска схожих слов методом анаграмм [4].
4. Компонентная модель системы
Компонентная модель разработанной системы представлена на рисунке 2.

Рисунок 2. Компонентная модель системы
Разработанная система состоит из трех программных комплексов (ПК) связанных между собой единой БД и программным интерфейсом для взаимодействия с внешними подсистемами:
1. ПК подготовки к работе предназначен для ручного тестирования процесса распознавания на единичных изображениях. В результате тестирования для разных типов изображений создаются профайлы, содержащие в себе настройки каждого этапа распознавания и общую технологическую схему обработки. После этого необходимо произвести сравнительный анализ созданных профайлах на различных наборах данных и выявить наиболее подходящий.
Также в задачи подготовки к работе входит предварительный разбор всего корпуса распознанных текстов и построение структур данных, необходимых для автоматической корректировки ошибок
2. ПК пакетного распознавания предназначен для управления ходом выполнения заданий на обработку изображений документов. Его основными задачами являются: предоставление возможности просмотра журнала заданий, управление приоритетами заданий, вызов процедур распознавания отдельных изображений, сбор результатов и запись их в БД.
3. ПК распознавания изображения отвечает за процесс обработки отдельного изображения в соответствии с заданной в профайле технологической схемой.
Программный модуль (ПМ) предобработки занимается подготовкой изображений к процессу извлечения текста. ПМ выполняет следующие задачи: бинаризацию, устранение «шума», выравнивание угла наклона и т.п.
ПМ OCR отвечает за перевод изображений текста в машиночитаемую и редактируемую форму. Программная реализация основана на ряде свободно распространяемых систем оптического распознавания: Tesseract [5], Cuneiform [6].
ПМ корректировки реализует алгоритмы автоматической корректировки результатов распознавания.
ПМ оценки точности производит расчет метрик, характеризующих точность распознавания.
4. Программный интерфейс системы предоставляет ряд API вызовов для постановки на распознавание отдельных документов ЭА, опроса состояния и получения результатов.
6. Заключение
Испытания системы проводились в составе государственной информационной системы «Государственные архивы Санкт-Петербурга» на базе пяти центральных государственных архивов.
За первые месяцы эксплуатации было обработано 32 тысячи документов, состоящих из 700 тысяч изображений. Количество ошибочных слов после автоматической корректировки сократилось на 46%, было исправлено 16 497 948 ошибочных слов, значение словарной точности в среднем по всем архивам увеличилось на 18%.
Список литературы 
1.	Смирнов С.В. Методы автоматической постобработки результатов распознавания в задачах оцифровки архивных документов // Информационно-измерительные и управляющие системы. 2013. №9. С. 22–32.
2.	Смирнов С.В. Корректировка ошибок оптического распознавания на основе рейтинго-ранговой модели текста // Труды СПИИРАН. – 2014. – Выпуск 4(35). – С. 64‑82.
3.	Левенштейн В. Двоичные коды с исправлением выпадений, вставок и замещений символов // Доклады Академий Наук СССР. 1965. Т. 163. № 4. С. 845-848.
4.	Reynaert M. Non-interactive OCR Post-correction for Giga-Scale Digitization Projects // Computational Linguistics and Intelligent Text Processing. 2008. pp. 617–630.
5.	Tesseract-ocr. URL: http://code.google.com/p/tesseract-ocr/ (дата обращения: 29.04.2014).
6.	Cuneiform Windows. URL: http://cognitiveforms.com/ru/products_and_services/ cuneiform (дата обращения: 29.04.2014).