Aan de slagGa gratis aan de slag

Tekstvoorspelling met LSTM's

In de volgende oefeningen bouw je een eenvoudige LSTM die het volgende woord kan voorspellen met een kleine tekstgegevensset. Deze gegevensset bestaat uit opgeschoonde citaten uit de The Lord of the Ring-films. Je vindt ze in de variabele text.

Je zet deze text om in sequences met lengte 4 en gebruikt de Keras Tokenizer om de features en labels voor je model voor te bereiden!

De Keras Tokenizer is al voor je geïmporteerd. Hij kent elk uniek woord een uniek nummer toe en slaat de koppelingen op in een woordenboek. Dit is belangrijk omdat het model met getallen werkt, maar we later de uitvoernummers weer willen omzetten naar woorden.

Deze oefening maakt deel uit van de cursus

Introductie tot Deep Learning met Keras

Cursus bekijken

Oefeninstructies

  • Split de tekst in een array van woorden met .split().
  • Maak zinnen van 4 woorden, telkens opschuivend met één woord.
  • Maak een Tokenizer() aan en fit deze op de zinnen met .fit_on_texts().
  • Zet sentences om naar een reeks getallen met .texts_to_sequences().

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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]))
Code bewerken en uitvoeren