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 dictionnaireindex_to_char.
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
- Définissez la fonction
get_next_char()et ajoutez les paramètresinitial_textetchars_windowsans valeurs par défaut. - Utilisez la fonction
initialize_X()et transmettez la variablechar_to_indexpour 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 variablenext_char. - Affichez le caractère prédit en appliquant la fonction définie au
initial_textfourni.
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)))