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
Документ должен содержать:
- Краткое описание возможностей PaddleOCR.
- Краткое описание возможностей Docling.
- Выявленные ограничения.
- Рекомендуемую архитектуру второго этапа.
- Минимальный рабочий пример интеграции.
- Перечень функций, которые уже реализованы библиотеками и не требуют собственной разработки.
- Перечень функций, которые придётся реализовать самостоятельно.
- Итоговую рекомендацию по реализации второго этапа проекта.
Главная цель исследования — минимизировать объём собственного кода за счёт максимально полного использования возможностей PaddleOCR и Docling.