Назад к подготовке

Native PDF или OCR: как выбрать путь обработки

В invoice parsing часть документов native PDF, часть сканы. Как определить, какой путь обработки использовать и какие ошибки ждать?

Ответить самому

Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.

Загрузка

Короткий ответ

Пробуем извлечь text layer и координаты; если текста нет или он мусорный, идем в OCR. Для обоих путей сохраняем layout и confidence.

Полный разбор

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

Для сканов нужен OCR: там появляются ошибки распознавания символов, повороты, шум, плохое качество картинки, разрывы строк и неправильные таблицы. Поэтому pipeline должен сначала классифицировать документ: есть ли text layer, сколько текста извлекается, похож ли он на реальные слова/числа, есть ли страницы без текста.

Дальше оба пути лучше привести к одному формату: blocks/tables/cells with coordinates and confidence. Это упрощает downstream extraction и eval.

Типичные ошибки

  • Всегда гонять OCR и платить лишнюю latency/cost.
  • Доверять text layer без проверки качества.
  • Терять координаты и layout при извлечении текста.

Как отвечать на собеседовании

  • Скажи про unified layout representation.
  • Упомяни confidence и fallback между путями.