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

Генерация предложения с контекстом

В этом упражнении вы поэкспериментируете с предварительно обученной моделью для генерации текста. Модель уже загружена в среду в переменной model, а также доступны функции initialize_params() и get_next_token().

Последняя использует предварительно обученную модель для предсказания следующего символа и возвращает три переменные: следующий символ next_char, обновлённое предложение res и сдвинутый текст seq, который будет использоваться для предсказания следующего символа.

Вам предстоит определить функцию, которая принимает предварительно обученную модель и строку — начало генерируемого предложения — в качестве входных данных. Это удобный способ генерировать текст с учётом контекста. Ограничение в 100 символов приведено в качестве примера — в своих приложениях вы можете использовать другие ограничения (или вовсе обойтись без них).

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

Рекуррентные нейронные сети (RNN) для языкового моделирования с Keras

Посмотреть курс

Инструкции к упражнению

  • Передайте переменную initial_text в функцию initialize_params().
  • Задайте условия для остановки цикла: когда счётчик достигнет 100 или будет найдена точка (r'.').
  • Передайте начальные значения res, seq в функцию get_next_token(), чтобы получить следующий символ.
  • Выведите на экран пример фразы, сгенерированной определённой функцией.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

def generate_phrase(model, initial_text):
    # Initialize variables  
    res, seq, counter, next_char = initialize_params(____)
    
    # Loop until stop conditions are met
    while counter < ____ ____ next_char != r'.':
      	# Get next char using the model and append to the sentence
        next_char, res, seq = get_next_token(model, ____, ____)
        # Update the counter
        counter = counter + 1
    return res
  
# Create a phrase
print(____(model, "I am not insane, "))
Редактировать и запускать код