ใช้ Python แปลภาษาด้วย googletrans
ช่วงนี้เขียนโมเดลเยอะ แล้วก็ทำเกี่ยวกับ Stat เยอะ จนรู้สึกว่าไม่ได้เขียนแนะนำ Library เท่าไหร่ ดังนั้นวันนี้กลับมาแนะนำ Python library กันบ้าง เหมือนเดิมอย่างทุก ๆ ครั้งที่ผ่านมา ที่มาของเนื้อหาตอนนี้ก็มาจากโจทย์ที่เจอระหว่างการทำงานอีกเช่นเคย ล่าสุดเพิ่งไปเจอข้อมูลที่เก็บไว้เป็นภาษาไทยมา แล้วต้องการใช้ Python จัดการข้อมูลให้เป็นภาษาอังกฤษในรูปแบบของ DataFrame
Library ที่ใช้ในการแก้โจทย์ครั้งนี้คือ googletrans ซึ่งเป็น Library free API ของ Google ที่ออกแบบมาให้ใช้กับ Python ในการแปลภาษา ซึ่งสามารถอ่านเพิ่มเติมได้จาก Link ที่แปะไว้ด้านล่าง
ก่อนเริ่มใช้งาน ให้ทำการติดตั้ง googletrans เสียก่อน สามารถใช้คำสั่ง pip install googletrans
ได้ตรง ๆ
Code
ขอเริ่มจากการสร้าง DataFrame ขึ้นมาเพื่อเก็บค่า String ที่ต้องการแปลก่อน เหตุผลที่ต้องทำเป็น DataFrame เพราะต้องการให้เหมือนกับโจทย์ที่ไปเจอมาจากข้อมูลของลูกค้า จากนั้นต้องกำหนด Translator() ที่เป็น Object ใส่ตัวเข้าไปในตัวแปรก่อน ในที่นี้ให้ชื่อว่า translator
ใช้คำสั่ง .map() เพื่อทำการ Apply column function กับ Column ‘Thai’ (Series) โดยที่ต้องใส่ Input คือคำที่ต้องการแปล ในที่นี้คือ x ที่อยู่ภายใต้ lambda ส่วน src คือ Source language หรือภาษาต้นทาง และ dest คือ Destination language หรือภาษาปลายทางนั่นเอง
ลองเปลี่ยนให้ Column ที่ต้องการทำงาน เก็บค่า String ที่มี 2 ภาษาคือไทยและอังกฤษ และต้องการสร้างอีก 1 Column ที่รับค่าแปลเป็นภาษาอังกฤษเท่านั้น เพื่อดูว่าตัว Translator มีเงื่อนไขอะไรเพิ่มเติมหรือไม่
กำหนดให้ Column ที่เป็นภาษาไทยมีคำอังกฤษปะปนมาด้วย นอกเหนือจากนั้นใช้ Code เดิมจากที่ได้อธิบายด้านบนทั้งหมด
เห็นได้ว่าเมื่อกำหนดค่า Source language เป็นภาษาใด ๆ ให้กับ Translator ตัว Object module จะทำการ Detect เฉพาะภาษาที่เป็น Source language เท่านั้น ส่วนภาษาอื่น ๆ ไม่ได้รับผลกระทบแต่อย่างใด
จบแล้ว… ถึงว่า Blog ตอนนี้เป็นอีกตอนสั้นมาก ๆ เพราะว่าช่วงนี้มีความยุ่งกับการประจำ จนไม่ได้เขียนอะไรเยอะเหมือนเมื่อก่อน ไว้ถ้าโปรเจคเบาบางลงเมื่อไหร่ คงได้เขียนอะไรยาว ๆ กันอีกที