將葡萄牙文翻譯成英文
這是本課程的最後一個練習,恭喜你完成到這裡!
你將學會如何使用 NMT(Neural Machine Translation)模型來進行翻譯。
一個能將葡萄牙文短句編碼並解碼為英文短句的模型已預先訓練完成,並載入到變數 model。
此外,函式 predict_one() 已經載入,請使用 help() 查看詳細說明。資料集可由 test(原始文字)與 X_test(已分詞/標記)兩個變數取得。
你將定義一個函式,用來翻譯一個句子清單。參數中,sentences 是待翻譯的句子清單;index_to_word 是一個 dict,以數值索引為鍵、英文單字為值,已載入在變數 en_index_to_word。
模型摘要已為你列印,供參考。
本練習屬於課程
使用 Keras 建立語言模型的循環神經網路(RNN)
練習說明
- 針對句子的列舉疊代器進行迴圈處理。
- 使用預先載入的函式
predict_one()翻譯單一句子。 - 列印翻譯結果。
- 呼叫你定義的函式,翻譯
X_test變數中前 10 個句子。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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)