Weiter zum Inhalt

Textacy: Einführung in das Bereinigen und Normalisieren von Textdaten in Python

Entdecke, wie Textacy, eine Python-Bibliothek, die Vorverarbeitung von Textdaten für Machine Learning vereinfacht. Lerne seine Besonderheiten wie Zeichennormalisierung und Data Masking kennen und erfahre, wie es sich mit Libraries wie NLTK und spaCy vergleichen lässt.
Aktualisiert 18. Sept. 2026  · 5 Min. lesen

Mit KI erkunden

ChatGPTClaudePerplexity

Dieses Tutorial ist ein wertvoller Beitrag aus unserer Community und wurde von DataCamp redaktionell aufbereitet.

Du möchtest dein Fachwissen teilen? Wir freuen uns darauf! Reiche deine Artikel oder Ideen über unser Community Contribution Form ein.

Als Data Practitioner weißt du, wie wichtig eine robuste Pipeline für Datenbereinigung und -aufbereitung in jedem Machine-Learning-Projekt ist. Bei Textdaten ist diese Pipeline noch entscheidender, weil Text ganz eigene Herausforderungen mit sich bringt. Rauschen, Tippfehler, Abkürzungen, Slang und Grammatikfehler können die Leistung von ML-Modellen deutlich beeinträchtigen.

Damit die in ML-Modellen verwendeten Textdaten korrekt, konsistent und fehlerfrei sind, braucht es eine durchdachte Pipeline zur Bereinigung und Aufbereitung. Typische Schritte sind Textnormalisierung, Tokenisierung, Entfernen von Stopwörtern, Stemming, Lemmatisierung und Data Masking.

Zwar bieten beliebte Bibliotheken wie NLTK, gensim und spaCy eine Vielzahl an Tools für Textverarbeitung und -bereinigung, doch Textdaten bringen häufig Sonderfälle mit, die die Modellleistung stark beeinflussen können – von Zeichennormalisierung bis Data Masking und mehr. Diese Themen lassen sich mit den genannten Libraries lösen, erfordern aber oft viel Zeit und Feintuning.

Hier spielt Textacy seine Stärken aus. Textacy ist eine Python-Bibliothek, die auf einfache Weise eine Reihe typischer Probleme beim Umgang mit Textdaten adressiert. Andere Libraries decken Ähnliches ab, doch Textacy legt den Fokus auf konkrete Pain Points wie Zeichennormalisierung und Data Masking – und setzt sich damit in diesem Kontext ab.

Textacy: Zeichennormalisierung

Zeichennormalisierung bringt Text in ein einheitliches Format – besonders wichtig bei mehrsprachigen Datensätzen.

Text = ‘ the cafe “Saint-Raphaël” is loca-/nted on Cote d’Azur.’

Akzentzeichen sind ein häufiges Thema bei der Normalisierung und können die Genauigkeit von ML-Modellen spürbar beeinflussen.

Das Problem: Akzente werden von Menschen inkonsistent verwendet – das führt zu Uneinheitlichkeiten in den Daten.

So können die Tokens "Saint-Raphaël" und "Saint-Raphael" dieselbe Entität bezeichnen, werden ohne Normalisierung aber nicht als identisch erkannt. Zudem enthalten Texte oft durch Bindestriche getrennte Wortteile, und Apostrophe wie im Beispiel erschweren die Tokenisierung. In all diesen Fällen lohnt es sich, den Text zu normalisieren und Akzente sowie typografische Sonderzeichen durch ASCII-Entsprechungen zu ersetzen.

Dafür nutzen wir Textacy: Die Bibliothek bringt einen praktischen Satz vordefinierter Funktionen mit, die dieses Problem schnell und effizient lösen. Die folgende Tabelle zeigt eine Auswahl von Textacys Preprocessing-Funktionen, die unabhängig von anderen Libraries einsetzbar sind.

Funktion

Beschreibung

normalize _hyphentated_words

Setzt an Zeilenumbrüchen getrennte Wortteile wieder zusammen

normalize_quotation_marks

Ersetzt alle Arten typografischer Anführungszeichen durch ASCII-Entsprechungen

normalize_unicode

Vereinheitlicht verschiedene Unicode-Codierungen für Akzentzeichen

remove_accents

Ersetzt Akzentzeichen durch ASCII

replace_emails

Ersetzt E-Mail-Adressen durch __EMAIL__

replace_urls

Ersetzt URLs durch __URL__

text = "The café "Saint-Raphaël" is loca-\nted on Cote dʼAzur."


import textacy
import textacy.preprocessing as tprep


def normalize(text):
   text = tprep.normalize_hyphenated_words(text)
   text = tprep.normalize_quotation_marks(text)
   text = tprep.normalize_unicode(text)
   text = tprep.remove_accents(text)
   return text

Mit der oben definierten Funktion normalize, die auf den vordefinierten Textacy-Preprocessing-Funktionen basiert, lösen wir das Normalisierungsproblem mit minimalem Aufwand.

print(normalize(text)

Ausgabe:

The cafe Saint-Raphael is located in Cote d' Azure

Textacy: Data Masking

Texte enthalten neben Wörtern oft auch Identifikatoren wie URLs, E-Mail-Adressen oder Telefonnummern. Manchmal sind genau diese Informationen relevant. In vielen Fällen ist es jedoch sinnvoller, sie zu entfernen oder zu maskieren – sei es, weil sie für die Analyse nicht wichtig sind oder aus Datenschutzgründen.

Textacy stellt dafür praktische Replace-Funktionen bereit, wie in der Tabelle oben gezeigt. Diese vordefinierten Funktionen erleichtern das Maskieren sensibler oder irrelevanter Informationen, ohne eigene Regex-Funktionen schreiben zu müssen.

text = "Check out https://spacy.io/usage/spacy-101"print(replace_urls(text))

Ausgabe:

Check out __URL__

Fazit

In diesem Artikel hast du gesehen, wie Textacy die Vorverarbeitung von Textdaten vereinfacht. Dank der integrierten Funktionen lässt sich eine Reihe häufiger Herausforderungen wie Zeichennormalisierung und Data Masking schnell bewältigen.

Indem Textacy die Vorarbeit verschlankt, bleibt mehr Raum für die komplexeren Aufgaben im Natural Language Processing. Ob Sentimentanalyse, Topic Modeling oder andere NLP-Tasks – mit Textacy machst du deine Daten zügig und effizient analysebereit.

Wenn du also das nächste Mal vor einer Preprocessing-Herausforderung stehst, setze auf Textacy, um deinen Workflow zu vereinfachen und wertvolle Zeit zu sparen.

Wenn dir dieser Textacy-Guide geholfen hat und du tiefer in Text-Preprocessing und Natural Language Processing einsteigen möchtest, schau dir den DataCamp-Kurs Natural Language Processing Fundamentals in Python an.

Themen
Python
Maschinelles Lernen