Tłumaczenie z portugalskiego na angielski
To ostatnie ćwiczenie w kursie – gratulacje, że dotarłeś aż tutaj!
Dowiesz się, jak używać modeli NMT do wykonywania tłumaczeń.
Model, który koduje krótkie frazy z języka portugalskiego i dekoduje je na krótkie frazy w języku angielskim, został wstępnie wytrenowany i jest wczytany do zmiennej model.
Funkcja predict_one() jest już wczytana – użyj help(), aby poznać szczegóły. Zbiór danych jest dostępny w zmiennych test (surowy tekst) i X_test (po tokenizacji).
Zdefiniujesz funkcję do tłumaczenia listy zdań. W parametrach: sentences to lista fraz do przetłumaczenia, index_to_word to słownik dict zawierający indeksy numeryczne jako klucze i słowa jako wartości dla języka angielskiego, wczytany do zmiennej en_index_to_word.
Podsumowanie modelu zostało wydrukowane dla twojej wygody.
To ćwiczenie jest częścią kursu
Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras
Instrukcje do ćwiczenia
- Wykonaj pętlę po iteratorze z indeksami fraz.
- Użyj wczytanej funkcji
predict_one(), aby przetłumaczyć jedną frazę. - Wydrukuj wynik tłumaczenia.
- Wywołaj zdefiniowaną funkcję, aby przetłumaczyć pierwsze 10 fraz ze zmiennej
X_test.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Function to predict many phrases
def predict_many(model, sentences, index_to_word, raw_dataset):
for i, sentence in ____(sentences):
# Translate the Portuguese sentence
translation = ____(model, sentence, index_to_word)
# Get the raw Portuguese and English sentences
raw_target, raw_src = raw_dataset[i]
# Print the correct Portuguese and English sentences and the predicted
print('src=[%s], target=[%s], predicted=[%s]' % (raw_src, raw_target, ____))
____(model, X_test[____], en_index_to_word, test)