CommencerCommencer gratuitement

Décoder vos prédictions

Votre LSTM model a déjà été entraîné (voir les détails dans le message de réussite de l’exercice précédent), pour vous éviter d’attendre. Il est temps de définir une fonction qui décode ses prédictions. Le model entraîné sera passé comme paramètre par défaut à cette fonction.

Comme vous prédisez avec un modèle qui utilise la fonction softmax, la fonction argmax() de NumPy peut être utilisée pour obtenir l’indice/la position du mot suivant le plus probable à partir du vecteur de probabilités en sortie.

Le tokenizer que vous avez précédemment créé et ajusté est chargé pour vous. Vous utiliserez son dictionnaire interne index_word pour convertir la prédiction du mot suivant du model (un entier) en le mot écrit qu’elle représente.

Vous êtes tout proche de pouvoir expérimenter avec votre modèle !

Cet exercice fait partie du cours

Introduction au Deep Learning avec Keras

Afficher le cours

Instructions

  • Utilisez texts_to_sequences() pour transformer le paramètre test_text en une séquence de nombres.
  • Obtenez la prédiction du mot suivant du modèle en passant test_seq. L’indice/la position correspondant au mot ayant la probabilité la plus élevée s’obtient en appelant .argmax(axis=1)[0] sur le tableau NumPy de prédictions.
  • Retournez le mot correspondant à la prédiction en utilisant le dictionnaire index_word du tokenizer.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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.____[____]
Modifier et exécuter le code