Перевод с португальского на английский
Это последнее упражнение курса — поздравляем, вы добрались до финала!
Вы научитесь использовать модели NMT для выполнения переводов.
Модель, которая кодирует короткие португальские фразы и декодирует их в короткие английские фразы, была предварительно обучена и загружена в переменную model.
Функция predict_one() уже загружена — воспользуйтесь help(), чтобы узнать подробности. Набор данных доступен в переменных test (необработанный текст) и X_test (токенизированные данные).
Вам нужно определить функцию для перевода списка предложений. В параметрах: sentences — список фраз для перевода, index_to_word — словарь dict, в котором числовые индексы являются ключами, а значения — словами английского языка; он загружен в переменную en_index_to_word.
Сводка модели выведена для ознакомления.
Это упражнение является частью курса
Рекуррентные нейронные сети (RNN) для языкового моделирования с Keras
Инструкции к упражнению
- Выполните итерацию по перечисляемому итератору фраз.
- Используйте предварительно загруженную функцию
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)