Tokenisation non ASCII
Dans cet exercice, vous allez pratiquer une tokenisation avancée en tokenisant du texte contenant des caractères non ASCII. Vous utiliserez de l’allemand avec des emoji !
Vous avez ici accès à une chaîne appelée german_text, qui a été affichée pour vous dans le Shell. Remarquez les emoji et les caractères allemands !
Les modules suivants ont été pré‑importés depuis nltk.tokenize : regexp_tokenize et word_tokenize.
Les plages Unicode pour les emoji sont :
('\U0001F300'-'\U0001F5FF'), ('\U0001F600-\U0001F64F'), ('\U0001F680-\U0001F6FF'), et ('\u2600'-\u26FF-\u2700-\u27BF').
Cet exercice fait partie du cours
Introduction au Natural Language Processing (NLP) en Python
Instructions
- Tokenisez tous les mots de
german_textavecword_tokenize(), puis affichez le résultat. - Tokenisez uniquement les mots commençant par une majuscule dans
german_text.- D’abord, écrivez un motif appelé
capital_wordspour ne faire correspondre que les mots en majuscules. Pensez à inclure leÜallemand ! Pour utiliser ce caractère dans l’exercice, copiez‑collez‑le depuis ces instructions. - Ensuite, tokenisez avec
regexp_tokenize().
- D’abord, écrivez un motif appelé
- Tokenisez uniquement les emoji présents dans
german_text. Le motif utilisant les plages Unicode d’emoji données dans l’énoncé a été écrit pour vous. Votre rôle est d’utiliserregexp_tokenize()pour tokeniser les emoji.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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(____(____, ____))