Textvorhersage mit LSTMs
In den folgenden Übungen baust du ein kleines LSTM-Modell, das mit einem kleinen Textdatensatz das nächste Wort vorhersagen kann.
Dieser Datensatz besteht aus bereinigten Zitaten aus den Filmen The Lord of the Ring. Du findest sie in der Variablen text.
Du wandelst diesen text in sequences der Länge 4 um und nutzt den Keras-Tokenizer, um Features und Labels für dein Modell vorzubereiten!
Der Keras-Tokenizer ist bereits importiert. Er weist jedem eindeutigen Wort eine eindeutige Zahl zu und speichert die Zuordnungen in einem Dictionary. Das ist wichtig, weil das Modell mit Zahlen arbeitet, wir die Ausgabewerte später aber wieder in Wörter zurückübersetzen wollen.
Diese Übung ist Teil des Kurses
<Kurs>Einstieg ins Deep Learning mit Keras</Kurs>Übungsanweisungen
- Teile den Text mit
.split()in ein Array von Wörtern. - Bilde Sätze aus jeweils 4 Wörtern und rücke dabei jedes Mal um ein Wort weiter.
- Erzeuge einen
Tokenizer()und fitte ihn dann mit.fit_on_texts()auf den Sätzen. - Wandle
sentencesmithilfe von.texts_to_sequences()in eine Zahlenfolge um.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Split text into an array of words
words = ____.____
# Make sentences of 4 words each, moving one word at a time
sentences = []
for i in range(4, len(words)):
sentences.append(' '.join(words[i-____:i]))
# Instantiate a Tokenizer, then fit it on the sentences
tokenizer = ____
tokenizer.____(____)
# Turn sentences into a sequence of numbers
sequences = tokenizer.____(____)
print("Sentences: \n {} \n Sequences: \n {}".format(sentences[:5],sequences[:5]))