Vertaal Portugees naar Engels
Dit is de laatste oefening van de cursus, gefeliciteerd dat je zover bent gekomen!
Je gaat leren hoe je NMT-modellen gebruikt om te vertalen.
Een model dat korte Portugese zinnen encodeert en deze decodeert naar korte Engelse zinnen is voorgetraind en staat in de variabele model.
Daarnaast is de functie predict_one() al geladen; gebruik help() voor details. De dataset is beschikbaar in de variabelen test (ruwe tekst) en X_test (getokenized).
Je definieert een functie om een lijst met zinnen te vertalen. In de parameters is sentences een lijst met zinnen om te vertalen, en index_to_word is een dict met numerieke indexen als sleutels en woorden als waarden voor het Engels, geladen in de variabele en_index_to_word.
De samenvatting van het model is geprint voor je naslag.
Deze oefening maakt deel uit van de cursus
Recurrent Neural Networks (RNN's) voor taalmodellen met Keras
Oefeninstructies
- Loop over de geënumererde iterator van de zinnen.
- Gebruik de vooraf geladen functie
predict_one()om één zin te vertalen. - Print het vertaalresultaat.
- Roep de gedefinieerde functie aan om de eerste 10 zinnen van de variabele
X_testte vertalen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)