Praxis der Textvorverarbeitung
Jetzt bist du an der Reihe, die gelernten Techniken anzuwenden, um den Text für bessere NLP Ergebnisse zu bereinigen. Du musst Stoppwörter und nicht-alphabetische Zeichen entfernen, lemmatisieren und einen neuen Bag-of-Words auf deinen bereinigten Text anwenden.
Du beginnst mit denselben Token, die du in der letzten Übung erstellt hast: lower_tokens
. Du hast auch die Klasse Counter
importiert.
Diese Übung ist Teil des Kurses
Einführung in die natürliche Sprachverarbeitung in Python
Anleitung zur Übung
- Importiere die Klasse
WordNetLemmatizer
vonnltk.stem
. - Erstelle eine Liste
alpha_only
, die nur alphabetische Zeichen enthält. Du kannst die Methode.isalpha()
verwenden, um dies zu überprüfen. - Erstelle eine weitere Liste namens
no_stops
, die aus den Wörtern vonalpha_only
besteht, die nicht inenglish_stops
enthalten sind. - Initialisiere ein
WordNetLemmatizer
Objekt namenswordnet_lemmatizer
und verwende seine.lemmatize()
Methode auf die Token inno_stops
, um eine neue Liste namenslemmatized
zu erstellen. - Erstelle eine neue
Counter
namensbow
mit den lemmatisierten Wörtern. - Zum Schluss druckst du die 10 häufigsten Token aus.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Import WordNetLemmatizer
____
# Retain alphabetic words: alpha_only
alpha_only = [t for t in ____ if ____]
# Remove all stop words: no_stops
no_stops = [t for t in ____ if t not in ____]
# Instantiate the WordNetLemmatizer
wordnet_lemmatizer = ____
# Lemmatize all tokens into a new list: lemmatized
lemmatized = [____ for t in ____]
# Create the bag-of-words: bow
bow = ____(____)
# Print the 10 most common tokens
print(____.____(__))