Textprediktion med LSTM
I de här övningarna bygger du en enkel LSTM-modell som kan förutsäga nästa ord med hjälp av ett litet textdataset.
Datasetet består av rensade citat från filmerna om Sagan om ringen. Du hittar dem i variabeln text.
Du omvandlar text till sequences av längd 4 och använder Keras Tokenizer för att förbereda särdrag och etiketter för din modell!
Keras Tokenizer är redan importerad och redo att använda. Den tilldelar ett unikt tal till varje unikt ord och lagrar mappningarna i ett lexikon. Det är viktigt eftersom modellen arbetar med tal, men vi senare vill kunna avkoda utdata till ord igen.
Den här övningen är en del av kursen
Introduktion till djupinlärning med Keras
Övningsinstruktioner
- Dela upp texten i en array av ord med
.split(). - Skapa meningar om 4 ord vardera, och flytta ett ord i taget.
- Instantiera en
Tokenizer()och träna den sedan på meningarna med.fit_on_texts(). - Omvandla
sentencestill en sekvens av tal genom att anropa.texts_to_sequences().
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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]))