AI Personal Learning
und praktische Anleitung
豆包Marscode1

PDF-Extract-Kit: Extrahieren der komplexen Struktur des PDF-Inhalts mit dem Open-Source-Tool

Allgemeine Einführung

PDF-Extract-Kit ist ein Open-Source-Projekt, das vom OpenDataLab-Team entwickelt wurde und sich auf die effiziente Extraktion von hochwertigen Inhalten aus komplexen und vielfältigen PDF-Dokumenten konzentriert. Es integriert fortschrittliche Dokumenten-Parsing-Technologie, Unterstützung für Layout-Erkennung, Formel-Erkennung, Tabellen-Extraktion und OCR und andere Funktionen, anwendbar auf akademische Papiere, Forschungsberichte, Finanzdokumente und andere Szenarien. PDF-Extract-Kit bietet umfassende Evaluierungs-Benchmarks, um den Benutzern bei der Auswahl des am besten geeigneten Modells zu helfen, während es ständig aktualisiert und optimiert wird, wie z.B. die kürzliche Hinzufügung der schnelleren DocLayout-YOLO und StructTable -InternVL2-1B. Sowohl Entwickler als auch Forscher können damit eine effiziente Extraktion von Dokumenteninhalten erreichen.

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


 

Funktionsliste

  • Layout-ErkennungErkennen von Seitenlayouts in PDF, einschließlich Bereichen wie Überschriften, Absätzen, Bildern und Tabellen, mit Unterstützung für effiziente Modelle wie DocLayout-YOLO.
  • FormelerkennungExtrahiert und parst mathematische Formeln aus Dokumenten und konvertiert sie in das LaTeX-Format, wobei es sich auf fortschrittliche Technologien wie UniMERNet stützt.
  • Formular-ExtraktionUnterstützt die Erkennung und Extraktion komplexer Tabelleninhalte, mit Ausgabe in den Formaten LaTeX, HTML und Markdown.
  • OCR-VerarbeitungKonvertierung von Text aus gescannten Dokumenten oder Bildern in bearbeitbaren Text durch Technologien wie PaddleOCR.
  • Modulare KonfigurationBietet flexible Profile, mit denen Benutzer verschiedene Modelle kombinieren und schnell Anwendungen erstellen können.
  • Inhaltliche BewertungDiverse eingebaute PDF-Parsing-Benchmarks, die den Benutzern helfen, die Effektivität verschiedener Modelle zu bewerten.
  • Bild- und TextextraktionUnterstützung für die Extraktion von Bildern aus PDFs und die Erkennung ihres Textinhalts.

 

Hilfe verwenden

Einbauverfahren

PDF-Extract-Kit wird auf mehreren Betriebssystemen unterstützt (z.B. Ubuntu, Windows oder macOS), hier sind die detaillierten Installationsschritte (z.B. Ubuntu 20.04):

1. die Vorbereitung der Umwelt

  • Stellen Sie sicher, dass Python 3.10 auf Ihrem System installiert ist:
    sudo apt update
    sudo apt install python3.10 python3.10-dev python3-pip
  • Erstellen und aktivieren Sie eine virtuelle Umgebung:
    conda create -n pdf-extract-kit python=3.10
    conda activate pdf-extract-kit
    

2. die Installation von Abhängigkeiten

  • Klonen Sie das Code-Repository:
    git clone https://github.com/opendatalab/PDF-Extract-Kit.git
    cd PDF-Extract-Kit
    
  • Kernabhängigkeiten installieren (verfügbar, wenn keine GPU) requirements-cpu.txt):
    pip install -r requirements.txt
    

    zur Kenntnis nehmenWenn Sie auf doclayout-yolo Die Installation ist fehlgeschlagen, Sie können es manuell installieren:

    pip3 install doclayout-yolo==0.0.2 --extra-index-url=https://pypi.org/simple
    

3. das Herunterladen von Modellgewichten

  • Die Modelldateien können aus dem offiziellen Tutorial heruntergeladen werden (vollständiger oder teilweiser Download wird unterstützt):
    • Automatisierte Downloads mit Python-Skripten:
      python scripts/download_models_hf.py
      
    • Oder laden Sie es manuell von Hugging Face herunter:
      git lfs install
      git clone https://huggingface.co/opendatalab/PDF-Extract-Kit-1.0
      
  • Nachdem der Download abgeschlossen ist, legen Sie die Modelldateien im angegebenen Pfad im Projektverzeichnis ab (siehe Abschnitt configs/model_configs.yaml).

