НачатьНачать бесплатно

Перевод с португальского на английский

Это последнее упражнение курса — поздравляем, вы добрались до финала!

Вы научитесь использовать модели 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)
Редактировать и запускать код