21.09.2026

Наш текст, Surya и LLM-судья: кому верить

Три источника текста одной страницы — наш разбор PDF, сырой текстовый слой и распознавание Surya 2 — сравнили с эталоном и показали LLM-судье. Объективная сверка и судья разошлись почти во всём.

Постановка

Наш конвейер извлечения берёт текстовый слой PDF, если ему можно доверять, и распознаёт страницу, если нельзя. Вопрос: насколько итоговый текст лучше, чем просто прогнать каждую страницу через OCR? И можно ли поручить такую проверку LLM вместо разметки?

Набор — 42 страницы контрольного корпуса, 45 151 знак эталона. Половина страниц — сгенерированные документы (письма, протоколы, счета, реестры) в электронном и «сканированном» вариантах. Остальное — публичные документы ФНС, МЧС, МГУ, Роспотребнадзора, ЦБ и мэрии Москвы. Колонтитулы из сравнения исключены с обеих сторон.

Каналы:

  • наш текст — итог конвейера: слой PDF там, где он надёжен, иначе распознавание;
  • сырой слой PDF — текст как есть, без нашей обработки;
  • Surya 2 — распознавание всей страницы по картинке.

Судья — Qwen3.8-27B. Он видит изображение страницы и два текста и отвечает, какой ближе к картинке, перечисляя ошибки содержания и структуры.

Объективная сверка

Канал CER Числа совпали
Наш текст 0.29 % 415 / 417
Surya 2, вся страница 5.77 % 406 / 417
Сырой слой PDF 17.96 % 269 / 301

Сырой слой — худший канал: на части PDF он вообще непригоден (CER 86 % на руководстве ФНС), на других перемешан порядок колонок. Наш разбор превращает его в лучший источник. Surya в среднем хороша, но на отдельных страницах теряет треть текста: 34 % на двухколоночной статье, 49 % на памятке МЧС.

По страницам: на 24 наш текст точнее Surya, на 18 тексты одинаково точны, страниц, где точнее Surya, нет ни одной.

Что сказал судья

Ситуация Страниц Судья выбрал Surya Судья выбрал наш текст
Наш текст точнее 24 18 6
Одинаковая точность 18 17 —
Точнее Surya 0 — —

На одной странице судья не дал вердикта. На статье, где у нас 0 % ошибок, а у Surya 34 %, судья выбрал Surya.

Почему так

Судья оценивает похожесть на картинку, а не верность текста. Surya переносит строки так, как они нарисованы на странице, а наш текст склеивает строки абзаца. Для судьи визуальные переносы весомее, чем пропущенный абзац. В рекомендациях он прямо пишет: «использовать Surya, так как он лучше сохраняет визуальное разделение строк».

Ещё одна ловушка — самой проверки, а не судьи. Первая версия отчёта брала таблицы нашего канала плоским текстом, и колонки в нём перемешивались. Это дало ложные расхождения: 23.6 % на расписании МГУ и 62.6 % на памятке МЧС вместо 0 %. После того как таблицы стали сравниваться построчно по ячейкам, как в официальной метрике, ошибки исчезли.

Цена

Один вердикт — 30–60 секунд на странице: 42 страницы — около 25 минут работы 27B-модели.

Итог

  • Маршрутизация «слой PDF, где можно, иначе OCR» дала текст в 20 раз точнее, чем OCR всей страницы.
  • LLM-судья без эталона для выбора канала не годится: он систематически предпочитает визуально похожий текст верному.
  • Судью можно использовать как поисковик подозрительных мест — его списки ошибок полезны для разбора. Но решение принимается по эталону или по совпадению двух независимых распознаваний.
  • Перед сравнением нужно убедиться, что обе стороны приведены к одному виду, иначе «ошибки» окажутся артефактом сравнения.