Google translation กับการแปลภาษาไทย

ข่าวจาก http://www.blognone.com/node/10564 และ @phisite. ทำให้ผมทราบว่า Google แปลภาษาไทยได้แล้ว. อย่างไรก็ตามมีคำถามตามมาหลายอย่าง เช่นใครเป็นคนทำเครื่องแปล ทำไมทำได้ ฯลฯ.

จริงๆ แล้วผมก็ไม่รู้คำตอบที่แน่นอนเหมือนกัน แต่จากเว็บของ Google เอง แบบว่าใช้เครื่องแปลแบบใช้สถิติ (Statistical machine translation; SMT). แต่ SMT ก็มีหลายแบบผมก็ไม่รู้ชัดว่าแบบไหน อย่างไรก็ตามมีนักวิจัยท่านหนึ่ง ที่ผมติดตามผลงาน และไปทำงานที่ Google ชื่อ Franz Josep Och ก็เป็นไปได้มากว่าจะใช้ Statistical phrase-based machine translation อย่างไรก็ตามก็มีผลงานล่าสุดเกี่ยวกับ Syntax augmented machine translation ออกมาด้วย.

สำหรับภาษาไทยผม *คาดว่า* ใช้แบบ syntax augmented machine translation อาจจะยากสักหน่อย เพราะต้องทำโปรแกรมวิเคราะห์ syntax ด้วย. แต่ถ้าใช้ phrase-based machine translation ก็สามารถใช้โปรแกรมเดิมได้เลย โปรแกรมที่ต้องการเพิ่มอาจจะมีแค่โปรแกรมตัดคำ. อย่างไรส่วนต่างที่สำคัญคือ *ตัวอย่างการแปล* (parallel corpus) เช่น

* ฉันกินข้าว | I eat rice
* I saw a bird | ฉันเห็นนก
* I like music | ฉันชอบดนตรี
(ตัวอย่างอาจจะง่านเกินไปมากๆ)

ถ้าเรามีตัวอย่างแบบข้างบนมากๆ และครอบคลุม อาจจะเอามาทำ translation memory ได้ โดยพยายาม match ประโยคในตัวอย่าง กับประโยคที่เราต้องการจะแปล อาจจะใช้ fuzzy matching แล้วดูว่า match กันกี่เปอร์เซ็น. อย่างไรก็ตามโอกาสที่ประโยคจะเกิดซ้ำกัน 100% หรือ 90% ก็อาจจะไม่ได้ง่ายมากนัก. phrase-based machine translation ล้ำหน้าไปกว่านั้นคือจะหา phrase (ในที่นี้คือส่วนย่อยๆ ของประโยค อาจจะ 2-3 คำ) เช่น หาให้ได้ว่า “I like” แปลว่า “ฉันชอบ” แล้วพยายามเอาชิ้นส่วน phrase เล็กนี้ มาต่อกันทำเกิดเป็นคนแปลขึ้นมา.

จะต่ออย่างไรนี้ก็ต้องอาศัยสถิติ เช่น “a bitter” จะแปลว่า “ที่น่าเศร้าสลด” หรือ “ที่น่าขมขื่น” หรืออื่นๆ นี้ก็ใช้สถิติเข้ามาช่วยตัดสินใจได้ สถิติก็มีได้หลายอย่างเช่น โอกาสที่ “a bitter” จะแปลเป็น “ที่น่าขมขื่น” โอกาสที่ “ที่น่าขมขื่น” จะโดนย้ายที่ ต่างภาษากันก็อาจจะต้องย้ายที่ได้บ้าง ถ้าอ่านภาษาอังกฤษน่าจะต้องดูคำว่า distortion กับ reordering. และโอกาสที่คำแปลแต่ละแบบจะเกิดในภาษาปลายทาง เช่น ก็หากันตรงเลยว่า “น่าขมขื่น” มีโอกาสเกิดในภาษาไทยเท่าไหร่. (ไว้วันหลังผมจะหาตัวอย่างที่ชัดเจนกว่านี้มาใส่)

ถ้าเรามีตัวอย่างการแปลมาพอ ก็อาจจะลองทำ SMT ในเครื่องของเราเล่นเองได้ โดยไม่ต้องมีความรู้เรื่องกฎไวยากรณ์อะไรเลยโดย เพียงแต่โหลดโปรแกรม moses-decoder และเพื่อนๆ เช่น GIZA++ มาใช้ อาจจะแถมโปรแกรมตัดคำอย่าง KUcut อีกหน่อย ก็พอจะทำ SMT ได้แล้ว แต่ผลก็อาจจะออกมาไม่ค่อยดีเท่าไหร่ หรืออาจจะดีก็ได้มั้ง.

One thought on “Google translation กับการแปลภาษาไทย

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s