Язык всегда
хранит культурное наследие предшествующих
поколений. Письменные памятники, оставшиеся
от них, дают возможность изучать историю развития
и процесс становления его современной формы.
При этом одной из многих проблем, неизбежных
для исследователя древних текстов, является
их лексикографический анализ. Ее решение
традиционными методами, без применения средств
вычислительной техники, очень трудоемкий
процесс. Поиск различного написания одного
и того же слова и анализ данных слов и их вариантов
даже в пределах одного документа (на тридцати
двух написанных скорописью листах (рис.
1), составляющих Отводную книгу Белого двора
Онежского Крестного монастыря (1688 г.)), представляется
довольно трудной задачей. Кроме того, некоторые
рукописи, например, “Путятина минеи” (рис.
2), вообще не имеют разбиения на слова, а
в его тексте, представляющем собой пословный
перевод с греческого, вместо пробелов были
использованы точки.
Значительный
скачок возможностей ЭВМ, который наблюдается
в последнее время, в том числе и в области
технологий мультимедиа, а также все более
широкое их распространение не только обеспечивают
научную работу с древними текстами, но и позволяют
говорить об актуальности их электронного
издания, принимающего научную форму (в частности,
подобные работы проводятся в Институте Русского
Языка им. В.В.Виноградова РАН).
Прежде чем говорить о технологии
издания, необходимо определить то, как оно
будет выглядеть. Простое факсимильное полиграфическое
переиздание древних рукописей не представляется
приемлемым для Российской науки: в таком издании
должна содержаться научная информация, некоторый
анализ текста, превращающий рукописи в научный
труд. С помощью полиграфии удастся выпустить
лишь ограниченное число рукописей, а представление
их лексикографического или лексикологического
анализа вообще затруднительно. Таким образом,
ни в коем случае не отрицая необходимость
издания рукописей в виде книги, мы приходим
к выводу о необходимости выпуска их электронной
версии, что позволит более полно охватить
объем древних текстов и представить в удобной
форме результаты их научной обработки.
Определив содержание издания,
можно говорить о его виде и, в дальнейшем,
о технологии его создания. С точки зрения
внутренней организации, издание представляет
собой базу данных, содержащую страницы рукописи
вместе с их пагинацией и научную информацию
об их тексте. К ней прежде всего можно отнести
текст перевода рукописи, сам по себе очень
часто представляющий результат большой работы,
в силу неоднозначности интерпретации слов
некоторых рукописей. Кроме того, к итогам
обработки текста, которые также размещены
в базе, относят словник, содержащий все
слова, встречающиеся в тексте; словарь вариантов
графических образов этих слов и комментариев
к ним; а также указатели месторасположения
этих вариантов в тексте оригинала древней
рукописи и в тексте ее перевода на современное
русское начертание либо на современный русский
язык. Кроме того, для некоторых рукописей,
например для “Миней”, представляющих церковные
песнопения, может быть добавлена аудио-
или даже видео-информация. Учитывая предъявляемые
требования, база данных состоит из трех таблиц,
выражающих три сущности:
Все программное
обеспечение для такого электронного научного
издания древних рукописей можно разделить
на две группы: 1) относящееся к подготовке
издания, то есть фактически к формированию
рассматриваемой базы данных, и 2) приложения,
входящих в само издание — это просмотрщики
базы, имеющие некоторые дополнительные
функции. К последнему классу программ можно
отнести просмотрщик словника и словаря
(рис. 3), в функции которого
входит просмотр списка слов, содержащихся
в базе данных, выбор слова из представленного
списка и просмотр вариантов написания выбранного
слова и комментариев к ним. Данное приложение
не является основным источником информации
и носит для пользователя справочный характер.
Основной просмотрщик, помимо этого, позволяет
отображать оригинал древней рукописи и его
перевод, имеет развитые средства поиска необходимой
научной информации, в том числе позволяет
выполнять поиск варианта написания слов,
указав данное слово в тексте перевода или
на изображении оригинала.
Для получения электронного
научного издания, описанного в предыдущем
разделе, была разработана технология, состоящая
из последовательного выполнения следующих
этапов: получение графических файлов
с изображением оригинала; обработка изображений
оригинала рукописи; получение файлов с текстом
перевода рукописи; добавление полученных
файлов в базу данных; установка тождества
между словами текста перевода и соответствующими
им областями на изображении рукописи; составление
словника рукописи; добавление в базу данных
информации о различных вариантах написания
слов; добавление к полученным вариантам комментариев.
Трудность
выполнения первого этапа заключается в том,
что многие рукописи находятся в плохом состоянии
и их сканирование невозможно. Для решения
этой проблемы могут использоваться цифровые
камеры и подобные устройства. При этом, требуемое
разрешение для полиграфического издания
составляет не менее 600 dpi, для электронного
издания оно может быть меньше. Наличие цветового
оформления рукописей делает необходимым
получать цветное изображение.
Из-за плохого состояния самих
рукописей, а также из-за того, что очень часто
сам оригинал недоступен, а оцифровка изображения
происходит с копий (например, с ксерокопии
или фотокопии), полученное качество цифровых
вариантов изображений рукописей оказывается
недостаточным. Для его повышения необходимо
произвести обработку изображения, например,
с помощью графического редактора PhotoShop 4.0,
который имеет для этого все необходимые средства.
Здесь производится удаление грязи, пятен
и т.п. дефектов, при необходимости производится
цветовая коррекция и т.д.
Текст перевода рукописи может
представлять собой не только перевод на современный
русский язык, но и быть простым переводом
изображения текста рукописи в символьную
форму. Таким образом, он имеет полиязычную
и полишрифтовую форму, что приводит к необходимости
его представления в формате Rich Text Format (RTF).
Подготовка таких файлов может производиться
с помощью широко распространенного текстового
процессора MS Word 97. Кроме того, технология предусматривает
наличие для каждой страницы изображения рукописи
(для каждого графического файла) своего файла
с текстом перевода данной страницы.
Это необходимо
для осуществления следующего этапа технологии
— добавления полученных файлов в базу данных.
С этого этапа и до конца подготовка издания
осуществляется с помощью специального приложения
(рис. 4), в функции которого
входит формирование описанной выше базы данных.
Для этого необходимо открыть графический
файл с изображением и файл с текстом перевода,
отформатировать текст перевода (для лучшего
восприятия рекомендуется построчное соответствие
текстов), ввести название страницы и дать
команду на сохранение.
Разбиение
текста перевода на слова не представляется
затруднительным и может производиться как
вручную, так и автоматически. Само выделение
слова происходит стандартным для Windows способом,
как при копировании в буфер. Для разбиения
на слова изображения рукописи в программе
наличествуют функции добавления слова, его
удаления, разделения слова на два, сращивания
текущего слова с правым и левым словом, изменение
размеров слов. Работа с ограничителем выделенной
области, представляющим собой синий прямоугольник
или область маски, ведется как с аналогичными
ограничителями области для копирования в
буфер в графических редакторах. Согласно
требованиям технологии, слова в изображении
должны быть выделены таким образом, чтобы
каждое из них соответствовало слову в переводе.
По результатам
описанного этапа, а точнее по разбиению текста
перевода на слова, происходит составление
словника рукописи, то есть сохранение в базе
данных всех слов в ней встречающихся. Для
этого просматриваются все слова текста перевода,
если текущего слова нет в базе, то оно в нее
добавляется. Одновременно с этим сохраняется
выделенная область изображения, имеющая тот
же порядковый номер, что и слово в переводе.
Кроме того, в базе сохраняются положения выделителей
текста и изображения. В ручном режиме добавления
варианта выделители устанавливаются в требуемое
положение и дается команда: “добавить вариант
текущему слову”. При ошибке возможен откат,
то есть удаление всех вариантов на данной
странице, удаление всех вариантов слова, удаление
текущего варианта или всех вариантов вообще.
Данная технология позволяет
создать электронное научное издание древних
рукописей. Для ее реализации было необходимо
разработать алгоритм автоматического разбиения
страницы на слова. Использование этого алгоритма
позволяет значительно уменьшить время достижения
конечного результата за счет автоматизации
самого трудоемкого этапа технологии.
Как видно из блок-схемы обобщенного
алгоритма разбиения страницы изображения
на слова, представленной на рис.
5, весь процесс разбиения можно условно
разделить на две большие части — разбиение
страницы на строки и разбиение строк на слова.
Такой подход к вопросу позволяет контролировать
процесс, локализовать ошибки и, как следствие,
ускорить перенастройку параметров разбиения
для разбиения другого вида текста.
Разбиение изображения на
строки заключается в получении каркаса строк,
то есть такого набора строк, при котором между
любыми двумя реально существующими строками
документа существует граница. После того
как каркас строк создан, происходит его коррекция,
заключающаяся в отсеивании лишних и статистической
обработке оставшихся строк.
При тестировании алгоритма
(пороговое значение темного цвета при бинаризации
матрицы изображения взято в размере 60% от
белого цвета) для исходного изображения (рис.
1), отсканированного с различным разрешением
и количеством градаций серого цвета, были
получены результаты качества разбиения, представленные
на рис. 6. Оценка качества
разбиения происходила по следующей формуле:
,
Первый параметр используется
также и при разбиении строк на слова, хотя
в этом случае его значение может быть отлично
от используемого для разбиения на строки.
Он представляет собой максимальное значение
серого цвета (алгоритм используется для изображений
документов, написанных черным по белому, с
палитрой, представляющей собой градации серого
цвета), выраженное в процентах от белого, которое
принадлежит темным цветам, то есть диапазону
цветов (от черного до определяемого данным
параметром), которым написаны буквы текста
изображения. Значение данного параметра алгоритма
рекомендуется устанавливать около 60%.
Вторым параметром разбиения
изображения на строки является минимальное
число темных точек (то есть точек диапазона
темного цвета) в каждой горизонтальной линии
матрицы изображения, при котором исследуемая
линия принадлежит строке изображения. Все
линии с числом точек, меньшим данного параметра,
считаются принадлежащими межстроковому пространству.
Постепенно увеличивая это число, можно опытным
путем построить каркас изображения, но существует
алгоритм, позволяющий абсолютно точно автоматически
вычислить пороговое значение темных точек
строки. Он позволяет автоматически строить
каркас строк для изображений страниц, имеющих
четкое написание строк.
Его основная предпосылка
— можно допустить, что под строки текста отводится
примерно половина площади листа. Исходя из
этого можно утверждать, что половина строк
матрицы изображения принадлежат строкам
текста (те строки матрицы, количество темных
точек в которых наибольшее), а вторая половина
(с наименьшим количеством темных точек) —
межстроковому пространству. Анализируя распределение
числа темных точек в строках матрицы (рис.
8), а также его упорядоченный по возрастанию
количества точек вариант (рис.
9), можно сделать предположение об экспоненциальном
характере последней кривой. Учитывая, что
искомый параметр есть значение по оси ординат
точки, лежащей на середине отрезка оси абсцисс
(строка с одинаковым количеством темных точек),
для его поиска выводится формула:
Полученное число (отклонение
от точного значения находится в пределах
30–35% в сторону уменьшения) берется в качестве
компаранды первой итерации алгоритма. В том
случае, если на текущей итерации количество
строк с большим и меньшим числом темных точек
не совпадают с точностью до числа строк с
количеством темных точек, равным компаранде
на данной итерации, то в зависимости от разности
числа этих строк по линейному закону выбирается
следующая компаранда. Конечная компаранда
и будет искомым пороговым значением темных
точек строки.
Построенный каркас строк
(рис. 10) фактически представляет
собой множество полученных строк, среди которых
находятся реально существующие. Для их выявления
среди ошибочных необходимо использовать
некий фильтр, который бы выбирал требуемые
строки. В качестве параметра такой фильтрации
полученного разбиения выбрана высота строки.
Согласно империческим данным строки, высота
которых меньше средней высоты всех строк
каркаса, реально не существуют. Значение параметра
коррекции разбиения на строки, называемого
минимальная высота строки, рекомендуется
приравнивать к средней высоте строк.
Выравнивание высоты строк
проводится следующим образом. Вычисляется
средняя высота всех строк и происходит изменение
верхней границы первой строки до среднего
значения. Затем данная операция проводится
для всех оставшихся строк, причем изменяется
та граница, которая ближе к соответствующей
границе соседней строки. Из четырех возможных
вариантов размещения строк в трех алгоритм
работает корректно. В четвертом случае корректируемая
и последующая за ней строки (предыдущая уже
исправлена) могут иметь одинаковую ошибку
— их верхняя граница смещена вверх. Тогда
перед выравниванием высот строк рекомендуется
проводить сглаживание их высоты.
Сглаживание
высоты строк изображения происходит так:
те строки, высота которых в полтора и более
раз превышают среднюю высоту всех строк, уменьшаются
до полуторной средней высоты. Причем, выбор
границы, которую следует смещать, выполняется
следующим образом: если расстояние до нижней
границы верхней строки меньше, чем расстояние
до верхней границы нижней строки, то верхняя
граница смещается вниз. В противном случае
анализируется следующая за текущей строка:
если ее высота находится в пределах допустимого
значения (1.5 от средней), то происходит смещение
вверх нижней границы строк. Если же высота
превосходит предельное значение, то существует
вероятность возникновения четвертой ситуации,
при которой возможна ошибка. Поэтому в последнем
случае требуется дополнительная проверка:
если расстояние между верхней границей корректируемой
строки и нижней границей предыдущей строки
меньше, чем половина среднего расстояния
между строками, то можно считать, что верхняя
граница строки смещена вверх и перемещать
следует именно верхнюю границу. В противном
случае происходит перемещение вверх нижней
границы корректируемой строки. После проведения
сглаживания высоты строк вероятность ошибки
при ее выравнивании, вызванной четвертой
ситуацией, значительно снижается. Итоговое
разбиение страницы на строки представлено
на рис. 12.
Даже после столь мощной коррекции
изображения возможен случай, когда появляется
лишняя строка. Это связано с тем, что строки
не могут пересекаться друг с другом. Такие
строки легко выделить, пропустив их через
фильтр, уже описанный выше, так как их высота
меньше средней высоты выровненных по высоте
строк.
Открытым остается вопрос
о возможной разной длине строк, что может
привести к потере либо смещению строк. Частично
он решен путем учета при обработке только
первой половины изображения, что позволило
значительно уменьшить количество ошибок,
связанных с данной проблемой. Однако в некоторых
случаях строки могут быть еще короче, либо
начинаться с середины листа (яркий пример
— заголовок или подпись). Кроме того, добавляется
разреженность в написании некоторых слов.
Все это влечет дополнительные трудности,
преодоление которых может быть возложено
на пользователя.
Понятие каркаса слов
аналогично каркасу строк. Под ним понимают
такой набор слов, при котором между любыми
двумя реально существующими словами в строке
проходит граница или есть одно либо несколько
слов. В отличие от разбиения на строки, алгоритм
создания каркаса слов (рис.
13) имеет в качестве параметра только пороговое
значение темного цвета при бинаризации изображения.
Дело в том, что из-за относительно небольшой
высоты строки, любой столбец матрицы строки,
содержащий хотя бы одну темную точку, может
принадлежать слову. Поэтому пороговое значение
темных точек не изменяется и всегда равно
единице, что, помимо всего прочего, является
достаточным условием для построения каркаса
слов (рис. 14). На этом и основан
принцип отбора столбцов матрицы строки в
темные столбцы, которые теоретически могут
входить в слово.
Совершенно естественно, что
в автоматическом режиме построение каркаса
строки ведется для всех строк документа. При
этом происходит разметка начала и конца слов
по следующей методике: если в матрице строки
встретился темный столбец, перед которым
находится светлый столбец, то отмечаем его
как начало слова, а следующий за ним столбец
— как его конец. Если в строке встретился
столбец, отмеченный как конец слова, а последующий
за ним столбец матрицы является темным, то
метка конца слова переносится на этот последующий
столбец. Подобный поиск происходит для всех
столбцов матриц всех строк.
Такой алгоритм разметки границ
слов автоматически производит сращивание
одиночного темного столбца с последующим
за ним темным сгустком (последовательностью
идущих подряд темных столбцов), если между
ними стоит один светлый столбец. Само разбиение
осуществляет первичную коррекцию каркаса
слов, методы проведения которой рассмотрим
ниже.
Коррекция разбиения на слова
(рис. 15) принципиально отличается
от коррекции разбиения на строки наличием
блока сращивания, который производит
соединение двух соседних слов каркаса (эту
процедуру легко выполнить, просто убрав отметки
правой границы первого и левой границы второго
слова), если расстояние между ними меньше
минимального расстояния между словами, передаваемого
алгоритму в качестве параметра. Экспериментальным
путем было определено, что наилучшее качество
сращивания слов обеспечивается при значении
данного параметра в 45% от высоты строки данного
слова. Здесь также необходимо заметить, что
перед процедурой сращивания происходит отсеивание
заведомо ненужных темных сгустков нулевой
толщины, то есть таких слов, у которых конец
следует непосредственно за началом. Существует
отличие в методе корректировки (фильтрация
и конкатенация). При вертикальном сканировании,
которое происходит при разбиении на слова,
а не на строки, как при горизонтальном сканировании
(то есть осуществляется подсчет темных точек
в столбцах матрицы строк), могут встречаться
столбцы, в которых нет темных точек, но которые
тем не менее принадлежат слову. Это происходит
главным образом из-за того, что в тексте встречаются
пробельные участки не только между словами,
но и между буквами одного слова.
После сращивания строк остаются
некоторые сгустки, которые не входят в слова.
Это может произойти из-за знаков препинания,
клякс или других погрешностей изображения.
Ошибочное разбиение изображения на строки
также сильно влияет на качество разбиения
на слова. Для устранения таких ошибок используется
фильтр, аналогичный фильтру строк, рассмотренному
выше. Его параметром выступает минимальная
ширина слова, которая, как показывает практика,
должна равняться высоте строки слова. Данный
фильтр может использоваться только после
сращивания сгустков в слова, так как иначе
он не пропустит ни один сгусток, что приведет
к краху работы алгоритма.
Для завершении
коррекции разбиения слов необходимо применить
метод, который бы устранял ошибки, связанные
с чрезмерной ненасыщенностью отдельных букв
слов. Это приводит к уменьшению ширины слова
(обычно пропадает первая часть). Попытки принудительной
установки расстояния между словами не принесли
ожидаемых результатов, поэтому теоретически
проблема была решена лишь частично, путем
принудительного приравнивания левой границы
первых слов строк к их средней величине. Учитывая,
что наибольшее количество подобных проблем
вызывают именно эти слова (из-за заглавных
букв), практически проблема решена полностью
(рис. 16).
Хотелось бы сказать несколько
слов о перспективе использования для разбиения
строк на слова готового текста перевода. Действительно,
в целом ряде задач (например, при построении
словарей) перевод текста изображения заранее
известен и представлен в электронной форме.
Более того, целью разбиения может быть не
автоматическое построение перевода текста
изображения, а установка соответствия между
словом в переводе и областью изображения,
в котором оно отображено. В таких случаях
действительно целесообразно использовать
информацию перевода (количество слов, их длина
в символах) для построения разбиения. При
этом возникают следующие проблемы, требующие
решения: разбиение на строки текста не соответствует
разбиению на строки изображения, ширина символа
в тексте не совпадает с реальной шириной символа
на изображении, одному слову текста может
соответствовать несколько слов на изображении
(или наоборот) и т.п. Быть может, подобный метод
видится вспомогательным, но эта тема требует
дополнительного исследования.
Подводя резюме описанию алгоритма,
следует еще раз упомянуть, что последний является
средством построения автоматизированной
системы и наличие человека, исправляющего
немногочисленные ошибки (после его автоматического
выполнения), представляется крайне желательным.
Представленная технология
показала неплохие для конкретной задачи результаты,
а именно для переиздания скорописных рукописей
(рис. 1). Незначительные усовершенствования
предполагаются особенно в части коррекции
разбиения изображения оригинала на строки
и слова на этапе разбиения изображения оригинала
рукописи. Это возможно во многом благодаря
независимости каждого последующего этапа
коррекции от предыдущего. Потенциальные возможности
используемого алгоритма разбиения изображения
рукописи на слова, благодаря гибкой системе
настроек, позволяют говорить о его возможной
универсальности при решении данного класса
проблем. Полученная база графических образов
слов может быть использована для построения
предполагаемого текста перевода изображений,
функция формирования которого также присутствует
в программе построения базы. Дальнейшая работа
в этой области безусловно представляется
важной: она способствует сохранению нашего
культурного и духовного потенциала и наследия.