Prédire le caractère suivant
Dans cet exercice, vous allez coder la fonction permettant de prédire le caractère suivant à partir d'un modèle entraîné. Vous utiliserez les 20 derniers caractères pour prédire le suivant. Vous apprendrez comment entraîner le modèle dans la prochaine leçon, car cette étape est indispensable avant l'entraînement du modèle.
Il s'agit de la première étape pour créer des règles permettant de générer des phrases, des paragraphes, des textes courts ou d'autres blocs de texte selon les besoins.
Les variables n_vocab
, chars_window
et le dictionnaire index_to_char
sont déjà chargés dans l'environnement. De plus, les fonctions suivantes ont déjà été créées pour vous :
- Groupées (
initialize_X()
) : Transforme le texte saisi en une séquence de numéros d'index avec la forme appropriée. - Groupées (
predict_next_char()
) : Récupère le caractère suivant à l'aide de la méthode «.predict()
» de la classe modèle et du dictionnaire «index_to_char
».
Cet exercice fait partie du cours
Réseaux neuronaux récurrents (RNN) pour la modélisation du langage avec Keras
Instructions
- 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 la stocker dans la variable «next_char
». - Veuillez imprimer le caractère prédit en appliquant la fonction définie sur l'
initial_text
donnée.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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)))