paint-brush
Comment utiliser GPT-4 pour l'extraction de données PDF : un guide completpar@docsumo
27,145 lectures
27,145 lectures

Comment utiliser GPT-4 pour l'extraction de données PDF : un guide complet

par Docsumo6m2023/05/30
Read on Terminal Reader

Trop long; Pour lire

L'extraction PDF est le processus d'extraction de texte, d'images ou d'autres données à partir d'un fichier PDF. Dans cet article, nous explorons les méthodes actuelles d'extraction de données PDF, leurs limites et comment GPT-4 peut être utilisé pour effectuer des tâches de questions-réponses pour l'extraction de PDF. Nous fournissons également un guide étape par étape pour la mise en œuvre de G PT-4 pour l'extraction de PDFData.
featured image - Comment utiliser GPT-4 pour l'extraction de données PDF : un guide complet
Docsumo HackerNoon profile picture
0-item
1-item

L'extraction PDF est le processus d'extraction de texte, d'images ou d'autres données à partir d'un fichier PDF. Dans cet article, nous explorons les méthodes actuelles d'extraction de données PDF, leurs limites et comment GPT-4 peut être utilisé pour effectuer des tâches de questions-réponses pour l'extraction de PDF. Nous fournissons également un guide étape par étape pour la mise en œuvre de GPT-4 pour l'extraction de données PDF.


Dans cet article, nous abordons :

  • Quelles sont les méthodes actuelles d'extraction de données PDF et leurs limites ?
  • Comment utiliser GPT-4 pour interroger un ensemble de fichiers PDF et trouver des réponses à toutes les questions. Plus précisément, nous explorerons le processus d'extraction de PDF et comment il peut être utilisé conjointement avec GPT-4 pour effectuer des tâches de réponse aux questions.


Alors, sautons directement dedans.


Qu'est-ce que l'extraction PDF ?

L'extraction de données PDF est le processus d'extraction de texte, d'images ou d'autres données à partir d'un fichier PDF (Portable Document Format). Ces fichiers sont largement utilisés pour partager et stocker des documents, mais leur contenu n'est pas toujours facilement accessible.


Pourquoi l'extraction PDF est-elle importante ?

L'accessibilité et la lisibilité des fichiers PDF sont très nécessaires pour ceux qui ont des problèmes de vision ou ont du mal à lire des textes petits ou flous, utiles pour les situations juridiques, l'analyse de données et la recherche. Certains cas où l'extraction est nécessaire incluent l'utilisation de contenu texte ou image à partir de fichiers PDF dans d'autres documents pour gagner du temps et éviter les erreurs.


Quelles sont les méthodes actuelles d'extraction de données PDF et leurs limites ?

Nous sommes en 2023 et de nombreuses techniques et outils d'extraction de PDF sont disponibles sur Internet. Plongeons plus profondément dans les 3 techniques populaires d'extraction de données et quelques exemples de celles-ci :


1 : Technique OCR

OCR , ou abréviation de Optical Character Recognition peut être utilisé pour extraire du texte à partir de diverses sources, y compris des documents numérisés, des images et des fichiers PDF, et est couramment utilisé pour numériser des documents imprimés tels que des livres, des journaux et des documents historiques.

Certains des outils OCR populaires incluent :



2 : Modèles

Les techniques basées sur des modèles tiennent compte du style du document PDF et utilisent des règles codées en dur. Ces techniques fonctionnent généralement sur des documents structurés, dont la structure reste constante et faciles à comprendre.


Certaines des techniques populaires basées sur des modèles incluent :

  • Utilisation du modèle regex

    Ex : la date peut être extraite par la règle regex suivante :

    [jj-mm-aaaa ou aaaa-mm-jj] - [0-9]{2,4}/[0-9]{2}/[0-9]{2,4}

  • Règles de codage en dur basées sur la position des textes et les dimensions des documents


3 : Techniques d'apprentissage automatique

Les techniques d'apprentissage automatique (ML) sont considérées comme l'une des meilleures méthodes d'extraction de PDF, car elles permettent une reconnaissance et une extraction de texte très précises à partir de fichiers PDF, quelle que soit la structure du fichier. Ces modèles peuvent stocker des informations sur la layout et la position of the text en gardant également à l'esprit le texte voisin. Cela les aide à mieux généraliser et à apprendre plus efficacement la structure du document.


Que sont les LLM

Les grands modèles de langage sont un sous-ensemble de l'intelligence artificielle qui a été formé sur de grandes quantités de données textuelles. Par exemple : ChatGPT qui est formé sur l'ensemble des données et informations Internet pour produire des réponses de type humain au dialogue ou à d'autres entrées en langage naturel.

Afin de produire ces réponses en langage naturel, les LLM utilisent des modèles d'apprentissage en profondeur, qui utilisent des réseaux de neurones multicouches pour traiter, analyser et faire des prédictions avec des données complexes.


Certains modèles de ML populaires incluent :

  • Disposition des modèles LM v1, v2 et v3 [ Github ]
  • DocBERT [ Github ]


Limites des modèles ML

Un problème majeur auquel ce type de modèle est confronté est qu'ils peuvent simplement extraire les informations du PDF sans savoir si l'extraction est réellement précise et correcte. Les textes extraits peuvent également inclure d'autres informations sur les clés dans une autre clé. Avoir un contexte intelligent aide le modèle à atténuer ces inexactitudes.


Pour résoudre ce problème et intégrer l'intelligence dans le système d'extraction de PDF, nous pouvons tirer parti de la puissance de GPT-4.


Qu'est-ce que GPT-4 et ChatGPT ?

