Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Anwendung der Textvorverarbeitung in der Praxis | Grundlagen der Textvorverarbeitung
Einführung in NLP
course content

Kursinhalt

Einführung in NLP

Einführung in NLP

1. Grundlagen der Textvorverarbeitung
2. Stemming und Lemmatisierung
3. Grundlegende Textmodelle
4. Wort-Einbettungen

book
Anwendung der Textvorverarbeitung in der Praxis

Dokumente

Zunächst, bevor wir mit einem praktischen Beispiel der Textvorverarbeitung fortfahren, ist es wichtig, die Schlüsselelemente eines Textkorpus zu verstehen: Dokumente.

Im Wesentlichen ist jeder Textkorpus eine Sammlung von Dokumenten, daher bedeutet die Vorverarbeitung des Korpus die Vorverarbeitung jedes einzelnen Dokuments.

Laden des Korpus

Zuvor hatten wir unsere Textkorpora als Zeichenfolgenvariablen. In realen Szenarien wird ein Textkorpus jedoch oft in TXT-Dateien für rein textuelle Daten oder in CSV-Dateien mit mehreren Spalten gespeichert, wenn zusätzliche Daten mit dem Text verbunden sind.

In unserem Kurs werden wir entweder mit CSV-Dateien oder TXT-Dateien arbeiten, wobei jedes Dokument von einer neuen Zeile beginnt. Daher verwenden wir die Funktion read_csv() aus der pandas-Bibliothek, um einen Textkorpus aus einer Datei zu laden.

Schauen wir uns ein Beispiel an:

123456
import pandas as pd corpus = pd.read_csv( 'https://staging-content-media-cdn.codefinity.com/courses/c68c1f2e-2c90-4d5d-8db9-1e97ca89d15e/section_1/chapter_8/example_corpus.txt', sep='\r', header=None, names=['Document']) print(corpus)
copy

Hier lesen wir diese TXT-Datei in ein DataFrame ein. Wir setzen sep='\r', um das Wagenrücklauf-Symbol als Trennzeichen zu verwenden, was anzeigt, dass jedes Dokument in einer neuen Zeile beginnt. Wir verwenden header=None, damit die erste Zeile nicht als Kopfzeile betrachtet wird, und wir geben names=['Document'] an, um die einzelne Spalte 'Document' zu benennen. Das Ergebnis ist ein DataFrame mit einer einzigen Spalte namens 'Document', die 6 Dokumente (Sätze) enthält.

Vorverarbeitung des Korpus

Um den Korpus vorzuverarbeiten, lassen Sie uns zunächst eine Funktion zur Vorverarbeitung jedes der Dokumente erstellen:

123456789101112131415161718
import re from nltk.tokenize import word_tokenize from nltk.corpus import stopwords import nltk nltk.download('punkt_tab') nltk.download('stopwords') stop_words = set(stopwords.words('english')) def preprocess_document(doc): doc = re.sub(r'[^a-zA-Z\s]', '', doc, re.I | re.A) doc = doc.lower() doc = doc.strip() tokens = word_tokenize(doc) filtered_tokens = [token for token in tokens if token not in stop_words] doc = ' '.join(filtered_tokens) return doc
copy

Lassen Sie uns nun diese Funktion auf unser DataFrame für jedes Dokument anwenden und eine Spalte mit bereinigten Dokumenten erstellen:

123456789101112131415161718192021222324252627
import re from nltk.tokenize import word_tokenize from nltk.corpus import stopwords import nltk import pandas as pd nltk.download('punkt_tab') nltk.download('stopwords') stop_words = set(stopwords.words('english')) def preprocess_document(doc): doc = re.sub(r'[^a-zA-Z\s]', '', doc, re.I | re.A) doc = doc.lower() doc = doc.strip() tokens = word_tokenize(doc) filtered_tokens = [token for token in tokens if token not in stop_words] doc = ' '.join(filtered_tokens) return doc corpus = pd.read_csv( 'https://staging-content-media-cdn.codefinity.com/courses/c68c1f2e-2c90-4d5d-8db9-1e97ca89d15e/section_1/chapter_8/example_corpus.txt', sep='\r', header=None, names=['Document']) corpus['Cleaned_Document'] = corpus['Document'].apply(preprocess_document) print(corpus)
copy

Wie Sie sehen können, ist unser Korpus erfolgreich vorverarbeitet, sodass wir die vorverarbeitete Version dieses Korpus später im Kurs verwenden werden.

Wählen Sie die korrekte Ausgabe des folgenden Code-Snippets aus.

Wählen Sie die korrekte Ausgabe des folgenden Code-Snippets aus.

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 8
We're sorry to hear that something went wrong. What happened?
some-alt