Non-ascii-tokenization
In deze oefening ga je geavanceerde tokenization oefenen door tekst te tokenizen die niet-ASCII-tekens bevat. Je gebruikt Duits met emoji!
Je hebt hier toegang tot een string genaamd german_text, die voor je is afgedrukt in de Shell. Let op de emoji en de Duitse tekens!
De volgende modules zijn al voor je geïmporteerd uit nltk.tokenize: regexp_tokenize en word_tokenize.
Unicode-bereiken voor emoji zijn:
('\U0001F300'-'\U0001F5FF'), ('\U0001F600-\U0001F64F'), ('\U0001F680-\U0001F6FF'), en ('\u2600'-\u26FF-\u2700-\u27BF').
Deze oefening maakt deel uit van de cursus
Introductie tot Natural Language Processing in Python
Oefeninstructies
- Tokenize alle woorden in
german_textmetword_tokenize()en print het resultaat. - Tokenize alleen de woorden met een hoofdletter in
german_text.- Schrijf eerst een patroon
capital_wordsom alleen woorden met een hoofdletter te matchen. Vergeet de DuitseÜniet! Om dit teken in de oefening te gebruiken, kun je het uit deze instructies kopiëren en plakken. - Tokenize het daarna met
regexp_tokenize().
- Schrijf eerst een patroon
- Tokenize alleen de emoji in
german_text. Het patroon met de unicode-bereiken voor emoji uit de opdrachttekst is al voor je geschreven. Jouw taak is omregexp_tokenize()te gebruiken om de emoji te tokenizen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Tokenize and print all words in german_text
all_words = ____(____)
print(all_words)
# Tokenize and print only capital words
capital_words = r"[____]\w+"
print(____(____, ____))
# Tokenize and print only emoji
emoji = "['\U0001F300-\U0001F5FF'|'\U0001F600-\U0001F64F'|'\U0001F680-\U0001F6FF'|'\u2600-\u26FF\u2700-\u27BF']"
print(____(____, ____))