Яндекс · искусственный интеллект · NLP · OCR · архивы · машинное обучение · компьютерное зрение · разметка данных1 сентября в 10:33 · 6 мин

Как разобраны старые газеты: модульный алгоритм PereStruct против крупных мультимодальных моделей

Восстановление структуры исторических газет требует не просто распознавания символов, а понимания сложной вёрстки и семантических связей. Яндекс Cloud совместно с библиотекой имени Н. А. Некрасова и Институтом Курнакова РАН представили PereStruct — модульную систему, которая успешно справляется с задачей, где единые большие языковые модели часто ошибаются.

Стеклянный ледяной лист с узорами старой печати на ночной туманной бухте.

# Где алгоритмы теряются в колонках: разбор PereStruct

Оцифровка архивных изданий — это не задача для одного нейросетевого блока. Даже при идеальном распознавании символов (OCR) компьютер видит лишь набор прямоугольников со словами, не понимая, какой заголовок относится к тексту, где прервалась статья и продолжается в соседней колонке, а что является рекламным объявлением. Решение этой проблемы лежит в плоскости инженерной декомпозиции, а не магического «однозапросного» ответа от большой модели.

Команда Яндекс Cloud представила PereStruct — модульный конвейер для разбора советских газет 1934–1969 годов. Проект объединяет детекцию вёрстки, специализированный OCR, модели коррекции текста и графовый алгоритм сборки документов. В статье детально разбирается архитектура решения, качество размеченных датасетов и результаты сравнения подхода с современными визуальными языковыми моделями (VLM).

*Авторский комментарий:* Как часто бывает в реальной обработке данных, «проблема» лежит не в отсутствии интеллекта у модели, а в отсутствии подходящего контекста для её задач. PereStruct доказывает, что иногда набор узкоспециализированных инструментов работает лучше, чем универсальный гигант.

Почему одного распознавания текста мало

Сканирование страницы старой газеты создает для алгоритма иллюзию хаоса. Бумага выцветает, текст просвечивает, страницы сканируются с перекосом. Даже если OCR (оптическая распознаватель символов) корректно выдает строки текста, система не знает логику документа.

Задача оцифровки исторического фонда сводится к нескольким последовательным этапам: 1. Поиск элементов: Выделение заголовков, основного текста, изображений и подписей. 2. Распознавание: Преобразование визуального образа текста в символы. 3. Коррекция: Устранение артефактов сканирования и опознания без изменения стилистики эпохи. 4. Семантическая сборка: Определение принадлежности разрозненных блоков к одной статье и восстановление порядка чтения.

Проект «Электронекрасовка» и Центр технологий для общества Yandex Cloud уже много лет занимаются системной оцифровкой библиотечных фондов. Однако рост цифровой коллекции породил новые задачи: семантический поиск и восстановление связей между элементами страницы. PereStruct был разработан именно для автоматизации этапа восстановления логической структуры.

Данные как фундамент решения

Первым препятствием для детекции вёрстки стал так называемый *domain shift* (смещение домена). Модели, обученные на современных книгах и документах, плохо справлялись с типографикой, размерами шрифтов и композицией советских газет 1930–1960-х годов.

Для решения этой проблемы команда подготовила два набора данных:

* YOLO-корпус: Разметка 1426 страниц советских газет (1934–1969 гг.). Для каждого объекта указаны нормализованные координаты и один из четырех классов: Title, Plain Text, Figure, Figure Caption. Полный набор находится в доступе по лицензии CC BY 4.0 (в Zenodo 599 страниц), остальные объемы ограничены правами на изображения. * Benchmark для сборки статей: Экспертно размеченный набор из 110 страниц (публичная версия бенчмарка — 93 страницы). Здесь асессоры не просто обводили текст, но и указывали принадлежность блоков к конкретной статье.

Такой подход позволяет не только обучать модели, но и объективно оценивать эффективность каждого компонента пайплайна.

Архитектура PereStruct: четыре последовательных шага

Разработчики разбили сложную задачу на отдельные подзадачи, для каждой из которых выбран оптимальный инструмент. Такой модульный подход повышает прозрачность и удобство отладки.

