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

Создание векторов предложений и следующих символов

Это упражнение помогает лучше понять важность подготовки данных. В качестве входных данных вы будете использовать тексты с фразами персонажа Шелдона из сериала «Теория большого взрыва» и создадите векторы индексов предложений и следующих символов — они понадобятся перед построением модели генерации текста.

Текст доступен в переменной sheldon, словарный запас (набор символов) — в переменной vocabulary, а гиперпараметры chars_window и step заданы значениями 20 и 3 соответственно. Это означает, что для предсказания следующего символа будет использоваться последовательность из 20 символов, а окно будет смещаться на 3 символа на каждой итерации.

Библиотека pandas уже загружена в среде под псевдонимом pd.

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

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

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

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

  • Разбейте текст по символу переноса строки, чтобы перебирать предложения в цикле.
  • Выполняйте цикл до конца предложения минус chars_window.
  • Добавьте в переменную sentences фрагмент предложения длиной chars_window символов, а в переменную next_chars — следующий символ.
  • Используйте полученные векторы для создания pd.DataFrame() и выведите его первые строки.

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

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

# Instantiate the vectors
sentences = []
next_chars = []
# Loop for every sentence
for sentence in sheldon.____:
    # Get 20 previous chars and next char; then shift by step
    for i in range(0, len(sentence) - ____, step):
        sentences.append(sentence[i:i + ____])
        next_chars.append(sentence[____ + chars_window])

# Define a Data Frame with the vectors
df = pd.DataFrame({'sentence': ____, 'next_char': ____})

# Print the initial rows
print(df.head())
Редактировать и запускать код