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
Instructions de l’exercice
- Importez
Tokenizeretpad_sequencesdes modules pertinents. - Ajustez l'objet
tokenizersur les données d'exemple stockées danstexts. - 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]))