PDF-Extract-Kit : Extraire la structure complexe du contenu PDF de l'outil open-source

Introduction générale

PDF-Extract-Kit est un projet open source développé par l'équipe d'OpenDataLab, qui se concentre sur l'extraction efficace d'un contenu de haute qualité à partir de documents PDF complexes et diversifiés. Il intègre une technologie avancée d'analyse syntaxique des documents, prend en charge la détection de la mise en page, la reconnaissance des formules, l'extraction des tableaux, l'OCR et d'autres fonctions, et s'applique aux articles universitaires, aux rapports de recherche, aux documents financiers et à d'autres scénarios. PDF-Extract-Kit fournit des références d'évaluation complètes pour aider les utilisateurs à choisir le modèle le plus approprié, tout en étant constamment mis à jour et optimisé, comme l'ajout récent de DocLayout-YOLO et StructTable plus rapides. -Les développeurs et les chercheurs peuvent ainsi obtenir une extraction efficace du contenu des documents.

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

 

Liste des fonctions

  • Détection de la mise en pageReconnaître les mises en page dans les PDF, y compris les zones telles que les titres, les paragraphes, les images et les tableaux, avec la prise en charge de modèles efficaces tels que DocLayout-YOLO.
  • reconnaissance de la formuleLaTeX : extrait et analyse les formules mathématiques des documents et les convertit au format LaTeX, en s'appuyant sur des technologies avancées telles que UniMERNet.
  • Extraction du formulaireLaTeX : permet de reconnaître et d'extraire le contenu de tableaux complexes, avec des sorties aux formats LaTeX, HTML et Markdown.
  • Traitement OCRLe logiciel PaddleOCR permet de convertir du texte provenant de documents ou d'images numérisés en texte éditable grâce à des technologies telles que PaddleOCR.
  • Configuration modulaireLe système de gestion de l'information de l'Union européenne (UE) : Il fournit des profils flexibles qui permettent aux utilisateurs de combiner différents modèles et de créer rapidement des applications.
  • Évaluation du contenuLes utilisateurs peuvent ainsi évaluer l'efficacité de différents modèles d'analyse de fichiers PDF.
  • Extraction d'images et de textesLes logiciels d'extraction d'images à partir de fichiers PDF et de reconnaissance de leur contenu textuel.

 

Utiliser l'aide

Processus d'installation

PDF-Extract-Kit est compatible avec de nombreux systèmes d'exploitation (par exemple Ubuntu, Windows ou macOS). Voici les étapes détaillées de l'installation (Ubuntu 20.04 par exemple) :

1. préparation à l'environnement

  • Assurez-vous que Python 3.10 est installé sur votre système :
    sudo apt update
    sudo apt install python3.10 python3.10-dev python3-pip
  • Créer et activer un environnement virtuel :
    conda create -n pdf-extract-kit python=3.10
    conda activate pdf-extract-kit
    

2. installation des dépendances

  • Cloner le dépôt de code :
    git clone https://github.com/opendatalab/PDF-Extract-Kit.git
    cd PDF-Extract-Kit
    
  • Installer les dépendances principales (disponibles s'il n'y a pas de GPU) requirements-cpu.txt) :
    pip install -r requirements.txt
    

    prendre noteSi vous rencontrez doclayout-yolo L'installation a échoué, vous pouvez l'installer manuellement :

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

3. téléchargement des poids du modèle

  • Reportez-vous au didacticiel officiel pour télécharger les fichiers du modèle (téléchargement complet ou partiel possible) :
    • Téléchargements automatisés à l'aide de scripts Python :
      python scripts/download_models_hf.py
      
    • Ou téléchargez-la manuellement à partir de Hugging Face :
      git lfs install
      git clone https://huggingface.co/opendatalab/PDF-Extract-Kit-1.0
      
  • Une fois le téléchargement terminé, placez les fichiers du modèle dans le chemin spécifié dans le répertoire du projet (voir la section configs/model_configs.yaml).

