Comment extraire et analyser le texte de plusieurs fichiers PDF avec Python pour le NLP ?
Résumé :
Avec l'avènement de l'ère du Big Data, le traitement du langage naturel (NLP) est devenu l'un des moyens importants pour résoudre des données textuelles massives. En tant que format de document courant, le PDF contient des informations textuelles riches. La manière d'extraire et d'analyser le texte des fichiers PDF est donc devenue une tâche clé dans le domaine de la PNL. Cet article expliquera comment utiliser le langage de programmation Python et les bibliothèques NLP associées pour extraire et analyser le texte de plusieurs fichiers PDF, tout en donnant des exemples de code spécifiques.
pip install PyPDF2 pip install nltk pip install pandas
import PyPDF2 def extract_text_from_pdf(file_path): with open(file_path, 'rb') as file: pdf_reader = PyPDF2.PdfFileReader(file) text = "" for page_num in range(pdf_reader.numPages): page = pdf_reader.getPage(page_num) text += page.extractText() return text pdf_file_path = "example.pdf" text = extract_text_from_pdf(pdf_file_path) print(text)
import os def extract_text_from_folder(folder_path): text_dict = {} for file_name in os.listdir(folder_path): if file_name.endswith(".pdf"): file_path = os.path.join(folder_path, file_name) text = extract_text_from_pdf(file_path) text_dict[file_name] = text return text_dict pdf_folder_path = "pdf_folder" text_dict = extract_text_from_folder(pdf_folder_path) output_file_path = "output.txt" with open(output_file_path, 'w', encoding='utf-8') as file: for file_name, text in text_dict.items(): file.write(file_name + " ") file.write(text + " ")
import nltk import pandas as pd from nltk.tokenize import word_tokenize nltk.download('punkt') def preprocess_text(text): tokens = word_tokenize(text) # 分词 tokens = [token.lower() for token in tokens if token.isalpha()] # 去除标点符号和数字,转换为小写 return tokens # 对提取的文本进行预处理和分析 all_tokens = [] for text in text_dict.values(): tokens = preprocess_text(text) all_tokens.extend(tokens) # 计算词频 word_freq = nltk.FreqDist(all_tokens) df = pd.DataFrame.from_dict(word_freq, orient='index', columns=['Frequency']) df.sort_values(by='Frequency', ascending=False, inplace=True) print(df.head(10))
Résumé :
En utilisant le langage de programmation Python et les bibliothèques NLP associées, nous pouvons facilement extraire et analyser le texte dans plusieurs fichiers PDF. Ce qui précède donne des exemples de code spécifiques, j'espère que cela sera utile aux lecteurs. Les lecteurs peuvent effectuer un traitement et une analyse de texte supplémentaires en fonction des besoins réels, tels que le balisage d'une partie du discours, l'analyse des sentiments, etc.
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!