OCR-модель путает заголовки с обычным текстом — стоит ли применять CRF или есть проще решения?
Разработчик использует DeepSeek-OCR для извлечения структуры юридических PDF, но модель периодически неправильно классифицирует заголовки разделов как обычный текст. Он рассматривает применение CRF (условных случайных полей) или BiLSTM-CRF для пост-обработки результатов OCR, используя дополнительные признаки: отступы, выравнивание, паттерны нумерации и высоту строк.
Автоматическое извлечение структуры из юридических документов — практическая задача для legal tech, регуляторных систем и корпоративного compliance. Выбор между ML-моделями и правилами влияет на масштабируемость и надёжность решения.
Проблема с классификацией структуры документов
Девелопер столкнулся с типичной проблемой при автоматизации обработки юридических PDF: OCR-модель Baidu DeepSeek-OCR распознаёт текст качественно, но систематически путается в классификации блоков.
Конкретно: модель возвращает для каждого фрагмента координаты, метку типа (title, text, list, table) и распознанный текст. Проблема в том, что метки ненадёжны — заголовки секций периодически маркируются как обычный текст.
Пример из практики
В иерархическом документе типа "ANNEX I → TITLE I → A. Currency distribution → 1. Redistribution → (a) Introduction" модель корректно распознала большинство уровней как title, но элемент "TITLE I" получил метку text.
Проблема усугубляется тем, что заголовки не всегда находятся на одной горизонтальной позиции: верхнеуровневые центрированы (x≈511), а подпункты выровнены слева (x=163). Это делает простые правила по отступам ненадёжными.
Рассматриваемое решение
Автор предлагает обучить CRF (Conditional Random Fields) или BiLSTM-CRF для пост-обработки, используя признаки: - Координаты и отступы (x0) - Выравнивание (центр vs левый край) - Высота строки и вертикальные разрывы - Паттерны нумерации (A., 1., (a)) - Признаки текста (капс, длина)
Вопрос к сообществу: не избыточно ли это? Может, достаточно эвристических правил или стоит рассмотреть GNN для учёта пространственных отношений между блоками?
Контекст применения
Решение должно быть универсальным для различных юридических документов с регулярной, но не идентичной структурой нумерации.
Ключевые выводы
- OCR-модели высокого качества (типа DeepSeek-OCR) надёжны в распознавании текста, но слабы в структурной классификации сложных документов
- Для юридических PDF координаты блоков (x/y) недостаточны для определения иерархии — центрированные заголовки могут иметь большее x0, чем вложенные левые
- CRF/BiLSTM-CRF — классический подход для sequence labeling в NLP, но для пространственно-структурированных данных может быть избыточен по сравнению с эвристиками
- Комбинация текстовых признаков (паттерны нумерации, капс) и геометрических (отступы, разрывы) может улучшить классификацию без переобучения сложных моделей
- Проблема типична для domain-specific документов: универсальные OCR-модели обучены на общих данных, структура специализированных текстов требует post-processing
Автор: Павел Заславский · Источник: reddit.com
**Классический кейс инженерного перфекционизма.** Человек хочет применить CRF/BiLSTM для задачи, где, возможно, достаточно 50 строк правил. С одной стороны — да, ML-модель может быть более гибкой и обобщаемой на разные документы. С другой — юридические тексты имеют довольно жёсткую структуру нумерации, и эвристики типа «если строка начинается с (a)/(b) и имеет отступ X — это подпункт» могут сработать надёжнее, чем модель, обученная на малом датасете.
Интересно, что автор сам подметил ловушку: координата x0 не всегда коррелирует с уровнем вложенности из-за центрирования. Это делает простые правила нетривиальными, но всё ещё вполне реализуемыми через комбинацию признаков (центр vs край + паттерн нумерации + вертикальные разрывы). GNN тут скорее оверкилл, а вот лёгкий классификатор на табличных признаках (даже random forest) может быть золотой серединой между if'ами и тяжёлыми sequence models. Главное — не забыть померить, сколько ошибок OCR на самом деле критичны и стоит ли игра свеч.
Комментарии