CommencezCommencez gratuitement

Prédire le prochain caractère

Dans cet exercice, vous allez programmer la fonction qui prédit le prochain caractère à partir d'un modèle entraîné. Vous utiliserez les 20 caractères précédents pour prédire le suivant. Vous verrez comment entraîner le modèle à la prochaine leçon, car cette étape est essentielle avant l'entraînement du modèle.

C'est l'étape initiale pour définir des règles afin de générer des phrases, des paragraphes, de courts textes ou d'autres blocs de texte au besoin.

Les variables n_vocab, chars_window et le dictionnaire index_to_char sont déjà chargés dans l'environnement. De plus, les fonctions ci-dessous sont déjà créées pour vous :

  • initialize_X() : transforme le texte d'entrée en une séquence d'indices avec la forme appropriée.
  • predict_next_char() : obtient le prochain caractère à l'aide de la méthode .predict() de la classe du modèle et du dictionnaire index_to_char.

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

  • Définissez la fonction get_next_char() et ajoutez les paramètres initial_text et chars_window sans valeurs par défaut.
  • Utilisez la fonction initialize_X() et transmettez la variable char_to_index pour obtenir un vecteur de zéros à utiliser pour la prédiction.
  • Utilisez la fonction predict_next_char() pour obtenir la prédiction et stockez-la dans la variable next_char.
  • Affichez le caractère prédit en appliquant la fonction définie au initial_text fourni.

Exercice interactif pratique

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

def ____(model, ____, ____, char_to_index, index_to_char):
  	# Initialize the X vector with zeros
    X = ____(initial_text, chars_window, ____)
    
    # Get next character using the model
    ____ = predict_next_char(model, X, ____)
	
    return next_char

# Define context sentence and print the generated text
initial_text = "I am not insane, "
print("Next character: {0}".format(____(model, ____, 20, char_to_index, index_to_char)))
Modifier et exécuter le code