PDF-Extract-Kit: извлечение сложной структуры содержимого PDF с помощью инструмента с открытым исходным кодом.

Общее введение

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

PDF-Extract-Kit:提取复杂结构PDF内容的开源工具

 

Список функций

  • Обнаружение макета: Распознавание макетов страниц в 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
      
  • После завершения загрузки поместите файл модели в указанный путь в каталоге проекта (см. configs/model_configs.yaml).

4. Проверка установки

  • Запустите пример сценария, чтобы проверить работоспособность среды:
    python pdf_extract.py --pdf assets/examples/example.pdf
    

    Результаты будут сохранены в файле outputs папка.

Функции Поток операций

Обнаружение макета

  1. Подготовка файлов PDF: Поместите обрабатываемый PDF-файл в каталог проекта (например. assets/examples/).
  2. Проверка ходовой части::
    • модификации 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
      
  3. Посмотреть результаты: в outputs/layout_detection папку, генерируя изображения и JSON-файлы с обозначенными областями макета.

распознавание формул

  1. Запуск извлечения формулы::
    • Используйте конфигурацию по умолчанию:
      python pdf_extract.py --pdf your_file.pdf --render
      
    • --render Параметр выводит формулу в виде изображения для удобства проверки.
  2. Просмотр выходных данных: Формулы хранятся в выходном JSON в формате LaTeX и могут быть использованы непосредственно при написании научных работ или дальнейшей обработке.

Извлечение формы

  1. Идентификация исполнительного листа::
    • Убедитесь, что он загружен StructTable-InternVL2-1B Модели.
    • Запустите полное извлечение:
      python pdf_extract.py --pdf your_file.pdf
      
  2. Выбор формата вывода::
    • Измените конфигурационный файл configs/model_configs.yamlНастройки table_format из-за latex, иhtml возможно markdown.
  3. Просмотр результатов: Содержимое формы будет сохранено в выходной каталог в указанном формате.

Обработка OCR

  1. Обработка отсканированных PDF-файлов::
    • Для графических PDF-файлов убедитесь, что функция OCR включена:
      python pdf_extract.py --pdf scan_file.pdf --vis
      
    • --vis Параметры генерируют результаты визуализации, аннотируя области распознанного текста.
  2. Проверьте выход: Текстовое содержимое сохраняется в редактируемом формате, а результаты распознавания изображений и текстов видны с первого взгляда.

Функциональное управление

Модульная конфигурация

  • компилятор 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.

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...