Прогнозування тексту за допомогою LSTM
У наступних вправах ви побудуєте просту модель LSTM, яка зможе передбачати наступне слово, використовуючи невеликий текстовий набір даних.
Цей набір даних складається з очищених цитат із фільмів The Lord of the Ring. Ви знайдете їх у змінній text.
Ви перетворите цей text на sequences довжини 4 і скористаєтеся Keras Tokenizer, щоб підготувати ознаки та мітки для вашої моделі!
Keras Tokenizer уже імпортовано для вашого використання. Він призначає унікальний номер кожному унікальному слову та зберігає відповідності в словнику. Це важливо, адже модель працює з числами, але згодом ми захочемо декодувати вихідні числа назад у слова.
Ця вправа є частиною курсу
Вступ до Deep Learning з Keras
Інструкції до вправи
- Розбийте текст на масив слів за допомогою
.split(). - Сформуйте речення з 4 слів, зсуваючись щоразу на одне слово.
- Створіть
Tokenizer(), а потім навчіть його на реченнях за допомогою.fit_on_texts(). - Перетворіть
sentencesна послідовності чисел, викликавши.texts_to_sequences().
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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]))