Příprava textových dat pro vstup modelu
V předchozí části ses naučil/a vytvářet slovníky mapující indexy na slova a naopak. V tomto cvičení rozdělíš text na jednotlivé znaky a budeš pokračovat v přípravě dat pro supervised learning.
Rozdělování textu na znaky může na první pohled působit zvláštně, ale při generování textu se to dělá běžně. Celý postup přípravy dat zůstává stejný – mění se jen způsob rozdělení textu.
Vytvoříš trénovací data obsahující seznam textů pevné délky a jejich popisků, což jsou odpovídající následující znaky.
Budeš dále pracovat s datasetem obsahujícím citáty Sheldona (Teorie velkého třesku), který je dostupný v proměnné sheldon_quotes.
Funkce print_examples() vypíše dvojice, takže uvidíš, jak byla data transformována. Pro více informací použij help().
Toto cvičení je součástí kurzu
Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras
Pokyny k cvičení
- Nastav
stepna hodnotu2achars_windowna hodnotu10. - Přidej další větu do proměnné
sentences. - Přidej správnou pozici z textu
sheldondo proměnnénext_chars. - Pomocí funkce
print_examples()vypiš10vět a jejich následujících znaků.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)