Биографическая база данных "Прожито"
Центр изучения эго-документов «Прожито» на протяжении 10 лет собирает не только тексты дневников и документы из семейных собраний, но и информацию об их авторах и упоминаемых персонах. «Прожито» знает о более 9,5 тысяче авторах дневников, но вся эта информация сейчас представлена в виде текстов из разных источников. Чтобы упорядочить эти данные, студенты ПАНДАНа начали разработку биографической базы данных, в которой будут храниться формализованные сведения о персонах из Корпуса дневников и Цифрового архива «Прожито»
В чем преимущества биографической базы данных?
1. Она позволит читателям делать в Корпусе дневников более узкие выборки по авторам, например, дневники выпускниц геологических факультетов вузов СССР, проживавших в Ленинграде
2. База поможет лучше понять, кто вёл дневники, и может стать основой для изучения Корпуса дневников
3. Формализованные данные из документов могут быть полезными для генеалогов
Что должно стать результатом проекта
  • Инструмент
    по извлечению биографических сведений из разных источников – энциклопедических статей, биографических справок, текстов документов
  • База данных
    или граф знаний извлечённых сущностей, таких как имя, дата и место рождения и смерти, место проживания, родственники, профессия и другие
  • Веб-интерфейс
    где можно загружать тексты, извлекать оттуда данные и загружать их в базу
Концептуальная идея проекта
Наша концептуальная идея такова: конечным результатом нашего проекта является база данных о персонах. Чтобы упростить работу специалистам, мы создали веб-приложение – узко-специализированный инструмент, позволяющий легко вносить данные в базу: с помощью нейросети "на борту" мы будем извлекать сущности – они будут проходить валидацию (пока ручную) и поступать в базу
Руслан Иванов, участник проекта
Этапы работы над проектом
в 2025 году
База данных
Разработка схемы Базы данных – один из важнейших этапов проекта.
В процессе работы схема развивалась и наполнялась новыми разделами
Заполнение Базы данных
В соответствии с разработанной схемой, База данных собрана и развернута на сервере. Частично она заполнена данными из Wikidata, а далее будет заполняться данными из корпуса дневников "Прожито"
Данные и их источники
Входные данные
Входными данными являются текстовые статьи различного объема, из которых выделяются необходимые сущности, касающиеся конкретного человека. Эти сущности должны храниться в базе данных
Источники данных:
около 6 000 текстов статей Wikipedia и биографических справок из "Прожито"
Источником данных на этапе тестирования послужила Wikipedia. А следующим шагом стало использование моделей на биографических данных из "Прожито"

2 760 текстов статей Wikipedia о персонах – авторах дневников:
  • открытая информация, которую легко скачать
  • могут быть сопоставлены с имеющимися данными из Wikidata
  • качество и структурированность текстов, легко извлекать сущности
3 320 коротких биографических справки из "Прожито":
  • приближены к реальным данным из архива
  • не стандартизированы
Извлечение сущностей
– исследование языковых моделей
Локальные модели
для извлечения именованных сущностей (NER)
Для тестирования отобрано 50 моделей – ниже представлена небольшая часть
  • Gliner
  • HuggingFace BERT-NER
  • Deeppavlov NER
  • spaCy NER
  • XLM-Roberta-NER
Преимущества моделей:

  • Высокая скорость
  • Низкие затраты вычислительных ресурсов
Недостатки моделей:

  • У нас специфическая задача и специфические категории – эти модели не умеют решать такие задачи
Локальные модели показали высокую скорость обработки, мы быстро получили результат, но этот результат нас не устроил, так как данные модели предназначены для классификации токенов из текста; они не улавливают контекст, поэтому мы не получаем четкого ответа на наш вопрос о связи данных с персоной
Руслан Иванов, участник проекта
Работа с моделями по API
Сопоставили модели:
  • Gemini Flash Lite 2.0 Preview (free)
  • Llama 3.3 70B Instruct (free)
  • Gemini Pro 2.0 Experimental (free)
Преимущества моделей:

  • Извлечение пользовательских классов сущностей
  • Большое число параметров -> высокое качество работы
Недостатки моделей:

  • Не подходят для работы с конфиденциальными данными
Всего оценили 25 моделей
Предварительные критерии оценки:
  • отвечает ли на поставленный вопрос
  • есть ли галлюцинации
Выяснилось, что три перечисленных модели лучше всего справляются с нашей задачей, но мы поняли, что есть проблема – далее мы будем работать не с тестовыми текстами из Wikipedia, а с конфиденциальными данными, и мы не имеем права отправлять на чужие сервера тексты дневников из "Прожито". То есть нам необходима локальная модель
Екатерина Будзинская, участница проекта
Локальные инструктивные модели
Почему они?

