Підготовка текстових даних для подання в модель
Раніше ви дізналися, як створювати словники індексів до слів і навпаки. У цій вправі ви розіб'єте текст на окремі символи й продовжите готувати дані для навчання з учителем.
Розбивання текстів на символи може здаватися незвичним, але це часто використовують для генерування тексту. До того ж процес підготовки даних такий самий; різниця лише в тому, як розбивати тексти.
Ви створите тренувальні дані, що містять список текстів фіксованої довжини та їхні мітки — відповідні наступні символи.
Ви й далі використовуватимете набір даних із цитатами Шелдона (The Big Bang Theory), доступний у змінній sheldon_quotes.
Функція print_examples() друкує пари, щоб ви бачили, як було перетворено дані. Використайте help() для подробиць.
Ця вправа є частиною курсу
Recurrent Neural Networks (RNNs) для моделювання мови з Keras
Інструкції до вправи
- Визначте
stepяк2іchars_windowяк10. - Додайте наступне речення до змінної
sentences. - Додайте правильну позицію тексту
sheldonдо змінноїnext_chars. - Використайте функцію
print_examples(), щоб вивести10речень і наступні символи.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Create lists to keep the sentences and the next character
sentences = [] # ~ Training data
next_chars = [] # ~ Training labels
# Define hyperparameters
step = ____ # ~ Step to take when reading the texts in characters
chars_window = ____ # ~ Number of characters to use to predict the next one
# Loop over the text: length `chars_window` per time with step equal to `step`
for i in range(0, len(sheldon_quotes) - chars_window, step):
sentences.____(sheldon_quotes[i:i + chars_window])
next_chars.append(sheldon_quotes[____])
# Print 10 pairs
print_examples(____, ____, 10)