Aan de slagGa gratis aan de slag

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

Cursus bekijken

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_test te 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)
Code bewerken en uitvoeren