Небольшое количество параметров модели

Модели обучены на большом количестве данных

Качество на сложных и нестандартных данных

Локальное и приватное использование

Поддержка пользовательских классов сущностей

Zero-shot / Few-shot возможности

  • Gemma-2-2b-it
  • Qwen2.5-3B-Instruct
  • Преимущества Gemma-2-2b-it:
    • Готовый результат: модель возвращает сразу сформированный JSON
    • Быстрый отклик: среднее время ответа – 30 секунд, в 4 раза быстрее, чем через API
  • Преимущества Qwen2.5-3B-Instruct:
    • Хорошее качество: минимальное количество ошибок при обработке
    • Мало галлюцинаций: не придумывает новые поля, не нарушает правила
  • Недостатки Gemma-2-2b-it:
    • Ограничение объема: модель не обрабатывает тексты длиной более 3000 слов
    • Избыточный JSON: модель дополняет JSON лишними ключами
    • Нарушение условий: переводит русский текст на английский, несмотря на инструкцию сохранять русский
    • Необходима валидация: требуется сверка информации модели с исходным текстом
    • Дублирование данных: модель может дублировать значения в полях
  • Недостатки Qwen2.5-3B-Instruct:
    • Не очень высокая скорость: в среднем 1 минута на ответ
    • Усечение данных: модель обрезает JSON, если заканчиваются токены для вывода
    • Ограничение объема: модель не обрабатывает тексты более 1700 слов
Эволюция промта
При общении с языковыми моделями мы, естественно, занимались промт-инжинирингом. Сначала мы просто задавали список сущностей, которые нужно достать из текста, потом промт усовершенствовался, детализировался и был довольно длинным, но постепенно мы пришли к оптимальному относительно компактному варианту, в котором указана желаемая структура json и правила, которым модель должна следовать
Екатерина Будзинская, участница проекта
Сначала мы сравнивали работу моделей по количеству ошибок, которые они выдают. Но мы поняли, что нужны другие метрики и более надежный способ оценки качества. Вручную это было бы очень сложно. И мы решили использовать LLM as a judge и использовать большую языковую модель в качестве судьи. Идея в том, что большая языковая модель может адекватно понять, насколько наша маленькая языковая модель справилась с задачей
Екатерина Будзинская, участница проекта
Оценка качества работы моделей
LLM as a judge
Выбрали Qwen3-235B-A22B
  • Вручную оценили 10 JSON, которые выдала модель Qwen2.5−3B-Instruct, и сопоставили «человеческую оценку» с оценками 4 моделей-оценщиков
  • Оценили 300 JSON от Qwen и 300 JSON от Gemma с помощью Qwen3-235B-A22B в качестве судьи
Оценка локальных моделей LLM-судьёй Qwen3-235B-A22B
Веб-приложение
Веб-интерфейс приложения позволяет загружать и сохранять файлы с данными о персоне в формате json для дальнейшей валидации и сохранения информации в Базе данных
Функционал:
  • загрузка json файла (результат обработки текста статьи моделью), фото 1
  • добавление источника данных (источника, из которого была взята информация о персоне), валидация загруженных данных и дальнейшее сохранение в Базе данных, фото 2-4
  • возможность отложенной валидации, фото 5
  • полнотекстовый поиск по Базе данных и просмотр информации о персонах, фото 6-7
Практические результаты
на сегодня
  • Определен четкий список сущностей
  • Собраны данные
  • Исследованы модели
  • Спроектирована схема Базы данных
  • Начали заполнять Базу данных
  • Разработано веб-приложение

Перспективы

  • Эксперименты
    Провести новые эксперименты с другими источниками, в т.ч. с дневниками
    1
  • Работа с сущностями
    Расширить список извлекаемых биографических данных
    2
  • Работа с моделями
    Развернуть модель с большим количеством параметров на сервере -> улучшение результатов
    3
  • Развитие Базы данных
    Вносить изменения в Базу данных
    4
  • Документация
    Составить документацию Базы данных
    5
  • Веб-приложение
    Запустить веб-приложение
    6
Команда проекта
  • Алексей Сенюхин
    Редактор текстового корпуса Центра «Прожито»
    Куратор проекта
  • Валерия Бузмакова (Головизнина)
    Исследователь школы вычислительных социальных наук Европейского университета
    Куратор проекта
  • Алексей Сергеев
    Исследователь Школы вычислительных социальных наук Европейского университета
    Куратор проекта
  • Екатерина Будзинская
    Участница проекта
  • Руслан Иванов
    Участник проекта
  • Людмила Слащёва
    Участница проекта
Made on
Tilda