Příprava vstupního textu
Ve videu sis ukázal/a, jak připravit vstupní a výstupní texty. Toto cvičení demonstruje běžný postup: použití maximální délky vět pro doplnění (padding) všech ostatních – díky tomu nepřijdeš o žádnou informaci.
Protože RNN modely vyžadují vstupy stejné velikosti, je padding vhodný způsob, jak sjednotit délky vět – kratším větám se doplní nuly, aniž by se zkracovaly ty delší.
Místo jednotlivých znaků budeš jako tokeny používat celá slova, což je u modelů NMT běžný přístup.
Portugalské texty jsou načteny v proměnné pt_sentences a natrénovaný tokenizer je uložen v proměnné input_tokenizer.
Toto cvičení je součástí kurzu
Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras
Pokyny k cvičení
- Použij metodu
.split()na každou větu, aby se rozdělila podle mezer, a zjisti tak počet slov ve větě. - Pomocí metody
.texts_to_sequences()převeď text na posloupnost indexů. - Získanou maximální délku vět použij k jejich doplnění (padding).
- Vypiš první transformovanou větu.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Get maximum length of the sentences
pt_length = max([len(sentence.____) for sentence in pt_sentences])
# Transform text to sequence of numerical indexes
X = input_tokenizer.____(pt_sentences)
# Pad the sequences
X = pad_sequences(X, maxlen=____, padding='post')
# Print first sentence
print(pt_sentences[0])
# Print transformed sentence
print(____)