Передбачення наступного символу
У цій вправі ви напишете функцію для передбачення наступного символу на основі вже натренованої моделі. Ви використаєте попередні 20 символів, щоб передбачити наступний. Як тренувати модель, ви дізнаєтеся в наступному уроці, адже це необхідний крок перед навчанням моделі.
Це початковий крок до створення правил для генерування речень, абзаців, коротких текстів чи інших текстових блоків за потреби.
Змінні n_vocab, chars_window та словник index_to_char уже завантажені в середовище. Крім того, для вас уже створено такі функції:
initialize_X(): перетворює текстове введення на послідовність індексів з коректною формою.predict_next_char(): отримує наступний символ за допомогою методу.predict()класу моделі та словникаindex_to_char.
Ця вправа є частиною курсу
Recurrent Neural Networks (RNNs) для моделювання мови з Keras
Інструкції до вправи
- Визначте функцію
get_next_char()і додайте параметриinitial_textтаchars_windowбез типових значень. - Використайте функцію
initialize_X()і передайте зміннуchar_to_index, щоб отримати вектор із нулів для передбачення. - Використайте функцію
predict_next_char(), щоб отримати передбачення, і збережіть його в зміннійnext_char. - Виведіть передбачений символ, застосувавши визначену функцію до наданого
initial_text.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
def ____(model, ____, ____, char_to_index, index_to_char):
# Initialize the X vector with zeros
X = ____(initial_text, chars_window, ____)
# Get next character using the model
____ = predict_next_char(model, X, ____)
return next_char
# Define context sentence and print the generated text
initial_text = "I am not insane, "
print("Next character: {0}".format(____(model, ____, 20, char_to_index, index_to_char)))