CommencezCommencez gratuitement

Prétraitement avec Keras

Le deuxième module le plus important de Keras est keras.preprocessing. Vous verrez comment utiliser les modules et fonctions essentiels pour préparer des données brutes à la bonne forme d'entrée. Keras offre des fonctionnalités qui remplacent l'approche par dictionnaire que vous avez vue plus tôt.

Vous utiliserez le module keras.preprocessing.text.Tokenizer pour créer un dictionnaire de mots avec la méthode .fit_on_texts() et transformer les textes en identifiants numériques représentant l'index de chaque mot dans le dictionnaire à l'aide de la méthode .texts_to_sequences().

Ensuite, utilisez la fonction .pad_sequences() de keras.preprocessing.sequence pour que toutes les séquences aient la même taille (nécessaire pour le modèle) en ajoutant des zéros aux textes courts et en coupant les plus longs.

Cette activité fait partie du cours

Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

Voir le cours

Instructions de l’exercice

  • Importez Tokenizer et pad_sequences des modules pertinents.
  • Ajustez l'objet tokenizer sur les données d'exemple stockées dans texts.
  • Transformez les textes en séquences d'index numériques avec la méthode .texts_to_sequences().
  • Uniformisez la taille des textes en les remplissant (padding).

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Import relevant classes/functions
from tensorflow.keras.preprocessing.text import ____
from tensorflow.keras.preprocessing.sequence import ____

# Build the dictionary of indexes
tokenizer = Tokenizer()
tokenizer.fit_on_texts(____)

# Change texts into sequence of indexes
texts_numeric = tokenizer.____(texts)
print("Number of words in the sample texts: ({0}, {1})".format(len(texts_numeric[0]), len(texts_numeric[1])))

# Pad the sequences
texts_pad = ____(texts_numeric, 60)
print("Now the texts have fixed length: 60. Let's see the first one: \n{0}".format(texts_pad[0]))
Modifier et exécuter le code