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

Příprava výstupního textu

V tomto cvičení připravíš výstupní texty pro použití v translačním modelu. Kromě převodu textu na sekvence indexů je také potřeba každý index zakódovat metodou one-hot encoding.

Anglické texty jsou načteny v proměnné en_sentences, natrénovaný tokenizer v proměnné output_tokenizer a velikost anglické slovní zásoby v proměnné en_vocab_size.

Funkce pro provedení prvních kroků transformace výstupního jazyka (převod textů na sekvence indexů) je již připravena. V prostředí je dostupná jako transform_text_to_sequences() a má dva parametry: sentences, který očekává seznam anglických vět, a tokenizer, který očekává natrénovaný objekt Tokenizer z modulu keras.preprocessing.text.

numpy je načten jako 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í

  • Předej proměnné en_sentences a output_tokenizer funkci transform_text_to_sequences() a inicializuj tak proměnnou Y.
  • Použij funkci to_categorical() pro one-hot encoding vět. Jako počet tříd použij proměnnou en_vocab_size.
  • Převeď dočasný seznam na numpy pole a změň tvar tak, aby odpovídal (num_sentences, sentences_len, en_vocab_size).
  • Vypiš nezpracovaný text i jeho transformovanou podobu.

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

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

# Initialize the variable
Y = transform_text_to_sequences(____, ____)

# Temporary list
ylist = list()
for sequence in Y:
  	# One-hot encode sentence and append to list
    ylist.append(____(sequence, num_classes=____))

# Update the variable
Y = np.array(ylist).reshape(____, Y.shape[1], en_vocab_size)

# Print the raw sentence and its transformed version
print("Raw sentence: {0}\nTransformed: {1}".format(____, Y[0]))
Upravit a spustit kód