Математика/2. Перспективы систем информатики

 

К. ф.-м. н. Панкратов А. С., Брилева Н. Е.

Российский университет дружбы народов, Россия

Алгоритм построения родословий на основе оцифрованных архивных данных

 

С открытием большинства российских государственных архивов для широкого круга исследователей, в России всё более популярными становятся генеалогические исследования. Многие хотят восстановить историю своей семьи, своего рода. Однако людям, которые хотят больше узнать о своих предках, приходится прикладывать огромные усилия, для того, чтобы найти какие-то сведения в различных архивных документах. Это связано с массой факторов, в частности, с географической удаленностью региональных архивов. Кроме того, в связи с определенными историческими событиями колоссальное количество архивных документов оказалось безвозвратно утраченным. Но даже если исследователь-любитель и получит доступ к документам, в которых имеется информация о его предках (например, к материалам переписей), он может потратить колоссальный объем времени на то, чтобы просто прочитать записи в переписях и разобрать почерк того приказчика или старосты, который проводил перепись. Однако наиболее трудоемким является процесс идентификации выбранного человека и его сородичей в других, более ранних (поздних) переписях. Уже давно перед разработчиками и программистами поставлена задача автоматизации процесса поиска информации о человеке в архивах. В частности, разработана и успешно функционирует система поиска сведений о погибших и пропавших без вести в годы Великой Отечественной войны – на основе данных Центрального архива Министерства Обороны РФ [1]. Однако относительно данных переписей населения Российской Империи задача автоматизации поиска (в контексте построения родословных связей) не является тривиальной. Основная сложность здесь связана с необходимостью структуризации информации для дальнейшей обработки тех данных, которые представлены в архивах.

В настоящем докладе предлагается один из путей решения этой задачи, основанный на построении базы данных, содержащей информацию о жителях населенных пунктов, полученную из архивных материалов переписей. Мы здесь ограничиваемся одним видом архивных документов: ревизскими сказками 4-й и 5-й ревизий (подушных переписей), проведённых, соответственно, в 1782 и 1795 гг. [2]. Однако данный подход может быть распространен и на иные переписные документы, имеющиеся в российских архивах.

Подпись:  
Рис. 1. Формуляр 4-й ревизии (1782 г.)
В Российской Империи всего было проведено 10 ревизий: с 1719 по 1858 г. Формуляр сказки 4-й ревизии приведен на рис. 1. Данные о жителях здесь организованы в таблицу с 7 колонками. В 1 колонке записывались сами жители (для хозяина двора – имя, отчество и фамилия (если была), для членов его семьи – только имена с указанием степени родства), во 2 и 4 колонках записывался возраст жителей-мужчин, соответственно, на предыдущую и текущую перепись, в 3 колонке фиксировались выбывшие из списка (мужчины) с момента предыдущей переписи, с указанием года и причины выбытия. 5, 6 и 7 колонки содержали аналогичные сведения для женщин. Как видно, записи в документе выполнены старинной скорописью, с сокращениями, титлами и надстрочными буквами.

Для организации автоматического поиска в архивных документах необходимо произвести их первоначальную оцифровку. Предполагается, что архивные документы оцифровываются вручную, и табличная структура данных ревизий позволяет использовать в качестве формата оцифровки электронные таблицы Excel. При этом производится перевод старинной скорописи на современный русский язык, однако с максимальным сохранением исходной орфографии и пунктуации. Оцифрованный Excel-вариант 4-й ревизской сказки представлен в следующей таблице:

Персонажи

возраст на пред. перепись (муж.)

выбытие (муж.)

возраст на эту перепись (муж.)

возраст на пред. перепись (жен.)

выбытие (жен.)

возраст на эту перепись (жен.)

Тихон Герасимов

67

умре в 773 году

 

 

 

 

У него жена Анна Максимова дочь старинная того села

 

 

 

60

умре в 774

 

У него Тихона сестра вдова Овдотья Герасимова дочь

 

 

 

56

умре в 770 году

 

Михайло Паникратов

58

 

77

 

 

 

У него жена Овдотья Акинфиева дочь старинная того же села

 

 

 

44

умре в 770

 

У них дети написанные в последней пред сей ревизии

Деомид

30

 

49

 

 

 

дочери Прасковья

 

 

 

10

умре в 781

 

Овдотья выдана в оное же село за крестьянина

 

 

 

9

 

 

У Деомида жена Прасковья Григорьева дочь старинная того села

 

 

 

30

 

49

У них сын написанный в последней пред сей ревизии

Кондратей

9

 

