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.
Vous pouvez utiliser la commande pip pour installer ces bibliothèques :
pip install PyPDF2 pytesseract Wand
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)
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)
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)
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 :
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!