4. vérification de l'installation

  • Exécutez l'exemple de script pour tester le fonctionnement de l'environnement :
    python pdf_extract.py --pdf assets/examples/example.pdf
    

    Le résultat sera enregistré dans le fichier outputs dossier.

Fonction Opération Déroulement

Détection de la mise en page

  1. Préparation des fichiers PDF: Placez le PDF à traiter dans le répertoire du projet (par ex. assets/examples/).
  2. Inspection du plan de roulement: :
    • modifications configs/layout_detection.yaml Le chemin d'entrée dans le
      pdf_path: "assets/examples/example.pdf"
      output_dir: "outputs/layout_detection"
      
    • Exécuter la commande :
      python scripts/layout_detection.py --config=configs/layout_detection.yaml
      
  3. Voir les résultats: en outputs/layout_detection et génère des images et des fichiers JSON avec les zones de mise en page étiquetées.

reconnaissance de la formule

  1. Exécuter l'extraction de la formule: :
    • Utiliser la configuration par défaut :
      python pdf_extract.py --pdf your_file.pdf --render
      
    • --render rend la formule sous forme d'image pour faciliter la vérification.
  2. Voir la sortieLes formules sont stockées dans la sortie JSON au format LaTeX et peuvent être utilisées directement dans la rédaction d'un travail universitaire ou dans un traitement ultérieur.

Extraction du formulaire

  1. Identification du formulaire d'exécution: :
    • Assurez-vous qu'il a été téléchargé StructTable-InternVL2-1B Modèles.
    • Effectuer l'extraction complète :
      python pdf_extract.py --pdf your_file.pdf
      
  2. Sélection du format de sortie: :
    • Modifier le fichier de configuration configs/model_configs.yamlParamètres table_format en raison de latex,html peut-être markdown.
  3. Vue des résultatsLe contenu du formulaire sera enregistré dans le répertoire de sortie dans le format spécifié.

Traitement OCR

  1. Traitement des PDF numérisés: :
    • Pour les PDF graphiques, assurez-vous que l'OCR est activé :
      python pdf_extract.py --pdf scan_file.pdf --vis
      
    • --vis Les paramètres génèrent des résultats de visualisation, en annotant les zones du texte reconnu.
  2. Vérifier la sortieLe contenu du texte est sauvegardé dans un format modifiable et les résultats de la reconnaissance image-texte sont visibles d'un seul coup d'œil.

Fonction en vedette Fonctionnement

Configuration modulaire

  • compilateur configs/model_configs.yaml, en ajustant les paramètres :
    • img_sizeRésolution de l'image.
    • conf_thres: Seuils de confiance.
    • device: Sélection cuda(GPU) ou cpu.
  • Exemple :
    model_args:
    img_size: 1024
    conf_thres: 0.5
    device: "cuda"
    

Optimisation des performances

  • Le traitement par lots peut être activé pour les appareils de grande capacité (≥16 Go de mémoire vidéo) :
    python pdf_extract.py --pdf your_file.pdf --batch-size 128
    
  • Augmentation de la vitesse d'analyse 50% ou plus, adaptée au traitement par lots.

Prise en charge multilingue

  • mettre en place lang en raison de autoLe modèle d'OCR est utilisé pour reconnaître automatiquement la langue du document et sélectionner le modèle d'OCR approprié :
    ocr_args:
    lang: "auto"
    

mise en garde

  • exigences en matière de matérielLes GPU (par exemple les cartes NVIDIA) peuvent augmenter de manière significative les vitesses de traitement et il est recommandé d'avoir ≥8GB de mémoire vidéo.
  • problèmes courants: :
    • Si l'on vous demande d'indiquer qu'il manque un cv2La course à pied pip install opencv-python.
    • Si le téléchargement du modèle est incomplet, vérifiez le réseau ou changez la méthode de téléchargement.
  • Soutien communautaireSi vous avez des questions, posez-les dans les forums Discussions ou Issues de GitHub.

Grâce aux étapes ci-dessus, les utilisateurs peuvent facilement démarrer avec PDF-Extract-Kit et réaliser efficacement l'extraction de contenus PDF complexes.

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...