ComeçarComece gratuitamente

Decodifique suas previsões

Seu LSTM model já foi treinado (detalhes na mensagem de sucesso do exercício anterior) para que você não precise esperar. É hora de definir uma função que decodifique suas previsões. O model treinado será passado como um parâmetro padrão para essa função.

Como você está fazendo previsões em um modelo que usa a função softmax, o argmax() do numpy pode ser usado para obter o índice/posição que representa a próxima palavra mais provável do vetor de probabilidades de saída.

O tokenizer que você criou e ajustou anteriormente é carregado para você. Você usará o dicionário interno do index_word para transformar a previsão da próxima palavra do model(que é um número inteiro) na palavra escrita real que ela representa.

Você está muito perto de experimentar o seu modelo!

Este exercício faz parte do curso

Introdução à aprendizagem profunda com o Keras

Ver Curso

Instruções de exercício

  • Use texts_to_sequences() para transformar o parâmetro test_text em uma sequência de números.
  • Obtenha a previsão da próxima palavra do modelo passando em test_seq. O índice/posição que representa a palavra com a maior probabilidade é obtido chamando .argmax(axis=1)[0] na matriz numpy de previsões.
  • Retorna a palavra que mapeia a previsão usando o dicionário index_word do tokenizador.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

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 e executar código