ComeçarComece de graça

Decodifique suas previsões

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

Como você está prevendo com 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 a partir do vetor de probabilidades de saída.

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

Você está muito perto de experimentar seu modelo!

Este exercício faz parte do curso

Introdução ao Deep Learning com Keras

Ver curso

Instruções do exercício

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

Exercício interativo prático

Experimente este exercício completando 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 o código