Predice el siguiente carácter
En este ejercicio, codificarás la función para predecir el siguiente carácter dado un modelo entrenado. Utilizarás los últimos 20 caracteres para predecir el siguiente. Aprenderás a entrenar el modelo en la siguiente lección, ya que este paso es fundamental antes del entrenamiento del modelo.
Este es el paso inicial para crear reglas para generar oraciones, párrafos, textos cortos u otros bloques de texto según sea necesario.
Las variables n_vocab, chars_window y el diccionario index_to_char ya están cargados en el entorno. Además, ya se han creado las siguientes funciones:
initialize_X(): Transforma el texto introducido en una secuencia de números de índice con la forma correcta.predict_next_char(): Obtiene el siguiente carácter utilizando el método «.predict()» de la clase de modelo y el diccionario «index_to_char».
Este ejercicio forma parte del curso
Redes neuronales recurrentes (RNN) para el modelado del lenguaje con Keras
Instrucciones del ejercicio
- Define la función
get_next_char()y añade los parámetrosinitial_textychars_windowsin valores predeterminados. - Utiliza la función «
initialize_X()» y pasa la variable «char_to_index» para obtener un vector de ceros que se utilizará para la predicción. - Utiliza la función «
predict_next_char()» para obtener la predicción y almacenarla en la variable «next_char». - Imprime el carácter predicho aplicando la función definida en el
initial_textdado.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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)))