1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Machine Translation with Keras

Connected

Cvičení

Generování překladů

Teď si vyzkoušíš generování francouzských překladů pomocí inferenčního modelu natrénovaného s využitím Teacher Forcing.

Tento model (nmt_tf) byl trénován po dobu 50 epoch na 100 000 větách a dosáhl přibližně 98% přesnosti na validační sadě čítající více než 35 000 příkladů. Inicializace tohoto cvičení může trvat déle, protože je potřeba načíst natrénovaný model. K dispozici máš funkci sents2seqs(). Byly ti také poskytnuty dvě nové funkce:

word2onehot(tokenizer, word, vocab_size), která přijímá:

  • tokenizer – objekt Tokenizer z Kerasu
  • word – řetězec představující slovo ze slovníku (např. 'apple')
  • vocab_size – velikost slovníku

probs2word(probs, tok), která přijímá:

  • probs – výstup modelu ve tvaru [1,<French Vocab Size>]
  • tok – objekt Tokenizer z Kerasu

Zdrojový kód těchto funkcí si můžeš prohlédnout zadáním print(inspect.getsource(word2onehot)) a print(inspect.getsource(probs2word)) do konzole.

Pokyny

100 XP
  • Předpověz počáteční stav dekodéru (de_s_t) pomocí enkodéru.
  • Předpověz výstup a nový stav dekodéru na základě předchozí předpovědi (výstupu) a předchozího stavu jako vstupů. Nezapomeň nový stav generovat rekurzivně.
  • Získej řetězec slova z pravděpodobnostního výstupu pomocí funkce probs2word().
  • Převeď řetězec slova na sekvenci one-hot kódování pomocí funkce word2onehot().