Préparer les données texte pour l’entrée du modèle
Vous avez déjà appris à créer des dictionnaires d’index vers mots et l’inverse. Dans cet exercice, vous allez découper le texte en caractères et continuer à préparer les données pour l’apprentissage supervisé.
Découper les textes en caractères peut sembler étrange, mais c’est fréquent pour la génération de texte. Le processus de préparation des données reste le même ; seule la façon de scinder les textes change.
Vous allez créer les données d’entraînement contenant une liste de textes de longueur fixe et leurs étiquettes, qui sont les caractères suivants correspondants.
Vous continuerez d’utiliser le jeu de données contenant des citations de Sheldon (The Big Bang Theory), disponible dans la variable sheldon_quotes.
La fonction print_examples() affiche les paires pour vous permettre de voir comment les données ont été transformées. Utilisez help() pour plus de détails.
Cet exercice fait partie du cours
Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras
Instructions
- Définissez
stepégal à2etchars_windowégal à10. - Ajoutez la phrase suivante à la variable
sentences. - Ajoutez la position correcte du texte
sheldonà la variablenext_chars. - Utilisez la fonction
print_examples()pour afficher10phrases et leurs caractères suivants.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Create lists to keep the sentences and the next character
sentences = [] # ~ Training data
next_chars = [] # ~ Training labels
# Define hyperparameters
step = ____ # ~ Step to take when reading the texts in characters
chars_window = ____ # ~ Number of characters to use to predict the next one
# Loop over the text: length `chars_window` per time with step equal to `step`
for i in range(0, len(sheldon_quotes) - chars_window, step):
sentences.____(sheldon_quotes[i:i + chars_window])
next_chars.append(sheldon_quotes[____])
# Print 10 pairs
print_examples(____, ____, 10)