Predicția textului cu LSTM-uri
În exercițiile următoare vei construi un model LSTM simplu, capabil să prezică următorul cuvânt dintr-un set de date text de mici dimensiuni.
Acest set de date conține citate prelucrate din filmele Stăpânul Inelelor. Le găsești în variabila text.
Vei transforma acest text în sequences (secvențe) de lungime 4 și vei folosi Tokenizer-ul din Keras pentru a pregăti caracteristicile și etichetele modelului tău!
Tokenizer-ul din Keras este deja importat și gata de utilizat. Acesta atribuie un număr unic fiecărui cuvânt unic și stochează corespondențele într-un dicționar. Acest lucru este important deoarece modelul lucrează cu numere, dar ulterior vei dori să decodifici numerele de ieșire înapoi în cuvinte.
Acest exercițiu face parte din cursul
Introducere în Deep Learning cu Keras
Instrucțiuni pentru exercițiu
- Împarte textul într-un tablou de cuvinte folosind
.split(). - Creează propoziții de câte 4 cuvinte, avansând câte un cuvânt pe rând.
- Instanțiază un
Tokenizer(), apoi antrenează-l pe propoziții cu.fit_on_texts(). - Transformă
sentencesîntr-o secvență de numere apelând.texts_to_sequences().
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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]))