GPT-4 (Generative Pre-trained Transformer 4) est un grand modèle de langage développé par OpenAI qui utilise des techniques d'apprentissage en profondeur pour générer un texte en langage naturel de type humain. C'est l'un des modèles de langage les plus grands et les plus puissants disponibles, avec 175 milliards de paramètres.

Chat-GPT, d'autre part, est une variante de GPT qui a été spécialement formée pour les applications d'IA conversationnelles. Il a été affiné sur un grand ensemble de données de conversation et peut générer des réponses de type humain aux requêtes des utilisateurs. Chat GPT peut être utilisé pour une variété d'applications, y compris les chatbots, le service client et les assistants virtuels.


Avançons avec l'énoncé du problème et examinons comment GPT-4 avec ChatGPT peut nous aider à résoudre le problème de l'extraction de PDF.


Énoncé du problème

Le défi d'extraire efficacement des informations spécifiques d'une collection de fichiers PDF est un défi que de nombreuses applications et industries rencontrent régulièrement. L'extraction d'informations à partir de relevés bancaires ou de formulaires fiscaux est difficile. La méthode traditionnelle de numérisation manuelle de nombreux fichiers PDF prend beaucoup de temps et peut produire des données inexactes ou incohérentes. De plus, les données non structurées trouvées dans les fichiers PDF compliquent l'extraction des informations nécessaires par les systèmes automatisés.


Nous avons l'intention de résoudre le problème de trouver la réponse aux questions de l'utilisateur à partir du PDF avec peu d'intervention manuelle.


Solution

Nous pouvons utiliser le GPT-4 et ses intégrations à notre avantage :


  1. Générez des incorporations de documents ainsi que des incorporations pour les requêtes des utilisateurs.
  2. Identifiez le document qui est le plus proche de la requête de l'utilisateur et peut contenir les réponses à l'aide de n'importe quelle méthode de similarité (par exemple, le score de cosinus), puis,
  3. Envoyez le document et la requête de l'utilisateur à GPT-4 pour découvrir la réponse précise.

Mise en œuvre


Étape 1 : Analyser le PDF

A : Extraire le texte du PDF

Vous pouvez utiliser n'importe laquelle des techniques OCR ou ML pour extraire le texte du document


B : Diviser le texte en petits morceaux appropriés en fonction de la structure du document

En utilisant les informations de coordonnées de Bounding-Box [x0, y0, x2, y2] où x0 et y0 sont les coordonnées en haut à gauche et x2 et y2 sont les coordonnées en bas à droite, vous pouvez diviser le texte entier en petits morceaux d'une certaine largeur et la hauteur.


C : Encodez ces morceaux dans Embeddings [utilisez OpenAI Embeddings ou HuggingFace ]


 import torch from transformers import AutoTokenizer, AutoModel # Load the pre-trained model and tokenizer tokenizer = AutoTokenizer.from_pretrained('bert-base-uncased') model = AutoModel.from_pretrained('bert-base-uncased') # Tokenize the sentence tokens = tokenizer.encode("<pass your code chunk block here>", return_tensors='pt') # Get the embeddings with torch.no_grad(): outputs = model(tokens) embeddings = outputs[0][0] # Print the embeddings print(embeddings)


Étape 2 : Stockage des vecteurs plongeants dans une base de données vectorielle

Qu'est-ce qu'une BD vectorielle et pourquoi est-elle nécessaire ?

  • Les bases de données vectorielles sont des bases de données spécialement conçues pour gérer la structure unique des vecteurs intégrés. Ils indexent les vecteurs pour faciliter la recherche et la récupération en comparant les valeurs et en trouvant celles qui sont les plus similaires les unes aux autres. Les exemples incluent Pinecone et Weaviate.
  • Cette V-DB contient des vecteurs de chaque extrait de bloc et se documente


Étape 3 : Rechercher l'extrait de bloc correspondant à la requête d'entrée

A : Calculer les représentations vectorielles continues pour la requête de l'utilisateur

Utilisez la même technique que celle mentionnée ci-dessus pour calculer les plongements


B : Rechercher un vecteur d'intégration de bloc dans la base de données vectorielle dont les intégrations correspondent étroitement aux intégrations de la requête de l'utilisateur

Vous pouvez utiliser n'importe quel similarity search algorithm .

Vous pouvez utiliser Semantic Sentence Similarity de la bibliothèque de transformateurs de phrases.

 from sentence_transformers import SentenceTransformer, util #Compute cosine-similarities for each code chunk embds with user's query embeddings cosine_scores = util.cos_sim(code_chunk_embds, user_query_embds)


Étape 4 : Demandez à GPT-4 une réponse basée sur l'extrait de code fourni et la requête de l'utilisateur

A : Fournir 3 entrées.

Input1 : Requête de l'utilisateur

Input2 : Le morceau qui ressemblait beaucoup à la requête

Input3 : Quelques méta-instructions, le cas échéant [Système : Répondez aux questions uniquement sur la base des informations fournies dans le document]


B : La sortie GPT-4 est la réponse


Avantages de l'utilisation des API GPT4 et ChatGPT ?

Comme nous le savons déjà puisque GPT4 est un LLM si puissant qui peut incorporer une grande quantité de contexte avec une longueur de jeton de 8 192 et 32 768 jetons, produire des résultats très précis devient plus facile et très rapide.


L'API ChatGPT s'intègre de manière transparente à n'importe quel langage de programmation, ce qui peut nous aider davantage dans les tâches en aval.


Qu'avons-nous appris ?

  • Nous avons découvert les différentes techniques et outils d'extraction de PDF et de données
  • Quelles sont les limites de ces types de modules et de modèles
  • En quoi et comment ChatGPT et GPT-4 sont-ils utiles dans notre cas d'utilisation et comment peuvent-ils être utilisés pour résoudre l'extraction de données à partir de PDF