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
WordNetLemmatizervonnltk.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_onlybesteht, die nicht inenglish_stopsenthalten sind. - Initialisiere ein
WordNetLemmatizerObjekt namenswordnet_lemmatizerund verwende seine.lemmatize()Methode auf die Token inno_stops, um eine neue Liste namenslemmatizedzu erstellen. - Erstelle eine neue
Counternamensbowmit den lemmatisierten Wörtern. - Zum Schluss druckst du die 10 häufigsten Token aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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(____.____(__))