1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Traducere automată cu Keras

Connected

Bài tập

Generarea traducerilor

Vei genera acum traduceri în franceză folosind un model de inferență antrenat cu Teacher Forcing.

Acest model (nmt_tf) a fost antrenat timp de 50 de epoci pe 100.000 de propoziții și a obținut o acuratețe de aproximativ 98% pe un set de validare de peste 35.000 de exemple. Este posibil ca exercițiul să dureze mai mult la inițializare, deoarece modelul antrenat trebuie să fie încărcat. Ai la dispoziție funcția sents2seqs(). De asemenea, îți sunt oferite două funcții noi:

word2onehot(tokenizer, word, vocab_size), care acceptă:

  • tokenizer - un obiect Tokenizer din Keras
  • word - un șir de caractere reprezentând un cuvânt din vocabular (de ex. 'apple')
  • vocab_size - dimensiunea vocabularului

probs2word(probs, tok), care acceptă:

  • probs - o ieșire din model cu forma [1,<French Vocab Size>]
  • tok - un obiect Tokenizer din Keras

Poți consulta codul sursă al acestor funcții tastând print(inspect.getsource(word2onehot)) și print(inspect.getsource(probs2word)) în consolă.

Hướng dẫn

100 XP
  • Calculează starea inițială a decoderului (de_s_t) cu ajutorul encoderului.
  • Calculează ieșirea și noua stare a decoderului folosind predicția anterioară (ieșirea) și starea anterioară ca intrări. Nu uita să generezi recursiv noua stare.
  • Obține șirul de caractere al cuvântului din ieșirea de probabilități folosind funcția probs2word().
  • Convertește șirul de caractere al cuvântului într-o secvență one-hot folosind funcția word2onehot().