В какой-то момент почти каждый генеалог упирается в свой brick wall. Ты знаешь, что нужный человек где-то есть в архивных документах. Понимаешь, в каких фондах или переписях его стоит искать. Но проблема в объёме.
Когда речь идёт о десятках дел — их ещё реально просмотреть вручную. Когда речь идёт о тысячах страниц — поиск превращается в месяцы или даже годы работы.
Проблема
У меня есть один предок — мой прапрапрадед, которого я ищу уже больше года. Я знаю его имя. Более того, у меня есть теория, что он может быть связан с одной семьёй, которая уже довольно хорошо изучена. Но чтобы подтвердить или опровергнуть эту гипотезу, мне необходимо узнать имя его отца.
Проблема в том, что во всех документах более позднего периода — времени Первой Латвийской Республики — имя отца нигде не указано. Поэтому мне нужно найти его в переписи населения 1897 года. Именно этим я безуспешно занимаюсь уже больше года.
Дополнительную сложность создаёт его сословие. Изначально он относился к мелкой шляхте, а позже был приписан к мещанам. В отличие от крестьян, такие люди довольно часто переезжали, поэтому искать их по конкретному населённому пункту гораздо сложнее.
Идея
По профессии я программист. И в какой-то момент я поймал себя на мысли: почему я выполняю работу поисковой системы? Почему вручную листаю тысячи страниц в поисках нескольких фамилий?
Так появилась идея автоматически распознавать архивные переписные листы и строить поисковый индекс по историческим документам.
Поиск подходящего метода распознавания
Сначала я пошёл по очевидному пути и попробовал стандартные инструменты распознавания текста. Однако довольно быстро выяснилось, что архивные документы — это совсем не современные сканы книг или офисных бумаг. Таблицы нужно выравнивать, страницы — обрезать, а для разных типов документов нужны разные настройки. И даже тогда результат сильно зависит от качества сканов и особенностей почерка.
Главная проблема заключалась в том, что такой подход плохо масштабировался. Решение, которое работало для одного типа документов, зачастую приходилось практически заново настраивать для другого.
Тогда я начал экспериментировать с более продвинутыми подходами к распознаванию. Они тоже не идеальны: ошибаются и требуют постоянного контроля качества. Но при правильном подходе позволяют работать не только с текстом, но и с контекстом документа целиком.
Система и постобработка
Постепенно простой эксперимент превратился в полноценную систему обработки архивных документов. Помимо распознавания, она выполняет автоматические проверки, выявляет подозрительные записи, исправляет часть ошибок и объединяет различные варианты написания одних и тех же фамилий.
При этом я не питаю иллюзий, что существует идеальный способ распознавания архивных документов. Какой бы метод распознавания ни использовался — ошибки будут всегда. Качество исходных сканов, особенности почерка, повреждения документов и исторические варианты написания фамилий делают стопроцентную точность практически недостижимой.
Именно поэтому основной акцент в проекте делается не только на распознавании, но и на постобработке результатов. Для меня гораздо важнее не получить «идеальное» распознавание, а создать систему, которая умеет находить ошибки, выявлять подозрительные записи, сопоставлять данные из разных источников и постепенно улучшать качество базы.
В дальнейшем я также рассматриваю возможность внедрения элементов краудсорсинга, чтобы исследователи и генеалоги могли участвовать в исправлении и уточнении данных. Пока я ещё думаю над тем, как именно это реализовать и какие стимулы предложить участникам, но коллективная проверка данных может стать одним из самых эффективных способов повышения качества базы.
В результате вместо тысяч страниц изображений появляется поисковая база, по которой можно искать людей за секунды.
Что дальше
Нашёл ли я своего прапрапрадеда? Пока нет.
Но по пути уже удалось найти несколько неожиданных совпадений, включая ещё одну семью с довольно редкой фамилией, которая вполне может оказаться связанной с моей собственной ветвью. Даже если эта гипотеза не подтвердится, проект уже начал приносить результаты, которых вручную я, скорее всего, никогда бы не увидел.
Сейчас основной фокус — перепись населения 1897 года по Латгалии. Именно с неё началось моё собственное исследование, поэтому логично было начать именно здесь.
В дальнейшем я хочу постепенно расширять базу — сначала на другие регионы Латвии, а затем и на новые типы архивных документов.
Возможно, своего прапрапрадеда я найду не завтра и даже не через год. Но если этот проект однажды поможет преодолеть тот самый brick wall — не только мне, но и другим исследователям, значит, всё это было не зря.
