НачатьНачать бесплатно

Предсказание следующего символа

В этом упражнении вы напишете функцию для предсказания следующего символа на основе обученной модели. Для предсказания будут использоваться последние 20 символов. Обучение модели будет рассмотрено в следующем уроке — этот шаг является необходимой подготовкой перед ним.

Это первый шаг к созданию правил для генерации предложений, абзацев, коротких текстов и других блоков текста.

Переменные n_vocab, chars_window и словарь index_to_char уже загружены в среду. Также для вас уже созданы следующие функции:

  • initialize_X(): преобразует текстовый ввод в последовательность индексов нужной формы.
  • predict_next_char(): получает следующий символ с помощью метода .predict() класса модели и словаря index_to_char.

Это упражнение является частью курса

Рекуррентные нейронные сети (RNN) для языкового моделирования с 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)))
Редактировать и запускать код