Wie extrahiere und analysiere ich Text aus mehreren PDF-Dateien mit Python für NLP?
Zusammenfassung:
Mit dem Aufkommen des Big-Data-Zeitalters ist die Verarbeitung natürlicher Sprache (NLP) zu einem wichtigen Mittel zur Lösung großer Textdaten geworden. Als gängiges Dokumentformat enthält PDF Rich-Text-Informationen. Daher ist das Extrahieren und Analysieren von Text in PDF-Dateien zu einer Schlüsselaufgabe im Bereich NLP geworden. In diesem Artikel wird erläutert, wie Sie die Programmiersprache Python und verwandte NLP-Bibliotheken zum Extrahieren und Analysieren von Text in mehreren PDF-Dateien verwenden, und es werden konkrete Codebeispiele gegeben.
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))
Zusammenfassung:
Mithilfe der Programmiersprache Python und verwandter NLP-Bibliotheken können wir problemlos Text in mehreren PDF-Dateien extrahieren und analysieren. Das Obige enthält spezifische Codebeispiele. Ich hoffe, dass es den Lesern hilfreich sein wird. Leser können je nach tatsächlichem Bedarf eine weitere Textverarbeitung und -analyse durchführen, z. B. Wortart-Tagging, Stimmungsanalyse usw.
Das obige ist der detaillierte Inhalt vonWie extrahiere und analysiere ich Text aus mehreren PDF-Dateien mit Python für NLP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!