Przewidywanie tekstu z użyciem LSTM
W kolejnych ćwiczeniach zbudujesz uproszczony model LSTM, który potrafi przewidzieć następne słowo na podstawie małego zbioru danych tekstowych.
Zbiór ten zawiera oczyszczone cytaty z filmów Władca Pierścieni. Znajdziesz je w zmiennej text.
Zamienisz ten text na sequences (sekwencje) o długości 4 i skorzystasz z Keras Tokenizer, aby przygotować cechy i etykiety dla modelu!
Keras Tokenizer jest już zaimportowany i gotowy do użycia. Przypisuje każdemu unikalnemu słowu unikalną liczbę i przechowuje te mapowania w słowniku. To ważne, ponieważ model operuje na liczbach – a później będziemy chcieli dekodować wyniki z powrotem na słowa.
To ćwiczenie jest częścią kursu
Wprowadzenie do uczenia głębokiego z Keras
Instrukcje do ćwiczenia
- Podziel tekst na tablicę słów za pomocą
.split(). - Utwórz zdania złożone z 4 słów, przesuwając się o jedno słowo na raz.
- Utwórz instancję
Tokenizer(), a następnie dopasuj ją do zdań za pomocą.fit_on_texts(). - Przekształć
sentencesw sekwencję liczb, wywołując.texts_to_sequences().
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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]))