Kom igångKom igång gratis

Avkoda dina prediktioner

Din LSTM-model har redan tränats (se föregående övnings bekräftelsemeddelande för detaljer) så att du slipper vänta. Nu är det dags att definiera en funktion som avkodar modellens prediktioner. Den tränade model skickas in som en standardparameter till funktionen.

Eftersom du gör prediktioner med en modell som använder softmax-funktionen kan numpys argmax() användas för att hämta det index och den position som representerar det mest troliga nästa ordet i utdatavektorn med sannolikheter.

Den tokenizer du tidigare skapade och anpassade är inläst åt dig. Du kommer att använda dess interna ordbok index_word för att omvandla modellens nästa-ord-prediktion (ett heltal) till det faktiska skrivna ord det representerar.

Nu är du nära att kunna experimentera med din modell!

Den här övningen är en del av kursen

Introduktion till djupinlärning med Keras

Visa kurs

Övningsinstruktioner

  • Använd texts_to_sequences() för att omvandla parametern test_text till en sekvens av tal.
  • Hämta modellens prediktion för nästa ord genom att skicka in test_seq. Indexet och positionen för ordet med högst sannolikhet erhålls genom att anropa .argmax(axis=1)[0] på numpy-arrayen med prediktioner.
  • Returnera det ord som motsvarar prediktionen med hjälp av tokenizerarens ordbok index_word.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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.____[____]
Redigera och kör kod