PDF-Extract-Kit: извлечение сложной структуры содержимого PDF с помощью инструмента с открытым исходным кодом.
Общее введение
PDF-Extract-Kit - это проект с открытым исходным кодом, разработанный командой OpenDataLab, ориентированный на эффективное извлечение высококачественного контента из сложных и разнообразных PDF-документов. Он интегрирует передовые технологии разбора документов, поддерживает обнаружение макета, распознавание формул, извлечение таблиц и OCR и другие функции, применимые к академическим статьям, исследовательским отчетам, финансовым документам и другим сценариям. Инструмент имеет модульную конструкцию, пользователи могут гибко настраивать его в соответствии с потребностями пользователя, чтобы легко создавать индивидуальные приложения для обработки документов. PDF-Extract-Kit предоставляет всестороннюю оценку эталонов, чтобы помочь пользователям выбрать наиболее подходящую модель, при этом постоянно обновляется и оптимизируется, например, недавно были добавлены более быстрые DocLayout-YOLO и StructTable -С его помощью разработчики и исследователи могут добиться эффективного извлечения содержимого документов.

Список функций
- Обнаружение макета: Распознавание макетов страниц в PDF, включая такие области, как заголовки, абзацы, изображения и таблицы, с поддержкой таких эффективных моделей, как DocLayout-YOLO.
- распознавание формул: Извлекает и разбирает математические формулы из документов и преобразует их в формат LaTeX, используя передовые технологии, такие как UniMERNet.
- Извлечение формы: Поддерживает распознавание и извлечение сложного содержимого таблиц с выводом в форматы LaTeX, HTML и Markdown.
- Обработка OCR: Преобразование текста из отсканированных документов или изображений в редактируемый текст с помощью таких технологий, как PaddleOCR.
- Модульная конфигурация: Обеспечивает гибкие профили, позволяющие пользователям комбинировать различные модели и быстро создавать приложения.
- Оценка содержания: Разнообразные встроенные эталоны разбора PDF, которые помогут пользователям оценить эффективность различных моделей.
- Извлечение изображений и текста: Поддержка извлечения изображений из PDF-файлов и распознавания их текстового содержимого.
Использование помощи
Процесс установки
PDF-Extract-Kit поддерживается на различных операционных системах (например, Ubuntu, Windows или macOS), вот подробные шаги по установке (например, Ubuntu 20.04):
1. Подготовка окружающей среды
- Убедитесь, что в вашей системе установлен Python 3.10:
sudo apt update sudo apt install python3.10 python3.10-dev python3-pip
- Создайте и активируйте виртуальную среду:
conda create -n pdf-extract-kit python=3.10 conda activate pdf-extract-kit
2. Установка зависимостей
- Клонируйте репозиторий кода:
git clone https://github.com/opendatalab/PDF-Extract-Kit.git cd PDF-Extract-Kit
- Установите основные зависимости (доступны, если нет GPU).
requirements-cpu.txt
):pip install -r requirements.txt
принимать к сведению: Если вы столкнулись с
doclayout-yolo
Установка не удалась, вы можете установить его вручную:pip3 install doclayout-yolo==0.0.2 --extra-index-url=https://pypi.org/simple
3. Загрузка весов модели
- Обратитесь к официальному руководству, чтобы загрузить файлы модели (поддерживается полная или частичная загрузка):
- Автоматизированные загрузки с помощью скриптов Python:
python scripts/download_models_hf.py
- Или загрузите его вручную с сайта Hugging Face:
git lfs install git clone https://huggingface.co/opendatalab/PDF-Extract-Kit-1.0
- Автоматизированные загрузки с помощью скриптов Python:
- После завершения загрузки поместите файл модели в указанный путь в каталоге проекта (см.
configs/model_configs.yaml
).
4. Проверка установки
- Запустите пример сценария, чтобы проверить работоспособность среды:
python pdf_extract.py --pdf assets/examples/example.pdf
Результаты будут сохранены в файле
outputs
папка.
Функции Поток операций
Обнаружение макета
- Подготовка файлов PDF: Поместите обрабатываемый PDF-файл в каталог проекта (например.
assets/examples/
). - Проверка ходовой части::
- модификации
configs/layout_detection.yaml
Входной тракт вpdf_path: "assets/examples/example.pdf" output_dir: "outputs/layout_detection"
- Выполните команду:
python scripts/layout_detection.py --config=configs/layout_detection.yaml
- модификации
- Посмотреть результаты: в
outputs/layout_detection
папку, генерируя изображения и JSON-файлы с обозначенными областями макета.
распознавание формул
- Запуск извлечения формулы::
- Используйте конфигурацию по умолчанию:
python pdf_extract.py --pdf your_file.pdf --render
--render
Параметр выводит формулу в виде изображения для удобства проверки.
- Используйте конфигурацию по умолчанию:
- Просмотр выходных данных: Формулы хранятся в выходном JSON в формате LaTeX и могут быть использованы непосредственно при написании научных работ или дальнейшей обработке.
Извлечение формы
- Идентификация исполнительного листа::
- Убедитесь, что он загружен
StructTable-InternVL2-1B
Модели. - Запустите полное извлечение:
python pdf_extract.py --pdf your_file.pdf
- Убедитесь, что он загружен
- Выбор формата вывода::
- Измените конфигурационный файл
configs/model_configs.yaml
Настройкиtable_format
из-заlatex
, иhtml
возможноmarkdown
.
- Измените конфигурационный файл
- Просмотр результатов: Содержимое формы будет сохранено в выходной каталог в указанном формате.
Обработка OCR
- Обработка отсканированных PDF-файлов::
- Для графических PDF-файлов убедитесь, что функция OCR включена:
python pdf_extract.py --pdf scan_file.pdf --vis
--vis
Параметры генерируют результаты визуализации, аннотируя области распознанного текста.
- Для графических PDF-файлов убедитесь, что функция OCR включена:
- Проверьте выход: Текстовое содержимое сохраняется в редактируемом формате, а результаты распознавания изображений и текстов видны с первого взгляда.
Функциональное управление
Модульная конфигурация
- компилятор
configs/model_configs.yaml
, настраивая параметры:img_size
: Разрешение изображения.conf_thres
: Пороги доверия.device
: Выборcuda
(GPU) илиcpu
.
- Пример:
model_args: img_size: 1024 conf_thres: 0.5 device: "cuda"
Оптимизация высокой производительности
- Для устройств с большим объемом видеопамяти (≥16 ГБ) можно включить пакетную обработку:
python pdf_extract.py --pdf your_file.pdf --batch-size 128
- Увеличение скорости парсинга 50% или выше, подходит для пакетной обработки.
Поддержка нескольких языков
- устанавливать
lang
из-заauto
Модель OCR может использоваться для автоматического распознавания языка документа и выбора подходящей модели OCR:ocr_args: lang: "auto"
предостережение
- требования к оборудованию: Графические процессоры (например, карты NVIDIA) могут значительно увеличить скорость обработки данных, поэтому рекомендуется иметь ≥8 ГБ видеопамяти.
- общие проблемы::
- Если на экране появится сообщение об отсутствии
cv2
Бегpip install opencv-python
. - Если загрузка модели не завершена, проверьте сеть или измените способ загрузки.
- Если на экране появится сообщение об отсутствии
- Поддержка общества: Если у вас есть вопросы, задавайте их на форумах GitHub "Обсуждения" или "Проблемы".
Выполнив вышеописанные действия, пользователи смогут легко начать работу с PDF-Extract-Kit и эффективно выполнять извлечение сложного содержимого PDF.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...