Maison développement back-end Tutoriel Python Python pour le NLP : Comment extraire et analyser le texte de description d'une image à partir de fichiers PDF ?

Python pour le NLP : Comment extraire et analyser le texte de description d'une image à partir de fichiers PDF ?

Sep 29, 2023 pm 06:33 PM
python pdf nlp (traitement du langage naturel)

Python for NLP:如何从PDF文件中提取并分析图片描述文本?

Python pour le NLP : Comment extraire et analyser le texte de description d'une image à partir de fichiers PDF ?

Résumé : Cet article expliquera comment utiliser la bibliothèque PDF et la bibliothèque OCR (Optical Character Recognition) en Python pour extraire le texte de description d'image (Image Description Text) à partir de fichiers PDF et effectuer une analyse et un traitement plus approfondis. Nous expliquerons chaque étape du processus de mise en œuvre à travers des exemples de code spécifiques.

  1. Introduction
    Avec le développement rapide de la technologie d'apprentissage automatique et de traitement du langage naturel, la demande des gens pour extraire des informations à partir de données multimédias augmente également. Parmi eux, l’extraction du texte de description d’image à partir de fichiers PDF est une tâche courante. Par exemple, dans le cadre de la recherche scientifique, nous pouvons avoir besoin d'extraire des descriptions illustrées de résultats expérimentaux à partir d'articles scientifiques pour une analyse et une vérification plus approfondies.
  2. Préparation
    Avant de commencer, nous devons installer les bibliothèques Python suivantes :
  3. PyPDF2 : pour lire et traiter les fichiers PDF.
  4. Pytesseract : une bibliothèque OCR pour reconnaître du texte dans des images.
  5. Wand : Une bibliothèque Python pour le traitement d'images.

Vous pouvez utiliser la commande pip pour installer ces bibliothèques :

pip install PyPDF2 pytesseract Wand
Copier après la connexion
  1. Extraire des images
    Tout d'abord, nous devons extraire toutes les images du fichier PDF et les enregistrer localement. Voici un exemple de code pour obtenir la liste d'images :

    import PyPDF2
    from wand.image import Image
    
    filename = 'example.pdf'
    pdf = PyPDF2.PdfFileReader(open(filename, 'rb'))
    
    images = []
    for page_num in range(pdf.numPages):
     image_blob = pdf.getPage(page_num).extract_images()
     for img in image_blob:
         images.append(img[0])
         
    # 保存图片
    for idx, img in enumerate(images):
     img_file = 'image_{}.png'.format(idx)
     try:
         img.save(filename=img_file)
     except Exception as e:
         print(e)
    Copier après la connexion
  2. Reconnaissance de texte d'image
    Ensuite, nous utilisons la bibliothèque Pytesseract pour effectuer l'OCR sur l'image enregistrée et extraire le texte dans l'image.

    import pytesseract
    
    image_text = []
    for img_file in image_files:
     text = pytesseract.image_to_string(Image.open(img_file))
     image_text.append(text)
    
    print(image_text)
    Copier après la connexion
  3. Analyse et traitement du texte
    Enfin, nous pouvons analyser et traiter davantage le texte de description de l'image. Par exemple, nous pouvons calculer la fréquence des mots de chaque texte de description d’image pour obtenir des mots et des expressions courants. Voici un exemple de code pour compter les 5 mots les plus fréquents dans chaque texte de description d'image :

    import re
    from collections import Counter
    
    # 合并所有图片描述文本
    all_text = ' '.join(image_text)
    
    # 去除标点符号和多余空格
    clean_text = re.sub(r'[^ws]', '', all_text)
    clean_text = re.sub(r's+', ' ', clean_text)
    
    # 统计词频
    words = clean_text.split()
    word_freq = Counter(words)
    top_words = word_freq.most_common(5)
    
    print(top_words)
    Copier après la connexion

    Conclusion
    Dans cet article, nous avons présenté comment utiliser la bibliothèque PDF et la bibliothèque OCR en Python pour extraire des données d'un extrait PDF et analyser le texte de description de l'image à partir du fichier. Nous démontrons chaque étape du processus de mise en œuvre avec des exemples de code spécifiques. J'espère que cet article pourra vous aider à mieux comprendre et appliquer Python dans des applications pratiques en PNL.

    Références :

    1. https://pypi.org/project/PyPDF2/
    2. https://pypi.org/project/pytesseract/
    3. https://pypi.org/project/Wand/

    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 de ce site Web
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

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quels sont les avantages et les inconvénients des modèles ? Quels sont les avantages et les inconvénients des modèles ? May 08, 2024 pm 03:51 PM

Quels sont les avantages et les inconvénients des modèles ?

Comment télécharger Deepseek Xiaomi Comment télécharger Deepseek Xiaomi Feb 19, 2025 pm 05:27 PM

Comment télécharger Deepseek Xiaomi

Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs Jul 01, 2024 am 07:22 AM

Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs

Pour seulement 250$, le directeur technique de Hugging Face vous apprend étape par étape comment peaufiner Llama 3 Pour seulement 250$, le directeur technique de Hugging Face vous apprend étape par étape comment peaufiner Llama 3 May 06, 2024 pm 03:52 PM

Pour seulement 250$, le directeur technique de Hugging Face vous apprend étape par étape comment peaufiner Llama 3

Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM May 06, 2024 pm 04:43 PM

Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM

Un guide complet sur le débogage et l'analyse des fonctions Golang Un guide complet sur le débogage et l'analyse des fonctions Golang May 06, 2024 pm 02:00 PM

Un guide complet sur le débogage et l'analyse des fonctions Golang

Comment lui demandez-vous Deepseek Comment lui demandez-vous Deepseek Feb 19, 2025 pm 04:42 PM

Comment lui demandez-vous Deepseek

Comment enregistrer la fonction d'évaluation Comment enregistrer la fonction d'évaluation May 07, 2024 am 01:09 AM

Comment enregistrer la fonction d'évaluation

See all articles