Heim  >  Artikel  >  Backend-Entwicklung  >  Wie extrahiere und analysiere ich Text aus mehreren PDF-Dateien mit Python für NLP?

Wie extrahiere und analysiere ich Text aus mehreren PDF-Dateien mit Python für NLP?

PHPz
PHPzOriginal
2023-09-27 17:45:42576Durchsuche

如何用Python for NLP提取并分析多个PDF文件中的文本?

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.

  1. Vorbereitung
    Bevor wir beginnen, müssen wir sicherstellen, dass Python und die folgenden erforderlichen Bibliotheken installiert sind: PyPDF2, nltk, pandas. Diese Bibliotheken können mit dem pip-Befehl installiert werden:
pip install PyPDF2
pip install nltk
pip install pandas
  1. PDF-Textextraktion
    Python bietet viele Bibliotheken zum Verarbeiten von PDF-Dateien, darunter PyPDF2, eine leistungsstarke Bibliothek, die zum Extrahieren von Text aus PDFs verwendet werden kann. Unten finden Sie einen einfachen Beispielcode zum Extrahieren von Text aus einer einzelnen PDF-Datei:
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)
  1. Text stapelweise aus mehreren PDF-Dateien extrahieren
    Wenn wir mehrere PDF-Dateien verarbeiten müssen, können wir eine ähnliche Methode zum Stapelextrahieren von Text verwenden. Hier ist ein Beispielcode, um den Text aller PDF-Dateien in einem Ordner zu extrahieren und die Ergebnisse in einer Textdatei zu speichern:
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 + "
")
  1. Textvorverarbeitung und -analyse
    Sobald wir den Text aus den PDF-Dateien extrahiert haben, führen wir die Textvorverarbeitung und Analyse durchgeführt werden kann. Nachfolgend finden Sie einen Beispielcode für die Wortsegmentierung und die Berechnung der Worthäufigkeit des extrahierten Textes:
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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn