Создание векторов предложений и следующих символов
Это упражнение помогает лучше понять важность подготовки данных. В качестве входных данных вы будете использовать тексты с фразами персонажа Шелдона из сериала «Теория большого взрыва» и создадите векторы индексов предложений и следующих символов — они понадобятся перед построением модели генерации текста.
Текст доступен в переменной 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())