LoslegenKostenlos starten

Dekodiere deine Vorhersagen

Dein LSTM-model wurde bereits trainiert (Details findest du in der Erfolgsmeldung der vorherigen Übung), damit du nicht warten musst. Es ist Zeit, eine Funktion zu definieren, die seine Vorhersagen dekodiert. Das trainierte model wird als Standardparameter an diese Funktion übergeben.

Da du mit einem Modell vorhersagst, das die Softmax-Funktion verwendet, kannst du numpy argmax() nutzen, um den Index/die Position des wahrscheinlichsten nächsten Wortes aus dem Ausgabeverktor der Wahrscheinlichkeiten zu erhalten.

Der zuvor erstellte und angepasste tokenizer ist bereits geladen. Du wirst sein internes index_word-Dictionary verwenden, um die nächste-Wort-Vorhersage des model (eine ganze Zahl) in das tatsächliche geschriebene Wort umzuwandeln, das sie repräsentiert.

Du bist kurz davor, mit deinem Modell zu experimentieren!

Diese Übung ist Teil des Kurses

<Kurs>Einstieg ins Deep Learning mit Keras</Kurs>
Kurs ansehen

Übungsanweisungen

  • Verwende texts_to_sequences(), um den Parameter test_text in eine Zahlenfolge umzuwandeln.
  • Erhalte die nächste-Wort-Vorhersage des Modells, indem du test_seq übergibst. Den Index/die Position des Wortes mit der höchsten Wahrscheinlichkeit erhältst du, indem du auf dem numpy-Array der Vorhersagen .argmax(axis=1)[0] aufrufst.
  • Gib das Wort zurück, das über das index_word-Dictionary des Tokenizers auf die Vorhersage abgebildet ist.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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.____[____]
Code bearbeiten und ausführen