Traduire du portugais vers l'anglais
Il s'agit du dernier exercice du cours; félicitations d'être rendu ici!
Vous allez apprendre à utiliser des modèles de NMT pour effectuer des traductions.
Un modèle qui encode de courtes phrases en portugais et les décode en courtes phrases en anglais a été préentraîné et est chargé dans la variable model.
De plus, la fonction predict_one() est déjà chargée; utilisez help() pour les détails, et l'ensemble de données est disponible dans les variables test (texte brut) et X_test (tokenisé).
Vous allez définir une fonction pour traduire une liste de phrases. Dans les paramètres, sentences est une liste de phrases à traduire, index_to_word est un dict qui contient des index numériques comme clés et des mots comme valeurs pour la langue anglaise, chargé dans la variable en_index_to_word.
Le résumé du modèle a été affiché pour votre référence.
Cette activité fait partie du cours
Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras
Instructions de l’exercice
- Parcourez l'itérateur énuméré des phrases.
- Utilisez la fonction préchargée
predict_one()pour traduire une phrase. - Affichez le résultat de la traduction.
- Appelez la fonction définie pour traduire les 10 premières phrases de la variable
X_test.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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)