Перекладіть португальську англійською
Це остання вправа курсу — вітаємо, що дійшли сюди!
Ви дізнаєтеся, як використовувати моделі NMT для перекладу.
Попередньо натренована модель, яка кодує короткі фрази португальською та декодує їх у короткі фрази англійською, вже завантажена в змінну model.
Також функцію predict_one() уже завантажено — скористайтеся help() для деталей, а набір даних доступний у змінних test (сирий текст) і X_test (токенізований).
Ви визначите функцію для перекладу списку речень. У параметрах: sentences — це список фраз для перекладу, index_to_word — це dict, що містить числові індекси як ключі та слова як значення для англійської мови; він завантажений у змінну en_index_to_word.
Зведення моделі надруковано для вашого ознайомлення.
Ця вправа є частиною курсу
Recurrent Neural Networks (RNNs) для моделювання мови з Keras
Інструкції до вправи
- Пройдіться циклом по переліку фраз, отриманому через
enumerate(). - Використайте попередньо завантажену функцію
predict_one()для перекладу однієї фрази. - Виведіть результат перекладу.
- Викличте визначену функцію для перекладу перших 10 фраз зі змінної
X_test.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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)