Nächstes Zeichen vorhersagen
In dieser Übung programmierst du die Funktion, um das nächste Zeichen anhand eines trainierten Modells vorherzusagen. Du wirst die letzten 20 Zeichen benutzen, um das nächste zu erraten. In der nächsten Lektion lernst du, wie du das Modell trainierst, da dieser Schritt vor dem Modelltraining unbedingt notwendig ist.
Das ist der erste Schritt, um Regeln für das Erstellen von Sätzen, Absätzen, kurzen Texten oder anderen Textblöcken nach Bedarf festzulegen.
Die Variablen „ n_vocab “, „ chars_window “ und das Wörterbuch „ index_to_char “ sind schon in der Umgebung geladen. Außerdem sind die folgenden Funktionen schon für dich erstellt:
initialize_X(): Wandelt die Texteingabe in eine Reihe von Indexnummern mit der richtigen Form um.predict_next_char(): Holt das nächste Zeichen mit der Methode „.predict()“ der Modellklasse und dem Wörterbuch „index_to_char“.
Diese Übung ist Teil des Kurses
Rekursive neuronale Netze (RNNs) für die Sprachmodellierung mit Keras
Anleitung zur Übung
- Definiere die Funktion „
get_next_char()“ und füge die Parameter „initial_text“ und „chars_window“ ohne Standardwerte hinzu. - Verwende die Funktion „
initialize_X()“ und gib die Variable „char_to_index“ rein, um einen Vektor mit Nullen zu bekommen, den du für die Vorhersage brauchst. - Mit der Funktion „
predict_next_char()“ kannst du die Vorhersage abrufen und in der Variablen „next_char“ speichern. - Druck das vorhergesagte Zeichen, indem du die Funktion auf die angegebene Zeichenfolge „
initial_text“ anwendest.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
def ____(model, ____, ____, char_to_index, index_to_char):
# Initialize the X vector with zeros
X = ____(initial_text, chars_window, ____)
# Get next character using the model
____ = predict_next_char(model, X, ____)
return next_char
# Define context sentence and print the generated text
initial_text = "I am not insane, "
print("Next character: {0}".format(____(model, ____, 20, char_to_index, index_to_char)))