28

 

 

 

рожденная после ревизии

дочь Ирина

 

 

 

 

 

18

У Кондратия жена Евфимия Егорова дочь старинная того села

 

 

 

 

 

28

 

После такой оцифровки имена-отчества жителей, их родственные связи, а также некоторые дополнительные характеристики (такие, как «вдова», «старинная того же села») попадают в одну графу Excel-таблицы. Это означает, что в контексте задачи поиска конкретного персонажа и автоматического выявления его родственных связей данные ревизий являются полуструктурированными [3, 4]. В связи с этим возникает проблема распознавания в данной Excel-таблице всех названных характеристик переписанных жителей (персонажей) и размещение их в реляционные таблицы базы данных.

Как видно, записи в ревизских сказках обладают рядом специфических особенностей (например, древнерусские языковые обороты и старинная орфография), а количество используемых в них языковых конструкций невелико и сводится к стандартному перечню (например, «у него жена», «у них дети»). В связи с этим, для задачи выделения характеристик из переписных документов разрабатывается специальный алгоритм, задача которого – сформировать на основе ревизских записей реляционные таблицы с характеристиками персонажей. Выделяются следующие характеристики: имя, отчество, фамилия, пол, возраст (преобразуется в год рождения), родственник, степень родства, дополнительные характеристики (в связи с возможным многозначным характером они выносятся в отдельную таблицу). В результате алгоритм формирует две реляционные таблицы: ПЕРСОНАЖИ и ДОП_ХАРАКТЕРИСТИКИ. В нашем примере они будут иметь следующий вид:

Таблица ПЕРСОНАЖИ:

Номер

двора

Номер

персон.

Имя

Отчество

Фамилия

Пол

Год рожд.

Номер

родств.

Степень

родства

1

1

Тихон

Герасимов

Null

муж.

1696

Null

Null

1

2

Анна

Максимова

Null

жен.

1703

1

жена

1

3

Овдотья

Герасимова

Null

жен.

1707

1

сестра

2

4

Михайло

Паникратов

Null

муж.

1705

Null

Null

2

5

Овдотья

Акинфиева

Null

жен.

1723

4

жена

2

6

Деомид

Михайлов

Null

муж.

1733

4

сын

2

7

Прасковья

Михайлова

Null

жен.

1753

4

дочь

2

8

Овдотья

Михайлова

Null

жен.

1754

4

дочь

2

9

Прасковья

Григорьева

Null

жен.

1733

6

жена

2

10

Кондратей

Деомидов

Null

муж.

1754

6

сын

2

11

Ирина

Деомидова

Null

жен.

1764

6

дочь

2

12

Евфимия

Егорова

Null

жен.

1754

10

жена

 

Таблица ДОП_ХАРАКТЕРИСТИКИ:

Номер персонажа

Характеристика

1

умре в 773 году

2

старинная того же села

2

умре в 774

3

вдова

3

умре в 770 году

5

старинная того же села

5

умре в 770

7

умре в 781

8

выдана в оное же село за крестьянина

9

старинная того же села

12

старинная того же села

 

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

По аналогичному принципу подобные алгоритмы разрабатываются и для ревизий с другими формулярами сказок. Это позволяет выстроить непрерывную цепочку исторических переписных ведомостей, переведенную в единый формат базы данных и охватывающую период с 1719 по 1858 годы. Далее строится алгоритм, который, начиная с конкретного предка, идёт «в глубь времен» и, на основе информации о родственных связях, выстраивает историю рода, выявляя при этом сородичей прошлых поколений. Возникающая при этом задача идентификации одного и того же персонажа в нескольких смежных ревизиях решается путем сопоставления имен, отчеств, возрастов и составов семей. Здесь приходится учитывать ряд нюансов, например, наличие разных вариантов одного и того же имени (например, Авдотья – Евдокия), а также возможные неточности при указании возраста. Данный алгоритм изложен в [5].

 

Литература:

1. ОБД Мемориал. – http://www.obd-memorial.ru .

2. All Russia Family Tree. Российская генеалогия. – http://www.vgd.ru .

3. Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. Полный курс. – М.: Издательский дом «Вильямс», 2003. – 1088 с.

4. Гринев М. Системы управления полуструктурированными данными // Открытые системы, 1999 г., № 5-6.

5. Брилева Н. Е. Генерация родословных линий на базе оцифровки архивных документов переписи населения / Фестиваль науки в РУДН: Сборник работ студентов-победителей международных, всероссийских конкурсов, конференций, олимпиад. – М.: РУДН, 2010. – С. 118-124.