Öva på textförbehandling
Nu är det din tur att tillämpa de tekniker du lärt dig för att rensa text inför bättre NLP-resultat. Du behöver ta bort stoppord och icke-alfabetiska tecken, lemmatisera och sedan skapa ett nytt bag-of-words på den rensade texten.
Du börjar med samma tokens som du skapade i förra övningen: lower_tokens. Du har också klassen Counter importerad.
Den här övningen är en del av kursen
Introduktion till naturlig språkbehandling i Python
Övningsinstruktioner
- Importera klassen
WordNetLemmatizerfrånnltk.stem. - Skapa en lista
alpha_onlysom bara innehåller alfabetiska tecken. Du kan använda metoden.isalpha()för att kontrollera detta. - Skapa ytterligare en lista kallad
no_stopsmed ord frånalpha_onlysom inte finns ienglish_stops. - Initiera ett
WordNetLemmatizer-objekt kallatwordnet_lemmatizeroch använd dess.lemmatize()-metod på tokenerna ino_stopsför att skapa en ny lista kalladlemmatized. - Skapa en ny
Counterkalladbowmed de lemmatiserade orden. - Skriv slutligen ut de 10 vanligaste tokenerna.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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(____.____(__))