Heim  >  Artikel  >  Backend-Entwicklung  >  Wie extrahiere ich mit Python für NLP strukturierte Informationen aus PDF-Dateien?

Wie extrahiere ich mit Python für NLP strukturierte Informationen aus PDF-Dateien?

WBOY
WBOYOriginal
2023-09-28 12:18:291238Durchsuche

如何用Python for NLP从PDF文件中提取结构化的信息?

Wie extrahiere ich strukturierte Informationen aus PDF-Dateien mit Python für NLP?

1. Einleitung
Mit dem Aufkommen des Big-Data-Zeitalters sammeln sich ständig riesige Textdaten an, darunter auch eine große Anzahl von PDF-Dateien. Allerdings handelt es sich bei PDF-Dateien um ein Binärformat, und es ist nicht einfach, den Textinhalt und die strukturierten Informationen direkt zu extrahieren. In diesem Artikel wird erläutert, wie Sie mit Python und verwandten NLP-Tools (Natural Language Processing) strukturierte Informationen aus PDF-Dateien extrahieren.

2. Installation von Python und zugehörigen Bibliotheken
Bevor wir beginnen, müssen wir Python und zugehörige Bibliotheken installieren. Laden Sie die neueste Version von Python von der offiziellen Python-Website herunter und installieren Sie sie. Nach der Installation von Python müssen wir den Befehl pip verwenden, um die folgenden zugehörigen Bibliotheken zu installieren:

  • PyPDF2: zur Verarbeitung von PDF-Dateien
  • nltk: Pythons Toolkit zur Verarbeitung natürlicher Sprache
  • pandas: zur Datenanalyse und -verarbeitung

Einmalige Installation Nach Abschluss können wir mit dem Schreiben von Python-Code beginnen.

3. Importieren Sie die erforderlichen Bibliotheken
Zuerst müssen wir die erforderlichen Bibliotheken importieren, einschließlich PyPDF2, nltk und pandas:

import PyPDF2
import nltk
import pandas as pd

4. PDF-Dateien lesen
Als nächstes müssen wir PDF-Dateien lesen. Verwenden Sie die PdfReader-Klasse der PyPDF2-Bibliothek, um Dateien zu lesen:

pdf_file = open('file.pdf', 'rb')
pdf_reader = PyPDF2.PdfReader(pdf_file)

Hier müssen wir „file.pdf“ durch den tatsächlichen Namen der PDF-Datei ersetzen, die Sie lesen möchten.

5. Textinhalt extrahieren
Nachdem wir die PDF-Datei gelesen haben, können wir die von der PyPDF2-Bibliothek bereitgestellte API verwenden, um den Textinhalt im PDF zu extrahieren:

text_content = ''
for page in pdf_reader.pages:
    text_content += page.extract_text()

Auf diese Weise wird der Textinhalt aller Seiten miteinander verkettet und in der Variablenmitte text_content gespeichert.

6. Datenverarbeitung und Vorverarbeitung
Nachdem wir den Textinhalt extrahiert haben, müssen wir ihn verarbeiten und vorverarbeiten. Zunächst segmentieren wir den Text zur anschließenden Analyse und Verarbeitung in Sätze. Um dies zu erreichen, können wir die nltk-Bibliothek verwenden:

sentence_tokens = nltk.sent_tokenize(text_content)

Als nächstes können wir jeden Satz für die anschließende Textanalyse und -verarbeitung erneut segmentieren:

word_tokens = [nltk.word_tokenize(sentence) for sentence in sentence_tokens]

7. Textanalyse und -verarbeitung
Nach Abschluss der Vorverarbeitung der Daten können wir mit der Analyse beginnen und Bearbeitung des Textes. Hier nehmen wir die Schlüsselwortextraktion als Beispiel, um spezifische Codebeispiele zu zeigen.

from nltk.corpus import stopwords
from nltk.stem import WordNetLemmatizer
from collections import Counter

# 停用词
stop_words = set(stopwords.words('english'))
# 词形还原
lemmatizer = WordNetLemmatizer()

# 去除停用词,词形还原,统计词频
word_freq = Counter()
for sentence in word_tokens:
    for word in sentence:
        if word.lower() not in stop_words and word.isalpha():
            word = lemmatizer.lemmatize(word.lower())
            word_freq[word] += 1

# 提取前20个关键词
top_keywords = word_freq.most_common(20)

In diesem Code verwenden wir die von der nltk-Bibliothek bereitgestellten Stoppwörter- und WordNetLemmatizer-Klassen, um Stoppwörter bzw. Lemmatisierung zu verarbeiten. Dann verwenden wir die Counter-Klasse, um die Häufigkeit jedes Wortes zu zählen und die 20 Schlüsselwörter mit der höchsten Häufigkeit zu extrahieren.

8. Ergebnisanzeige und Speicherung
Abschließend können wir die extrahierten Schlüsselwörter in Tabellenform anzeigen und als CSV-Dateien speichern:

df_keywords = pd.DataFrame(top_keywords, columns=['Keyword', 'Frequency'])
df_keywords.to_csv('keywords.csv', index=False)

Auf diese Weise können wir die Schlüsselwörter in Tabellenform anzeigen lassen und sie in einer CSV-Datei speichern mit dem Namen „keywords.csv“.

9. Zusammenfassung
Durch die Verwendung von Python und verwandten NLP-Tools können wir problemlos strukturierte Informationen aus PDF-Dateien extrahieren. In praktischen Anwendungen können auch andere NLP-Technologien verwendet werden, wie z. B. die Erkennung benannter Entitäten, die Textklassifizierung usw., um je nach Bedarf eine komplexere Textanalyse und -verarbeitung durchzuführen. Ich hoffe, dass dieser Artikel den Lesern dabei helfen kann, nützliche Informationen bei der Verarbeitung von PDF-Dateien zu extrahieren.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich mit Python für NLP strukturierte Informationen aus PDF-Dateien?. 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