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
Pokyny k cvičení
- Předej proměnné
en_sentencesaoutput_tokenizerfunkcitransform_text_to_sequences()a inicializuj tak proměnnouY. - Použij funkci
to_categorical()pro one-hot encoding vět. Jako počet tříd použij proměnnouen_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]))