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

Подготовка данных для обучения

В этом упражнении вы продолжите подготовку данных для обучения модели. После создания массивов предложений и следующих символов необходимо преобразовать их в числовые значения, которые можно использовать в модели.

Этот шаг необходим, поскольку модели RNN работают только с числами, а не со строками. Вы создадите числовые массивы, в которых позиции, соответствующие символам из предложений, будут содержать нули или единицы. Единицы (или True) означают, что соответствующий символ присутствует, а нули (или False) — что символ в данной позиции предложения отсутствует.

Переменные sentences, next_char, n_vocab, chars_window, num_seqs (количество предложений в обучающих данных) уже загружены в среду, а также numpy как np.

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

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

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

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

  • Создайте экземпляр np.array() с нулями и формой (количество предложений, окно символов, размер словаря).
  • Используйте словарь char_to_index, чтобы установить позицию текущего символа равной 1.
  • Установите текущий следующий символ равным 1.
  • Выведите первый элемент каждого массива.

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

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

# Instantiate the variables with zeros
numerical_sentences = np.zeros((____, ____, ____), dtype=np.bool)
numerical_next_chars = np.zeros((num_seqs, n_vocab), dtype=np.bool)

# Loop for every sentence
for i, sentence in enumerate(sentences):
  # Loop for every character in sentence
  for t, char in enumerate(sentence):
    # Set position of the character to 1
    numerical_sentences[i, t, ____] = ____
    # Set next character to 1
    ____[i, char_to_index[next_chars[i]]] = 1

# Print the first position of each
print(____, ____, sep="\n")
Редактировать и запускать код