4. die Überprüfung der Installation

  • Führen Sie das Beispielskript aus, um zu testen, ob die Umgebung funktioniert:
    python pdf_extract.py --pdf assets/examples/example.pdf
    

    Die Ausgabe wird in der Datei outputs Ordner.

Funktion Betriebsablauf

Layout-Erkennung

  1. Vorbereiten von PDF-Dateien: Legen Sie das zu verarbeitende PDF in das Projektverzeichnis (z.B. assets/examples/).
  2. Laufende Layout-Inspektion::
    • Änderungen configs/layout_detection.yaml Der Eingabepfad in der
      pdf_path: "assets/examples/example.pdf"
      output_dir: "outputs/layout_detection"
      
    • Führen Sie den Befehl aus:
      python scripts/layout_detection.py --config=configs/layout_detection.yaml
      
  3. Ergebnisse anzeigen: in outputs/layout_detection und erzeugt Bilder und JSON-Dateien mit den beschrifteten Layoutbereichen.

Formelerkennung

  1. Formelextraktion ausführen::
    • Verwenden Sie die Standardkonfiguration:
      python pdf_extract.py --pdf your_file.pdf --render
      
    • --render wird die Formel zur einfachen Überprüfung als Bild dargestellt.
  2. Ansicht AusgabeFormeln werden in der JSON-Ausgabe im LaTeX-Format gespeichert und können direkt in akademischen Arbeiten oder zur Weiterverarbeitung verwendet werden.

Formular-Extraktion

  1. Identifizierung des Ausführungsformulars::
    • Sicherstellen, dass es heruntergeladen ist StructTable-InternVL2-1B Modelle.
    • Führen Sie die vollständige Extraktion durch:
      python pdf_extract.py --pdf your_file.pdf
      
  2. Auswahl des Ausgabeformats::
    • Ändern Sie die Konfigurationsdatei configs/model_configs.yamlEinstellungen table_format wegen latexundhtml vielleicht markdown.
  3. Ergebnisse AnsichtDer Inhalt des Formulars wird im angegebenen Format im Ausgabeverzeichnis gespeichert.

OCR-Verarbeitung

  1. Verarbeitung gescannter PDFs::
    • Stellen Sie bei grafischen PDFs sicher, dass OCR aktiviert ist:
      python pdf_extract.py --pdf scan_file.pdf --vis
      
    • --vis Die Parameter erzeugen Visualisierungsergebnisse, die Bereiche des erkannten Textes mit Anmerkungen versehen.
  2. Ausgabe prüfenDer Textinhalt wird in einem bearbeitbaren Format gespeichert, und die Ergebnisse der Bild-Text-Erkennung sind auf einen Blick zu erkennen.

Featured Function Bedienung

Modulare Konfiguration

  • Compiler configs/model_configs.yamlund stellen die Parameter ein:
    • img_sizeBildauflösung.
    • conf_thresKonfidenzschwellen.
    • device: Auswahl cuda(GPU) oder cpu.
  • Beispiel:
    model_args:
    img_size: 1024
    conf_thres: 0.5
    device: "cuda"
    

Optimierung der Leistung

  • Die Stapelverarbeitung kann für Geräte mit hoher Kapazität (≥16 GB Videospeicher) aktiviert werden:
    python pdf_extract.py --pdf your_file.pdf --batch-size 128
    
  • Erhöhung der Parsing-Geschwindigkeit 50% oder höher, geeignet für Stapelverarbeitung.

Unterstützung mehrerer Sprachen

  • aufstellen lang wegen autoDas OCR-Modell wird verwendet, um die Sprache des Dokuments automatisch zu erkennen und das geeignete OCR-Modell auszuwählen:
    ocr_args:
    lang: "auto"
    

caveat

  • Hardware-Voraussetzung: GPUs (z.B. NVIDIA-Karten) können die Verarbeitungsgeschwindigkeit erheblich steigern und sollten über ≥8 GB Videospeicher verfügen.
  • allgemeine Probleme::
    • Wenn Sie aufgefordert werden, eine fehlende cv2Laufen pip install opencv-python.
    • Wenn der Download des Modells unvollständig ist, überprüfen Sie das Netzwerk oder ändern Sie die Download-Methode.
  • Unterstützung der GemeinschaftWenn Sie Fragen haben, stellen Sie diese in den Diskussions- oder Problemboards von GitHub.

Anhand der oben genannten Schritte können Benutzer einfach mit PDF-Extract-Kit beginnen und die Extraktion komplexer PDF-Inhalte effizient abschließen.

Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " PDF-Extract-Kit: Extrahieren der komplexen Struktur des PDF-Inhalts mit dem Open-Source-Tool
de_DEDeutsch