1. Learn
  2. /
  3. 课程
  4. /
  5. Tłumaczenie maszynowe z Keras

Connected

道练习

Generowanie tłumaczeń

Teraz wygenerujesz tłumaczenia na język francuski, korzystając z modelu inferencyjnego wytrenowanego z użyciem Teacher Forcing.

Ten model (nmt_tf) był trenowany przez 50 epok na 100 000 zdaniach i osiągnął około 98% dokładności na zbiorze walidacyjnym liczącym ponad 35 000 przykładów. Inicjalizacja tego ćwiczenia może potrwać nieco dłużej, ponieważ wytrenowany model musi zostać załadowany. Masz do dyspozycji funkcję sents2seqs(). Udostępnione zostały również dwie nowe funkcje:

word2onehot(tokenizer, word, vocab_size), która przyjmuje:

  • tokenizer – obiekt klasy Tokenizer z biblioteki Keras
  • word – łańcuch znaków reprezentujący słowo ze słownika (np. 'apple')
  • vocab_size – rozmiar słownika

probs2word(probs, tok), która przyjmuje:

  • probs – wyjście modelu o kształcie [1,<French Vocab Size>]
  • tok – obiekt klasy Tokenizer z biblioteki Keras

Możesz podejrzeć kod źródłowy tych funkcji, wpisując w konsoli print(inspect.getsource(word2onehot)) oraz print(inspect.getsource(probs2word)).

说明

100 XP
  • Przewidź początkowy stan dekodera (de_s_t) za pomocą enkodera.
  • Przewidź wyjście i nowy stan dekodera, używając poprzedniego przewidywania (wyjścia) oraz poprzedniego stanu jako danych wejściowych. Pamiętaj, aby rekurencyjnie generować nowy stan.
  • Pobierz łańcuch znaków słowa z wyjścia probabilistycznego, korzystając z funkcji probs2word().
  • Przekształć łańcuch znaków słowa w sekwencję one-hot, używając funkcji word2onehot().