Maison  >  Article  >  développement back-end  >  Comment extraire le texte de fichiers PDF numérisés à l'aide de Python pour le NLP ?

Comment extraire le texte de fichiers PDF numérisés à l'aide de Python pour le NLP ?

王林
王林original
2023-09-27 11:38:01801parcourir

如何利用Python for NLP从扫描的PDF文件中提取文本?

Comment extraire le texte de fichiers PDF numérisés à l'aide de Python pour le NLP ?

NLP (Natural Language Processing) est un domaine important impliquant l'analyse et le traitement de texte. Python est un langage de programmation puissant doté d'une riche bibliothèque et d'outils pour traiter et analyser des données textuelles. Dans cet article, nous explorerons comment utiliser Python pour le NLP pour extraire le texte des fichiers PDF numérisés.

Étape 1 : Installer et importer les bibliothèques nécessaires

Tout d'abord, nous devons installer et importer certaines bibliothèques couramment utilisées en Python pour le traitement des fichiers PDF et l'extraction de texte.

!pip install PyPDF2
import PyPDF2

Étape 2 : Ouvrez le fichier PDF

Avant de commencer à extraire le texte, nous devons ouvrir le fichier PDF numérisé.

pdf_file = open('扫描文件.pdf', 'rb')

Étape 3 : Créer un objet PDF Reader

En utilisant les fonctions fournies par la bibliothèque PyPDF2, nous pouvons créer un objet PDF Reader pour lire et analyser des fichiers PDF.

pdf_reader = PyPDF2.PdfFileReader(pdf_file)

Étape 4 : Extraire le texte

Maintenant, nous pouvons utiliser les méthodes fournies par l'objet PDF Reader pour extraire le texte du fichier PDF.

text = ""
for page_num in range(pdf_reader.numPages):
    page = pdf_reader.getPage(page_num)
    text += page.extractText()

Le code ci-dessus crée d'abord une chaîne de texte vide, puis parcourt le texte de chaque page et l'ajoute à la chaîne de texte. La méthode extractText() est utilisée pour extraire le texte de l'objet page.

Étape 5 : Nettoyer les données textuelles

Le texte extrait peut contenir du bruit ou des caractères inutiles. Par conséquent, nous devons nettoyer et prétraiter le texte.

import re

clean_text = re.sub(r'[^A-Za-z0-9]+', ' ', text)

Le code ci-dessus utilise des expressions régulières pour supprimer les caractères non alphanumériques du texte et les remplacer par des espaces.

Étape 6 : Enregistrez le texte extrait

Enfin, nous pouvons choisir d'enregistrer le texte extrait dans un fichier texte pour une utilisation ultérieure.

output_file = open('提取的文本.txt', 'w')
output_file.write(clean_text)
output_file.close()

Le code ci-dessus écrit le texte nettoyé dans un fichier texte et le nomme "Extracted Text.txt".

Exemple de code intégré :

!pip install PyPDF2
import PyPDF2
import re

def extract_text_from_pdf(pdf_filename, output_filename):
    pdf_file = open(pdf_filename, 'rb')
    pdf_reader = PyPDF2.PdfFileReader(pdf_file)
    
    text = ""
    for page_num in range(pdf_reader.numPages):
        page = pdf_reader.getPage(page_num)
        text += page.extractText()
    
    clean_text = re.sub(r'[^A-Za-z0-9]+', ' ', text)
    
    output_file = open(output_filename, 'w')
    output_file.write(clean_text)
    output_file.close()

extract_text_from_pdf('扫描文件.pdf', '提取的文本.txt')

Résumé :

Cet article explique comment utiliser Python pour le NLP pour extraire le texte de fichiers PDF numérisés. Grâce à la bibliothèque PyPDF2, nous pouvons ouvrir et lire des fichiers PDF et extraire le texte de chaque page en utilisant les méthodes fournies. Nous pouvons ensuite utiliser des expressions régulières pour nettoyer et prétraiter le texte. Enfin, nous avons la possibilité de sauvegarder le texte extrait dans un fichier texte. En utilisant ces étapes, nous pouvons facilement extraire le texte des fichiers PDF numérisés et appliquer davantage les techniques et méthodes de PNL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn