CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Tokenisez tous les mots dans german_text à l'aide de word_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_words pour 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().
  • 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'utiliser regexp_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(____(____, ____))
Modifier et exécuter le code