1. Детекция вёрстки (Layout Detection) В качестве основы используется модель YOLOv10 с весами DocLayout-YOLO. Исходная модель обучена на современных данных, поэтому её точность на исторических документах была ниже. Доменную адаптацию провели на подготовленном корпусе из 1426 страниц, сохранив четыре целевых класса. После обучения на отдельном тестовом наборе точность детекции (mAP50) выросла с 0,698 до 0,845, а в финальной версии достигла 0,981.

2. Распознавание текста (OCR) Текст распознается только в вырезанных областях заголовков и основного текста с помощью сервиса Yandex Vision OCR. Это позволяет игнорировать соседние колонки и графические элементы при обработке конкретного блока, сохраняя связь между текстом и его координатами на исходном изображении.

3. Посткоррекция ошибок Исторические шрифты и состояние бумаги вызывают специфические ошибки: замена букв, переносы слов, смешение кириллицы и латиницы. Для коррекции использовались модели Yandex AI Studio. Использован строгий системный промпт: модель должна исправлять только очевидные опечатки и переносы, но не перефразировать текст, не менять лексику и сохранять стилистику эпохи. Если модель сомневается, исходная форма текста оставляется без изменений. Это критически важно для архивных материалов, где «красивый текст» часто означает фальсификацию источника.

4. Семантическая сборка статей Самый сложный этап — восстановление порядка чтения. Вместо предсказания полного линейного порядка, задача свелась к бинарной классификации: для каждой пары блоков модель определяет, относятся ли они к одной статье.

Обучается два типа классификаторов (на основе XGBoost): * Связь основного текста с текстом. * Связь заголовков с текстом или другими заголовками.

Входные признаки для классификатора: * Текст: Символьные n-граммы (длиной 2–4) с использованием TF-IDF. * Геометрия: Расстояния между блоками, выравнивание, размеры и зазоры. * Визуальный контекст: Эмбеддинг изображения области, охватывающей оба блока и пространства между ними (добытый из слоя YOLO).

После классификации блоки объединяются в взвешенный граф, а иерархическая кластеризация выделяет группы статей. Финальный порядок чтения определяется простой эвристикой: слева направо, сверху вниз.

Визуальные признаки против чисто текстовых

Изначально версия классификатора работала только с текстовыми и геометрическими признаками. Однако она ошибалась на блоках, разделенных сложными потоками верстки или большими пустыми пространствами. Добавление визуальных эмбеддингов (представлений изображения) между блоками существенно улучшило точность:

* Классификатор текста: F1 вырос с 0,743 до 0,850. * Классификатор с заголовками: F1 вырос с 0,882 до 0,904.

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

Сравнение с крупными мультимодальными моделями (VLM)

Теоретически, большая визуальная языковая модель (например, Qwen3.6) может взять изображение страницы и сразу вернуть структурированный текст (Markdown). Это кажется более простым решением по сравнению с построением сложного пайплайна. Однако экспериментальное сравнение показало обратное.

Исследование проводилось на 10 страницах, исключенных из обучения PereStruct. Были протестированы модели Qwen3.6–35B‑A3B и Qwen3.6-Plus. Они демонстрировали характерные для VLM проблемы при обработке огромных сканов с большим количеством текста: 1. Генерация правдоподобного, но отсутствующего на странице текста. 2. Повторение фраз вместо перехода к следующему блоку. 3. Ошибки при объединении статей из-за переполнения контекстного окна.

Результаты метрик (BLEU, ROUGE) показали существенное преимущество модульного подхода PereStruct, который специализирован именно на данной задаче, над попыткой решить ее универсальной моделью.

Открытый код и данные

Команда открыла доступ к: * YOLO-датасетам: Для обучения детекторов вёрстки. * PereStruct Benchmark: Для обучения и тестирования моделей сборки статей. * Коду и весам: Включая примеры запуска end-to-end парсинга.

Репозиторий содержит формат итогового JSON и позволяет экспериментировать с порогом кластеризации, влияющим на длину получаемых статей.

Заключение

Проект PereStruct наглядно демонстрирует, что для архивных задач «больше» не всегда значит «лучше». Разбиение сложной задачи на этапы — от детекции до графового анализа — позволяет использовать проверенные инструменты и получать точные результаты. Оцифровка газеты — это не просто список слов, а восстановление живой структуры документа, связей между фактами и историческим контекстом.

Публикации в репозитории предоставляют возможность воспроизвести результаты и масштабировать подход на другие исторические коллекции и языковые корпуса.

Первоисточники

Habr AI
← Вернуться в эфир