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

bookAnwendung der Textvorverarbeitung in der Praxis

Dokumente

Zunächst ist es wichtig, vor einem praktischen Beispiel der Textvorverarbeitung die zentralen Bestandteile eines Textkorpus zu verstehen: Dokumente.

Note
Definition

Ein Dokument ist ein separates Textstück innerhalb eines Korpus, zum Beispiel eine E-Mail innerhalb eines E-Mail-Korpus.

Im Wesentlichen besteht jeder Textkorpus aus einer Menge von Dokumenten, daher bedeutet die Vorverarbeitung des Korpus die Vorverarbeitung jedes einzelnen Dokuments.

Laden des Korpus

Bisher hatten wir unseren Textkorpus als String-Variablen. In realen Szenarien wird ein Textkorpus jedoch häufig in TXT-Dateien für rein textuelle Daten oder in CSV-Dateien mit mehreren Spalten gespeichert, wenn zusätzliche Daten mit dem Text verknüpft sind.

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

123456
import pandas as pd corpus = pd.read_csv( 'https://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 bedeutet, dass jedes Dokument mit einer neuen Zeile beginnt. Wir verwenden header=None, damit die erste Zeile nicht als Kopfzeile betrachtet wird, und geben mit names=['Document'] den Namen der einzigen Spalte 'Document' an. 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, erstellen wir zunächst eine Funktion zur Vorverarbeitung jedes einzelnen Dokuments:

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

Wenden wir diese Funktion nun auf unser DataFrame für jedes Dokument an und erstellen eine Spalte mit bereinigten Dokumenten:

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://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, wurde unser Korpus erfolgreich vorverarbeitet. Wir werden die vorverarbeitete Version dieses Korpus später im Kurs verwenden.

question mark

Wählen Sie die korrekte Ausgabe des folgenden Codeausschnitts aus.

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 9

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 3.45

bookAnwendung der Textvorverarbeitung in der Praxis

Swipe um das Menü anzuzeigen

Dokumente

Zunächst ist es wichtig, vor einem praktischen Beispiel der Textvorverarbeitung die zentralen Bestandteile eines Textkorpus zu verstehen: Dokumente.

Note
Definition

Ein Dokument ist ein separates Textstück innerhalb eines Korpus, zum Beispiel eine E-Mail innerhalb eines E-Mail-Korpus.

Im Wesentlichen besteht jeder Textkorpus aus einer Menge von Dokumenten, daher bedeutet die Vorverarbeitung des Korpus die Vorverarbeitung jedes einzelnen Dokuments.

Laden des Korpus

Bisher hatten wir unseren Textkorpus als String-Variablen. In realen Szenarien wird ein Textkorpus jedoch häufig in TXT-Dateien für rein textuelle Daten oder in CSV-Dateien mit mehreren Spalten gespeichert, wenn zusätzliche Daten mit dem Text verknüpft sind.

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

123456
import pandas as pd corpus = pd.read_csv( 'https://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 bedeutet, dass jedes Dokument mit einer neuen Zeile beginnt. Wir verwenden header=None, damit die erste Zeile nicht als Kopfzeile betrachtet wird, und geben mit names=['Document'] den Namen der einzigen Spalte 'Document' an. 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, erstellen wir zunächst eine Funktion zur Vorverarbeitung jedes einzelnen Dokuments:

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

Wenden wir diese Funktion nun auf unser DataFrame für jedes Dokument an und erstellen eine Spalte mit bereinigten Dokumenten:

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://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, wurde unser Korpus erfolgreich vorverarbeitet. Wir werden die vorverarbeitete Version dieses Korpus später im Kurs verwenden.

question mark

Wählen Sie die korrekte Ausgabe des folgenden Codeausschnitts aus.

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 9
some-alt