แปลภาษาโปรตุเกสเป็นภาษาอังกฤษ
นี่คือแบบฝึกหัดสุดท้ายของคอร์ส ขอแสดงความยินดีที่มาถึงจุดนี้!
เราจะเรียนรู้วิธีใช้โมเดล NMT เพื่อทำการแปลภาษา
โมเดลที่ทำหน้าที่ encode ประโยคสั้นภาษาโปรตุเกสและ decode เป็นประโยคสั้นภาษาอังกฤษนั้นถูก pre-train มาแล้ว และโหลดไว้ในตัวแปร model
นอกจากนี้ ฟังก์ชัน predict_one() ถูกโหลดไว้ให้แล้ว ใช้ help() เพื่อดูรายละเอียด และชุดข้อมูลพร้อมใช้งานในตัวแปร test (ข้อความดิบ) และ X_test (ผ่านการ tokenize แล้ว)
ให้กำหนดฟังก์ชันสำหรับแปลรายการประโยค โดย sentences คือรายการประโยคที่ต้องการแปล และ index_to_word คือ dict ที่มี index ตัวเลขเป็น key และคำภาษาอังกฤษเป็น value ซึ่งโหลดไว้ในตัวแปร en_index_to_word
สรุปโมเดล (model summary) ถูกแสดงไว้ให้แล้วเพื่อประกอบการพิจารณา
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Recurrent Neural Networks (RNNs) สำหรับ Language Modeling ด้วย Keras
คำแนะนำการฝึกหัด
- วนลูปผ่าน enumerated iterator ของรายการประโยค
- ใช้ฟังก์ชัน
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)