ComenzarEmpieza gratis

Descifra tus predicciones

Tu LSTM model ya ha sido entrenado (detalles en el mensaje de éxito del ejercicio anterior) para que no tengas que esperar. Es hora de definir una función que descifre sus predicciones. El model entrenado se pasará como parámetro por defecto a esta función.

Dado que estás prediciendo en un modelo que utiliza la función softmax, se puede utilizar argmax() de numpy para obtener el índice/posición que representa la siguiente palabra más probable del vector de salida de probabilidades.

La página tokenizer que previamente ha creado y ajustado, se carga para usted. Utilizará su diccionario interno index_word para convertir la predicción de la siguiente palabra de model(que es un número entero) en la palabra escrita que representa.

¡Estás muy cerca de experimentar con tu modelo!

Este ejercicio forma parte del curso

Introducción al aprendizaje profundo con Keras

Ver curso

Instrucciones del ejercicio

  • Utilice texts_to_sequences() para convertir el parámetro test_text en una secuencia de números.
  • Obtenga la predicción de la siguiente palabra del modelo pasando test_seq. El índice/posición que representa la palabra con mayor probabilidad se obtiene llamando a .argmax(axis=1)[0] en el array numpy de predicciones.
  • Devuelve la palabra que corresponde a la predicción utilizando el diccionario index_word del tokenizador.

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

def predict_text(test_text, model = model):
  if len(test_text.split()) != 3:
    print('Text input should be 3 words!')
    return False
  
  # Turn the test_text into a sequence of numbers
  test_seq = tokenizer.texts_to_sequences([____])
  test_seq = np.array(test_seq)
  
  # Use the model passed as a parameter to predict the next word
  pred = ____.predict(____).argmax(axis = 1)[0]
  
  # Return the word that maps to the prediction
  return tokenizer.____[____]
Editar y ejecutar código