scan, split, OCR, prepare for LLM
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

stage2_research.md 6.6KB

Stage 2. Исследование возможностей PaddleOCR + Docling

Цель исследования

Перед началом реализации второго этапа проекта необходимо изучить возможности современных версий PaddleOCR и Docling.

Цель исследования — максимально использовать готовые возможности библиотек и не реализовывать функциональность, которая уже существует.

По итогам исследования необходимо подготовить краткий технический отчёт и рекомендации по архитектуре второго этапа.


Необходимо исследовать

1. Совместимость PaddleOCR и Docling

Необходимо определить:

  • может ли Docling использовать PaddleOCR как OCR backend;
  • какие версии библиотек совместимы между собой;
  • существуют ли официально поддерживаемые способы интеграции.

2. Форматы экспорта

Необходимо определить, какие форматы умеет генерировать Docling.

Для каждого формата необходимо указать:

  • поддерживается ли официально;
  • степень сохранения структуры документа;
  • пригодность для последующего анализа LLM.

Минимально исследовать:

  • HTML
  • Markdown
  • JSON
  • DocTags
  • Plain Text

3. Качество HTML

Определить:

  • насколько полно сохраняется структура документа;
  • сохраняются ли таблицы;
  • сохраняются ли объединённые ячейки;
  • сохраняются ли изображения;
  • сохраняются ли подписи рисунков;
  • сохраняются ли заголовки;
  • сохраняются ли списки.

Приложить небольшой пример HTML.


4. Таблицы

Исследовать:

  • качество восстановления таблиц;
  • поддержку rowspan;
  • поддержку colspan;
  • возможность восстановления сложных таблиц.

При наличии ограничений подробно их описать.


5. Формулы

Определить:

  • распознаёт ли Docling математические формулы;
  • сохраняются ли формулы как текст;
  • сохраняются ли как изображения;
  • поддерживается ли MathML;
  • поддерживается ли LaTeX.

При наличии ограничений описать их.


6. OCR Confidence

Определить:

  • предоставляет ли PaddleOCR confidence;
  • может ли Docling сохранить confidence;
  • можно ли передать confidence в HTML;
  • можно ли использовать confidence для последующей подсветки сомнительных мест.

7. Координаты элементов

Определить:

можно ли получить координаты:

  • страниц;
  • абзацев;
  • таблиц;
  • строк;
  • отдельных слов.

8. Производительность

Для документов объёмом около 150 страниц определить:

  • примерное время обработки;
  • объём используемой памяти;
  • возможность пакетной обработки.

9. Работа полностью offline

Подтвердить, что:

  • PaddleOCR работает полностью offline;
  • Docling работает полностью offline;
  • отсутствуют обращения к облачным сервисам.

10. Возможность ручной корректировки

Определить:

Можно ли после генерации HTML:

  • открыть его в браузере;
  • открыть в Microsoft Word;
  • открыть в LibreOffice Writer;
  • исправить ошибки OCR;
  • сохранить обратно без существенной потери структуры.

11. Минимальный пример

Подготовить минимальный рабочий пример.

Pipeline должен выглядеть следующим образом:

JPEG страницы

↓

PaddleOCR

↓

Docling

↓

HTML

Необходимо показать:

  • пример входного изображения;
  • пример кода;
  • пример полученного HTML.

Что НЕ требуется

На данном этапе не требуется:

  • писать production-код;
  • проектировать архитектуру проекта;
  • реализовывать CLI;
  • реализовывать HTML-генератор;
  • реализовывать OCR самостоятельно.

Результат исследования

По окончании исследования необходимо подготовить документ:

STAGE2_RESEARCH_RESULT.md

Документ должен содержать:

  1. Краткое описание возможностей PaddleOCR.
  2. Краткое описание возможностей Docling.
  3. Выявленные ограничения.
  4. Рекомендуемую архитектуру второго этапа.
  5. Минимальный рабочий пример интеграции.
  6. Перечень функций, которые уже реализованы библиотеками и не требуют собственной разработки.
  7. Перечень функций, которые придётся реализовать самостоятельно.
  8. Итоговую рекомендацию по реализации второго этапа проекта.

Главная цель исследования — минимизировать объём собственного кода за счёт максимально полного использования возможностей PaddleOCR и Docling.