Tokenisation non ASCII
Dans cet exercice, vous allez vous exercer à une tokenisation avancée en segmentant du texte qui contient des caractères non ASCII. Vous utiliserez de l'allemand avec des émojis!
Vous avez ici accès à une chaîne appelée german_text, déjà affichée dans le Shell. Remarquez les émojis 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 émojis sont :
('\U0001F300'-'\U0001F5FF'), ('\U0001F600-\U0001F64F'), ('\U0001F680-\U0001F6FF'), et ('\u2600'-\u26FF-\u2700-\u27BF').
Cette activité fait partie du cours
Introduction au traitement du langage naturel en Python
Instructions de l’exercice
- Tokenisez tous les mots dans
german_textà l'aide deword_tokenize()et imprimez le résultat. - Tokenisez uniquement les mots commençant par une majuscule dans
german_text.- Commencez par écrire un motif nommé
capital_wordspour ne faire correspondre que les mots en majuscules initiales. Assurez-vous d'inclure la lettre allemandeÜ! Pour utiliser ce caractère dans l'exercice, copiez-le et collez-le à partir de ces instructions. - Ensuite, segmentez en utilisant
regexp_tokenize().
- Commencez par écrire un motif nommé
- Tokenisez uniquement les émojis dans
german_text. Le motif utilisant les plages Unicode des émojis donné dans l'énoncé a été écrit pour vous. Votre tâche est d'utiliserregexp_tokenize()pour segmenter les émojis.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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(____(____, ____))