ВГД
ВГД

Поиск совпадений на ВГД

В этой статье мы расскажем, как работает система автоматического поиска совпадений между генеалогическими древами пользователей на ВГД и как она помогает расширить знание об истории вашего рода.

Введение

Разработанная нашей командой технология автоматического поиска совпадений предоставляет каждому пользователю шанс найти родственников или единомышленников. Если вы добавили свое генеалогическое древо на ВГД (загрузили GEDCOM-файл), система обнаружит похожие фрагменты (в нашей терминологии это называется "совпадения") и позволит присоединить к вашему древу фрагменты того, которое исследовал другой исследователь если таковое найдется. Таким образом к вашему древу может присоединиться или несколько персон или целый огромный род - как повезет. В любом случае, объединение усилий с другими исследователями и подобный обмен информацией позволяет значительно ускорить генеалогический поиск.
Рисунок 1. Изображение очень схематичное, но идея должна быть понятна. Возможно, кто-то уже владеет информацией о вашем роде и нужно только найти нужное совпадение чтобы сильно продвинуться в изучении истории своей семьи.
Рисунок 2. Цифра "3" в зеленом квадрате в интерфейсе портала https://gedcom.vgd.ru свидетельствует о наличии новых совпадений по загруженным вами файлам с вашим древом. Осталось нажать "Просмотреть все", чтобы ознакомиться с найденными совпадениями.

Как работает автоматический поиск совпадений по генеалогическим древам

Первый этап: "Простой" алгоритм

На начальном этапе задействуется простой алгоритм, задача которого — исключить заведомо неподходящие варианты. Он анализирует загруженные пользователями данные (в первую очередь GEDCOM-файлы) и отсекает:

  • Персоны с минимумом известных данных (например те, про кого известны только имя или пол);
  • Сравнения между мужчинами и женщинами (предполагается, что пол даже в исторических источниках указан достаточно точно);
  • Персоны с явно не соответствующими датами рождения или смерти (разница более 5 лет);
  • и т.д.

Этот этап позволяет значительно сократить объём данных для анализа, чтобы более сложный алгоритм не тратил вычислительные ресурсы на заведомо непроходные варианты.

Второй этап: "Продвинутый" алгоритм

Если простой алгоритм определяет двух персон из разных древ как потенциально совпадающих, их данные передаются на обработку продвинутым алгоритмом. Здесь используются нейронные сети, а именно тот их подвид, который называется "Большие лингвистические модели" (LLM).

Нейронные сети — это мощный инструмент для анализа любых текстовых данных. Исторические данные часто бывают неточными, искаженными и слабоструктурированными.

Например:

  • Одно и то же имя или фамилия могут быть записаны в разных документах с опечатками, видоизменены по форме или даже указаны на разных языках;
  • Даты могут быть указаны в разных стилях или содержать ошибки.
  • Географические данные могут быть представлены в различных формулировках (например, "родился в Королёве" и "родился в Московской области").
  • И т.д.

Большие лингвистические модели (LLM), обучаются на огромных наборах текстов и поэтому потенциально способны учитывать подобные нюансы. Они понимают язык (множество языков), распознают различные варианты написания имён и фамилий (попробуйте спросить любую модель может ли она дать 50 вариантов написания какого-либо имени), а также могут установить взаимосвязь/близость географических наименований.

Однако, у нейронных сетей есть и свои недостатки. Как минимум это:

  1. Высокая требовательность к вычислительным ресурсам (нужны мощные серверы с GPU/TPU);
  2. Возможность ошибок ("галлюцинаций"), поэтому результаты, сгенерированные нейронными сетями всегда требуют проверки.

Раскроем также следующие важные моменты:

ВГД использует только локально развернутые инстансы нейронных сетей со свободной лицензией (MIT или Apache 2.0), работающие на вычислительных средствах ВГД. Это гарантирует защиту данных пользователей и независимость от сторонних сервисов.
Кроме того, поиск ведется только по публичным данным, которые в любом случае открыты для свободного доступа в сети Интернет. Если вы загрузили GEDCOM-файл и сделали его доступным только для себя или по прямой ссылке - он не будет участвовать в поиске.

Как нейронная сеть оценивает совпадения?

На вход нейронной сети подаются анкеты двух персон (включая примечания, заметки, географические данные и т.д.). Примерно в том виде, в котором вы видите их на сайте https://gedcom.vgd.ru.

Алгоритм сравнивает анкеты по нескольким параметрам:

  • Сходство имён и фамилий;
  • Вероятность проживания в одном регионе;
  • Состав семей (анализируются имена детей, родителей, братьев и сестёр, супругов и т.д.);
  • Близость временных периодов жизни персон.

Результаты сводятся в одну числовую оценку степени совпадения. Это ни в коем случае не вероятность, просто число. Если это число превышает установленный порог, мы считаем, что гипотеза о возможном совпадении достойна быть опубликована на сайте ВГД, а владельцы древ получают уведомление.

Роль пользователя в подтверждении совпадений очень важна!

После публикации совпадения пользователю предлагается подтвердить его или отклонить. Это крайне важный этап работы системы:

  • Подтверждённые данные помогают нам настроить алгоритмы, в перспективе дообучать/корректировать нейронную сеть для повышения точности анализа.
  • Отклонённые совпадения со временем удаляются из базы данных, чтобы не засорять интерфейс.

Чем больше подтверждений собирается от пользователей, тем эффективнее становится алгоритм. Мы ожидаем, что на начальном этапе алгоритм будет делать много ошибок, но постепенное дообучение на пользовательских данных сделает его более разумным. Не пугайтесь ложных срабатываний, это нормально на периоде отладки алгоритмов. Зато помните, каждая ваша оценка "Подтверждаю" или "Отклонено" помогает сделать алгоритм лучше!

Не стоит так же рассчитывать, что система моментально найдет все совпадения. Алгоритм смотрит на все древа по очереди, постепенно их перебирая. На ВГД не будет ежемесячных анонсов "мы сделали выгрузку совпадений", алгоритм просто работает постоянно и, если совпадения найдены, пользователи получают уведомления.
Рисунок 3. Посмотрите на найденное системой совпадение, если это действительно похоже на правду, нажмите "Подтвердить", если нет - "Отклонить".

Заключение

Поиск совпадений - один из полезных инструментов сайта ВГД. Мы планируем совершенствовать его алгоритмы и расширять область применения, включая новые типы контента. В первую очередь речь идет о выявлении совпадений с поисковыми и справочными темами форума, что позволит повысить точность и полноту результатов для пользователей.
Загружайте своё родословное древо (GEDCOM-файл) на ВГД и добавляйте максимально подробную информацию о каждой персоне! Пока вы живёте своей обычной жизнью, система ведёт генеалогический поиск за вас — каждое найденное совпадение может присоединить новую веточку к вашему древу или даже целую ветвь предков.
Вам остаётся только ждать уведомления о найденных родственниках!
Рисунок 4. Пример найденного совпадения