Začněte nyníZačněte zdarma

Příprava dat pro trénování

V tomto cvičení budeš pokračovat v přípravě dat pro trénování modelu. Po vytvoření polí vět a následujících znaků je potřeba převést je na číselné hodnoty, se kterými model dokáže pracovat.

Tento krok je nezbytný, protože RNN modely pracují výhradně s čísly, nikoli s řetězci. Vytvoříš číselná pole obsahující nuly nebo jedničky na pozicích odpovídajících znakům přítomným ve větách. Jednička (nebo True) znamená, že daný znak je na dané pozici přítomen, nula (nebo False) jeho absenci.

Proměnné sentences, next_char, n_vocab, chars_window, num_seqs (počet vět v trénovacích datech) jsou v prostředí již načteny, stejně jako numpy pod aliasem np.

Toto cvičení je součástí kurzu

Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř np.array() vyplněné nulami ve tvaru (počet vět, okno znaků, velikost slovníku znaků).
  • Pomocí slovníku char_to_index nastav pozici aktuálního znaku na 1.
  • Nastav aktuální následující znak na 1.
  • Vypiš první pozici každého pole.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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")
Upravit a spustit kód