ÎncepețiÎncepe gratuit

Decodifică predicțiile

Modelul tău LSTM model a fost deja antrenat (detalii în mesajul de succes al exercițiului anterior), astfel încât să nu trebuiască să aștepți. Este momentul să definești o funcție care decodifică predicțiile sale. Modelul antrenat model va fi transmis ca parametru implicit acestei funcții.

Deoarece faci predicții pe un model care folosește funcția softmax, argmax() din numpy poate fi utilizat pentru a obține indexul/poziția care reprezintă cel mai probabil cuvânt următor din vectorul de probabilități de la ieșire.

tokenizer-ul pe care l-ai creat și antrenat anterior este deja încărcat pentru tine. Vei folosi dicționarul său intern index_word pentru a converti predicția modelului model pentru cuvântul următor (care este un număr întreg) în cuvântul scris efectiv pe care îl reprezintă.

Ești foarte aproape de a experimenta cu modelul tău!

Acest exercițiu face parte din cursul

Introducere în Deep Learning cu Keras

Vezi cursul

Instrucțiuni pentru exercițiu

  • Folosește texts_to_sequences() pentru a transforma parametrul test_text într-o secvență de numere.
  • Obține predicția modelului pentru cuvântul următor transmițând test_seq. Indexul/poziția care reprezintă cuvântul cu cea mai mare probabilitate se obține apelând .argmax(axis=1)[0] pe array-ul numpy de predicții.
  • Returnează cuvântul care corespunde predicției folosind dicționarul index_word al tokenizer-ului.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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.____[____]
Editează și rulează codul