Předpovídání textu pomocí LSTM
V následujících cvičeních sestavíš jednoduchý LSTM model schopný předpovídat další slovo na základě malé textové sady.
Tato sada se skládá z upravených citátů z filmů Pán prstenů. Najdeš je v proměnné text.
Tento text převedeš na sequences o délce 4 slov a využiješ Keras Tokenizer k přípravě příznaků a štítků pro svůj model!
Keras Tokenizer je už naimportovaný a připravený k použití. Každému jedinečnému slovu přiřadí unikátní číslo a uloží mapování do slovníku. To je důležité, protože model pracuje s čísly – a my budeme chtít výstupní čísla zpětně dekódovat na slova.
Toto cvičení je součástí kurzu
Úvod do hlubokého učení s Keras
Pokyny k cvičení
- Rozděl text na pole slov pomocí
.split(). - Vytvoř věty po 4 slovech, vždy s posunem o jedno slovo.
- Vytvoř instanci
Tokenizer()a natrénuj ji na větách pomocí.fit_on_texts(). - Převeď
sentencesna posloupnost čísel voláním.texts_to_sequences().
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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]))