👨‍🍳 สูตรการทำเครื่องแปล Machine Translation ที่บ้าน

การแปลแบบใช้เครื่อง (Machine Translation) เป็นเทคโนโลยีที่ทุกคนคุ้นเคยกันดี น้องๆ อาจจะเคยใช้เป็นตัวช่วยตอนเรียนภาษาอังกฤษ ให้มันช่วยแปลจากไทยเป็นอังกฤษ (แล้วโกงส่งครู) หรือใช้แปลจากอังกฤษเป็นไทยเวลาอ่านอะไรแล้วไม่เข้าใจ หรือเวลาเราไปเจอคนจีนแล้วเค้าคุยกับเราไม่รู้เรื่องแล้วเค้าก็จะยื่นมือถือมาให้เราพูดเป็นภาษาไทยแล้วมันจะแปลเป็นภาษาจีนให้เค้า ก็อาจจะพอเข้าใจกันบ้าง

เครื่องเรียนรู้วิธีการแปลเหมือนคนเราเรียนรู้วิธีการแปลด้วยรึเปล่า ลองมาดูกันก่อนว่านักแปลที่แปลหนังสือที่เราอ่าน หรือเอกสารที่เราเอาไปยื่นสถานทูตนี่เค้ามาถึงจุดนั้นได้ยังไง

สมมติว่าเรามองหานักแปลสำหรับการแปลภาษาต้นฉบับ (source language) ภาษาอังกฤษ มาเป็นภาษาปลายทาง (target language) ภาษาไทย นักแปลคนนั้นจะต้องมีคุณสมบัติอะไรบ้าง

  • เป็นคนที่เรียนภาษาเก่ง รู้ทั้งภาษาไทยและภาษาอังกฤษเป็นอย่างดี
  • สามารถอ่านหนังสือภาษาอังกฤษแล้วเข้าใจความหมาย และบริบทของความหมายเชิงลึก
  • สามารถเขียนคำแปลภาษาไทยออกมาเป็นภาษาที่สละสลวยและมีใจความครบถ้วนตามภาษาต้นฉบับที่เราแปลมา

การแปลแทบจะนับได้ว่าเป็นทักษะขั้นสูงสุดของการเรียนรู้ภาษา ต้องอ่านเก่งๆ เขียนเก่งๆ อย่างน้อยสองภาษาจึงจะเป็นนักแปลได้ ไม่ใช่เรื่องง่ายๆ เลย ตอนนี้ก็คงจะพอเดากันได้ใช่มั้ยครับว่าถ้าจะสร้างเครื่องที่สามารถแปลภาษาได้เนี่ยก็คงไม่ใช่เรื่องง่ายๆ เหมือนกัน ลำพังให้เครื่องอ่านภาษาเดียวให้เข้าใจก็ยากพออยู่แล้ว

การสร้างเครื่องแปลภาษาต้องใช้ส่วนประกอบ 3 อย่างครับ

3 ส่วนประกอบของการทำเครื่องแปล

ส่วนประกอบที่ 1: ตัวอย่างการแปลจำนวนมาก ๆ

เครื่องแปลไม่ได้เรียนภาษาแบบที่เราเรียนกันในห้องเรียนครับ ในห้องเรียนเราเรียนด้วยหนังสือตำราไวยากรณ์ พจนานุกรม และแบบฝึกหัดภาษาต่าง ๆ แต่เครื่องแปลปัจจุบันนี้ไม่ได้ใช้พวกนี้ เครื่องแปลเรียนรู้การแปลจากการใช้ตัวอย่างการแปล ตัวอย่างการแปลพวกนี้เราเรียกว่า parallel corpus หรือคลังข้อมูลคู่ขนานครับ รูปร่างหน้าตาเป็นแบบตัวอย่างข้างล่างนี้ครับ

ตัวอย่างที่ 1: จาก บทสนทนาการสั่งอาหาร (ส่วนหนึ่งของ sub-dataset task-master-1 (Byrne, 2019)

(en): Who doesn't deliver these days? Alright, so a White Wonder with chicken & onions?

(th): เดี๋ยวนี้ใครเขาไม่มีเดลิเวอรี่แล้วบ้าง? เอาเถอะ เอาไวท์วันเดอร์ใส่ไก่กับหัวหอมนะ?

ตัวอย่างที่ 2: จาก “รายงานภาวะเศรษฐกิจไทยไตรมาสที่สอง และแนวโน้มปี 2556” (ส่วนหนึ่งของ sub-dataset assorted_government)

(en): Meanwhile, NPLs1 rose from 0.96 percent in the first quarter to 1.0 percent. Excess liquidity of commercial bank system considerably tightened.

(th): ในขณะที่สัดส่วนหนี้ที่ไม่ก่อให้เกิดรายได้ (NPLs1) ต่อสินเชื่อคงค้างเพิ่มขึ้นจากร้อยละ 0.96 ในไตรมาสก่อนหน้าเป็นร้อยละ 1 สภาพคล่องในระบบธนาคารพาณิชย์ตึงตัวขึ้น

ตัวอย่างที่ 3: ผลการ scrape website ที่มีสองภาษา (ส่วนหนึ่งของ sub-dataset thai_websites)

(en): The Bangkok Metropolitan Administration has launched a three-day celebration of the new Giant Swing located in front of the Bangkok City Hall.

(th): กรุงเทพมหานครจัดงาน 3 วัน 3 คืน เฉลิมฉลองเสาชิงช้าต้นใหม่ ซึ่งตั้งอยู่หน้าศาลาว่าการกรุงเทพฯ

ตัวอย่างที่ 4: ผลการทำ sentence alignment จากบทความวิกิดีเดียในภาษาไทยและอังกฤษ ส่วนหนึ่งของ sub-dataset wikipedia)

(en): Railway lines of JR East primarily serve the Kanto and Tohoku regions, along with adjacent areas in Kōshin'etsu region (Niigata, Nagano, Yamanashi) and Shizuoka prefectures. Section::::Shinkansen.

(th): เส้นทางบริการรถไฟของบริษัทรถไฟญี่ปุ่นตะวันออกครอบคลุมพื้นอาณาเขตภูมิภาคคันโตและโตโฮะกุ จังหวัดนีงะตะ จังหวัดนะงะโนะ จังหวัดยะมะนะชิ และจังหวัดชิซุโอะกะ Section::::ชิงกันเซ็ง.

ลักษณะที่สำคัญของคลังข้อมูลคู่ขนาน คือ ประโยคภาษาหนึ่งต้องมีจับคู่กับประโยคของอีกภาษาหนึ่งอย่างชัดเจน ภาษาวิชาการอันนี้เราเรียกว่า sentence alignment หรือการจับคู่ประโยค และจำเป็นต้องมีจำนวนคู่ประโยคมาก ๆ อย่างน้อยเป็นหลักหมื่นปลาย ๆ

โมเดลที่จะนำข้อมูลเหล่านี้ไปเรียนรู้วิธีการแปลจำเป็นต้องเห็นตัวอย่างเยอะ ๆ เพราะว่ากว่าจะเข้าใจจริงๆ ว่าคำคำหนึ่งนั้นมีความหมายอย่างไร สามารถนำไปใช้ในบริบทใดที่แตกต่างกันได้บ้างนั้น หรือ past perfect tense มีวิธีการแปลอย่างไร เราอาจจะต้องเห็นคำนั้น หรือการใช้ past perfect tense ในประโยคที่แตกต่างกันหลายประโยคจึงจะเข้าใจได้ และในภาษาหนึ่งก็มีคำศัพท์ (vocabulary) อย่างน้อยเป็นหลักหมื่นๆ ทำให้จำนวนข้อมูลที่จำเป็นต้องมีขนาดใหญ่ตามไปอีก

ส่วนประกอบที่ 2: เครื่องคอมพิวเตอร์แรง ๆ

โมเดลต้องเรียนรู้จากข้อมูลจำนวนมาก ๆ อีกทั้งรายละเอียดไส้ในของโมเดลก็ต้องมีความซับซ้อน ขนาดสมองของคนมีความทรงพลังมาก ๆ เวลาคนเรียนการแปลยังต้องใช้เวลาเป็นปี ๆ ต้องได้ข้อมูลจากเจ้าของภาษามาก ๆ คอมเรียนการแปลก็ต้องใช้เวลาเยอะในการประมวลทำความเข้าใจการแปลจากคลังข้อมูลคู่ขนาน เพราะการแปลมันยากมากๆ ต้องใช้ข้อมูลเยอะ ก็เลยต้องใช้เครื่องคอมพิวเตอร์ที่แรงมาก ๆ หมายความว่าเครื่องคอมพิวเตอร์ที่เราใช้พิมพ์งาน ทำงานอยู่ที่บ้านนั้นอาจจะแรงไม่พอ

โชคดีที่ว่าเดี๋ยวนี้เราสามารถเช่าเครื่องคอมพิวเตอร์เป็นรายชั่วโมง หรือรายวันผ่านอินเตอร์เน็ตได้ เทคโนโลยีนี้เรียกว่า cloud computing คือ เครื่องคอมพิวเตอร์ที่อยู่ไหนสักแห่งบนอินเตอร์เน็ตเราเช่าใช้ได้ ทำให้คนธรรมดา ๆ สามารถเข้าถึงเทคโนโลยีที่จำเป็นต้องใช้แรงการคำนวณหนัก ๆ โดยไม่ต้องหาซื้อคอมพิวเตอร์แพง ๆ มาตั้งไว้ที่บ้าน

ส่วนประกอบที่ 3: Translation Model

สุดท้ายเราต้องหาโมเดลทางคณิตศาสตร์ที่สามารถเรียนรู้การแปลจากคลังข้อมูลได้ Neural Machine Translation (NMT) เป็นโมเดลทางคณิตศาสตร์ที่สามารถแปลงประโยคจากภาษาต้นฉบับเป็นภาษาปลายทางที่เรากำหนดได้

Neural Encoder-Decoder Model สำหรับการแปลภาษา

NMT ทำงานโดยพยายามแปลงประโยคภาษาต้นฉบับซึ่งเป็นตัวหนังสือให้เป็นตัวเลข กระบวนการนี้เรียกว่า encoding จากนั้นเครื่องจะเริ่มพยายามทายว่าแต่ละคำที่อยู่ในประโยคภาษาปลายทางเนี่ยมันมีคำว่าอะไรอยู่บ้างเรียงลำดับอย่างไร NMT จะคำนวณหาความน่าจะเป็นของคำที่อยู่ถัดไปโดยใช้ค่าที่ได้มาจาก encoder และคำที่ถูกแปลไปแล้ว

แปลให้ทั้งหมดนี้เป็นภาษาไทย อีกที ก็คือว่า โมเดลการแปลนั้นจะแปลประโยคต่อประโยค และคำต่อคำ โดยคำนึงถึงความหมายของประโยคต้นฉบับ และความสละสลวยของประโยคที่เป็นคำแปล เพื่อให้คงความหมายของภาษาต้นฉบับและให้คำแปลออกมาใช้ภาษาได้ถูกไวยากรณ์ และคำภาษาต่างระดับมาใช้รวมกัน โดยที่แต่ละคำแปลที่พ่นออกมา เครื่องจะคำนวณหาความน่าจะเป็นของคำโดยที่ใช้บริบทต่างๆ เป็นเงื่อนไขในการคำนวณ (conditional probability)

ขั้นตอนการสร้างเครื่องแปลภาษาไทย←→ภาษาอังกฤษ

พอเราเลือกส่วนประกอบทั้งสามอย่างเรียบร้อยแล้ว คือเลือกคลังข้อมูลที่จะใช้ คอมพิวเตอร์ในการประมวลผลข้อมูล (เรียกว่าเทรนโมเดล หรือฝึกโมเดล) และเลือกโมเดลการแปลที่เราอยากลอง เราก็เริ่มเตรียมเครื่องแปลกันได้เลย

  1. แยกข้อมูลออกเป็นประโยคๆ ประโยคที่ใช้เทรน (ฝึกโมเดลการแปล) กับประโยคที่ใช้ทดสอบ
  2. ส่งข้อมูลเหล่านี้ขึ้น cloud computing service (เช่าคอมพิวเตอร์ผ่านอินเตอร์เน็ต) ที่เราอยากใช้ พร้อมทั้งโมเดล
  3. เทรนและรอเป็นเวลา 36 ชั่วโมง จนได้ที่
  4. พอได้ที่แล้วก็ลองทดสอบว่าผลออกมาโอเคมั้ย
  5. ถ้าผลออกมาดี เอาไปใช้แปลได้เลย (แต่ส่วนใหญ่แล้วจะยังใช้ไม่ได้ จะต้องกลับไป step 3 แล้วปรับค่าโน่นนี่)

เท่านั้นเองครับ

Negative Log-likelihood plot ของ Train และ Validation set บนชุดข้อมูล scb-mt-en-th-2020 จากโมเดล Transformer Base สำหรับการแปลจากภาษาไทย➝อังกฤษ และประเภทของคำเป็น Subword ➝ Subword

มันทำได้จริงเหรอ?

ทุกอย่างที่พูดมาข้างบนนี้มันฟังดูเหมือนง่ายไปหมดครับ แต่ทุกขั้นตอนที่รายละเอียดปลีกย่อยที่ทิ่มแทงตลอดทุกขั้นตอน แต่ก่อนขั้นตอนเหล่านี้เป็นเพียงได้แค่คำพูดจริงๆ เพราะว่าข้อมูลที่ต้องใช้ฝึกโมเดลนั้นควรจะมีขนาดใหญ่มาก อย่างน้อยๆ คือระดับแสนคู่ประโยค และต้องเป็นคู่ประโยคที่เราต้องการ แต่ด้วยทางธนาคารไทยพาณิชย์ (SCB) ได้เข้ามามีส่วนผลักดันงานวิจัยและพัฒนาด้าน Machine Translation ภาษาไทย จึงได้ร่วมมือกับ AIResearch จัดทำคลังข้อมูลคู่ขนานขนาด 1 ล้านคู่ประโยคภาษาอังกฤษและภาษาไทยขึ้น และให้ชื่อว่า scb-mt-en-th-2020 ให้เป็นสมบัติของคนไทย (และทุกคนทั่วโลก) ทำให้อุปสรรคทางด้านปริมาณข้อมูลที่คุณภาพสูงนั้นไม่เป็นปัญหาอีกต่อไป

ตามธรรมเนียมของวิจัยและพัฒนาก็ต้องมีการลองโมเดลหลายๆ แบบแล้วก็มีมาตรวัดชัดเจนว่าโมเดลอันไหนมันแปลเก่งกว่ากัน ทางทีมวิจัยที่ AIResearch เลยได้ทดสอบการทำเครื่องแปลกับชุดข้อมูล scb-mt-en-th-2020 เพื่อดูซิว่าผลการแปลจะออกมาโอเคหรือเปล่า

ลองทดสอบเครื่องแปลว่าดีขนาดไหน

เราแบ่งข้อมูลออกเป็นสองส่วน ส่วนที่ใช้สำหรับการฝึกโมเดล (training set) มีอยู่ประมาณ 800,000 ประโยค ชุดสำหรับการปรับจูนโมเดล (validation set) 100,000 ประโยค และชุดสำหรับทดสอบระบบอีก 100,000 ประโยค เราพยายามให้แต่ละชุดนั้นไม่มีประโยคที่เหมือนกันเป๊ะๆ เพื่อที่จะได้ทดสอบระบบโดยไม่มีคำตอบรั่วจาก training set และเราสุ่มประโยคจากให้สัดส่วนของ text แต่ละประเภทเท่ากันทั้ง training set, validation set, และ test set (stratified sampling)

เราใช้ NVIDIA V100 หนึ่งเครื่องในการฝึกโมเดลการแปลจากไทยเป็นอังกฤษ และอีกโมเดลสำหรับแปลจากอังกฤษเป็นไทย โมเดลที่เลือกมาใช้มีชื่อว่า Transformer (base; Vaswani, 2017)

ผลออกมาการทดสอบประสิทธิภาพการแปลไทยเป็นอังกฤษ บน test set คือได้ BLEU score = 39.59 และการแปลอังกฤษเป็นไทย ได้ BLEU score = 42.94 (หมายเหตุ 1.) ซึ่งเมื่อเปรียบเทียบกับคู่ภาษาอื่นๆ ที่นักวิจัยจากทั่วโลกรายงานกันมาคือ ถือว่าไม่ได้แย่เลย พูดง่ายๆ คือคำแปลที่ได้มานั้นมีคำและกลุ่มคำเหมือนกับคำแปลที่นักแปลให้มาประมาณ 40% ตัวเลขนี้ถึงแม้จะดูต่ำแต่ก็ถือว่าพอใช้ได้ เพราะว่าการแปลประโยคเดียวกันไม่จำเป็นใช้คำเหมือนกันก็ได้ นักแปลที่เก่ง ๆ สองคนแปลประโยคเดียวกันอาจจะไม่มีคำซ้ำกันเลย (ดูผลการทดลองจากชุดข้อมูลสากล IWSLT 2015 ได้ในหมายเหตุ 2.)

ลองเปรียบเทียบผลการแปลของนักแปล ผลการแปลของเครื่องที่เราเพิ่งสร้างขึ้น และผลการแปลของ Google Translate (เวอร์ชั่นพฤษภาคม 2563) ว่าเทียบเคียงกันได้มั้ย

[Source] ได้ค่ะบอส จะไม่ทำให้ผิดหวังค่ะ

[Manual translation] You got it boss, I wont let you down.

[Our translation] Sure thing boss. I won't disappoint.

[Google translation] Yes, Boss will not disappoint

ประโยคแรกนี้ตั้งใจเลือกให้เป็นประโยคที่เป็นภาษาพูดและมีความละประธานและกรรมที่เป็นสรรพนามออกไปบ้าง (pronoun dropping) ซึ่งเป็นแพทเทิร์นที่คนไทยใช้บ่อยเป็นธรรมชาติ ปรากฏว่าระบบของเราทำได้ดีกว่า Google Translate เพราะระบบของเราได้ฝึกฝนมากับประโยคภาษาพูดด้วยซึ่งอาจจะไม่ได้รวมอยู่ในชุดข้อมูลที่ Google Translate ใช้เทรนโมเดลของบริษัท

ลองมาดูอีกสักตัวอย่างนึง

[Source] ห้องเรียนของคุณอาจกลายเป็นจักรวาล อดีตอาจกลับมามีชีวิตชีวาเหมือนปัจจุบัน และสิ่งที่คุณคุ้นเคยก็อาจกลายเป็นอะไรที่คุณไม่เคยเห็นมาก่อน

[Manual translation] Your classroom could become the cosmos. The past could be as vivid as the present. And the familiar could look like nothing you ’ve ever seen.

[Our translation] Your classroom may become a universe that may come back to life like today and what you are familiar will probably become something you've never seen before

[Google translation] Your classroom may turn into a universe. The past may come back to life as present. And what you are familiar with may become something you have never seen before.

อันนี้ลำบากหน่อยนึงเพราะว่าลองแปลทีละ 2–3 ประโยคพร้อมกัน แต่ปรากฏว่าระบบของเราและระบบของ Google สามารถแปลได้อย่างไม่น่าอายเลยทีเดียว แต่ของ Google มีการย่อยออกมาเป็นประโยคย่อย ๆ ด้วย

แต่แต่แต่แต่

นักแปลจริงๆ ก็ไม่ได้สามารถแปลเอกสารได้ทุกแบบ เช่น ถ้าอยากแปลเอกสารเกี่ยวกับการแพทย์ หรือวิทยาศาสตร์ แปลบอร์ดเกม หรือเอกสารทางกฏหมายต่าง ๆ นักแปลจำเป็นต้องมีความรู้เกี่ยวกับศาสตร์เหล่านั้นรวมถึงเข้าใจ audience ของคนที่จะนำคำแปลไปใช้ด้วย เพราะว่านักแปลจำเป็นต้องเข้าใจเนื้อหาและบริบทในการนำไปใช้ เครื่องแปลที่เราสร้างขึ้นมาด้วยสูตรนี้ก็ประสบปัญหาเดียวกันครับ คือการเป็นนักแปลที่แปลได้แค่เอกสารแบบทั่วๆไป ถ้าเจออะไรเฉพาะเจาะจงก็คงแปลได้ไม่ดีนัก

ปัญหานี้ที่จริงพอจะมีทางออกครับ เราสามารถแก้ปัญหาได้ด้วยการเพิ่มตัวอย่างคู่ประโยคที่เฉพาะเจาะจงกับประเภทเอกสารที่เราต้องการให้เครื่องของเรา specialized มากขึ้น เช่น ถ้าอยากได้เครื่องแปลสัญญาว่าจ้าง เราอาจจะต้องนำสัญญาที่เราเคยจ้างนักแปลทางกฏหมายแปลมาแล้ว จับเข้ามาเป็นส่วนหนึ่งของ training set ผสมรวมกับชุดข้อมูล scb-mt-en-th-2020 และคลังข้อมูลคู่ขนานจากแหล่งอื่นๆ เช่น OpenSubtitles (Lison, 2018)

ถ้าจะนั่งเฉยๆ แล้วรอว่าสักวันนึงกูเกิ้ล หรือบริษัทยักษ์ใหญ่ค่ายอื่น ๆ จะสร้างเทคโนโลยีการแปลภาษาไทยดีๆ เหมาะแก่การเอกสารกำกับยา หรือการแปลเฉพาะด้านแบบอื่น ๆ มันก็คงจะสายไปแล้วหรืออาจจะเป็นสิ่งที่ไม่เกิดขึ้นเลย ซึ่งทำให้เราเห็นถึงความสำคัญของการพัฒนาทักษะ และ capabilities ทางด้าน Data Science ในประเทศไทยที่เฉพาะเจาะจงกับภาษาของเรา และเฉพาะเจาะจงกับบริบทการนำไปใช้ของเราเอง

บทความนี้จัดทำโดยสถาบันวิจัยปัญญาประดิษฐ์ประเทศไทย (AIResearch) และได้รับการสนับสนุนโดย บมจ. ธนาคารไทยพาณิชย์

Facebook & Medium: AIResearch.in.th

อ้างอิง

  1. Byrne, B., Krishnamoorthi, K., Sankar, C., Neelakantan, A., Duckworth, D., Yavuz, S., … & Kim, K. Y. (2019). Taskmaster-1: Toward a Realistic and Diverse Dialog Dataset. arXiv preprint arXiv:1909.05358.
  2. Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., … & Polosukhin, I. (2017). Attention is all you need. In Advances in neural information processing systems (pp. 5998–6008).
  3. Lison, P., Tiedemann, J., & Kouylekov, M. (2019). Open subtitles 2018: Statistical rescoring of sentence alignments in large, noisy parallel corpora. In LREC 2018, Eleventh International Conference on Language Resources and Evaluation. European Language Resources Association (ELRA).

หมายเหตุ

  1. Bilingual Evaluation Understudy (BLEU) score คำนวณโดยการหา precision ของการทาย token เทียบกันระหว่างประโยคที่ทำนายกับประโยคจริง โดยจำกัดคะแนนที่จะได้ของแต่ละคำเป็นจำนวนครั้งที่คำนั้นโผล่มาในประโยคจริง เช่น

[source] the cat is on the table [prediction] the the the the the

จะได้คะแนน BLEU เป็น 2/5 เพราะถึงแม้ทุกคำที่ทำนาย (the x 5) จะอยู่ในประโยคจริงก็ตาม ประโยคจริงนั้นมี the เพียงแค่ 2 คำ ในการทำ Machine Translation สากลนั้นนิยมใช้คือ geometric mean ของ BLEU จาก token ที่เป็น unigram ไปจนถึง 4-gram ที่ถูกคูณด้วย brevity penalty เพื่อลดคะแนนการแปลที่สั้นเกินไป (SacreBLEU: https://github.com/mjpost/sacreBLEU)

ผลการทดลองเปรียบเทียบ BLEU score ระหว่างโมเดลของเราที่เทรนกับข้อมูล 1 ล้านประโยค และ OPUS บน test set ของชุดข้อมูลที่ได้ผ่านการเทรนและไม่ได้ผ่านการเทรน

2. ผลการทดลองเปรียบเทียบโมเดลของเราที่เทรนกับข้อมูล 1 ล้านประโยคกับ API ในท้องตลาดด้วย test set ของ IWSLT 2015 4,242 คู่ประโยคที่มี task แปลภาษาไทย-อังกฤษ โดยใช้ข้อมูลจาก TED Subtitles ระหว่างปี 2010–2013 (ทำการ detokenize ประโยคภาษาไทยก่อนเพื่อการเปรียบเทียบ) ได้ผลดังต่อไปนี้

ผลการทดลองเปรียบเทียบ BLEU scire ระหว่างโมเดลของเราที่เทรนกับข้อมูล 1 ล้านประโยคกับ API ในท้องตลาดด้วย test set ของ IWSLT 2015 4,242 คู่ประโยคที่มี task แปลภาษาไทย-อังกฤษ

※ ณ พฤษภาคม 2563 AI4Thai (https://aiforthai.in.th/service_mt.php) ยังไม่มีบริการแปล th→en จึงไม่มีคะแนนเปรียบเทียบ

เห็นได้ว่าโมเดลพื้นฐาน transformers-base ของเราทำผลงานได้ดีพอๆกับ Google Translate และอาจจะดีกว่าในกรณี th→en (case sensitive) เพราะ Google Translate มีพฤติกรรมชอบ capitalize คำในประโยคแบบแปลกๆ ตัวอย่างการแปลโดยแต่ละโมเดลมีดังต่อไปนี้ คุณคิดว่าโมเดล a-d อันไหนแปลดีที่สุด? อันไหนแปลแย่ที่สุด?

en: Several years ago here at TED, Peter Skillman introduced a design challenge called the marshmallow challenge.

model_a: หลายปีที่แล้วที่ผ่านมาที่นี่ที่ถูกแนะนำให้มีการท้าทายออกแบบการออกแบบรูปแบบถูกเรียกว่าความนิยมถูกกำหนดไว้

model_b: หลายปีที่ผ่านมาที่ TED Peter Skillman แนะนําความท้าทายในการออกแบบที่เรียกว่าความท้าทายมาร์ชเมลโลว์

model_c: เมื่อหลายปีก่อนที่ TED ปีเตอร์ Skillman ได้แนะนำการออกแบบที่เรียกว่าความท้าทายของมาร์ชเมลโล่

model_d: ที่ TED เมื่อ 2 - 3 ปีก่อนคุณปีเตอร์ สกิลแมนได้นำเสนอปริศนาทางดีไซน์ที่เรียกว่าปัญหามาร์ชเมลโล่

en: And the idea's pretty simple: Teams of four have to build the tallest free-standing structure out of 20 sticks of spaghetti, one yard of tape, one yard of string and a marshmallow.

model_a: และทีมที่ทันสมัยมากที่สี่ทีมต้องสร้างสิ่งก่อสร้างที่เหมาะสมห่างจากยี่สิบไม้กอล์ฟจากการป้องกันหนึ่งสนามและสิ่งกีดขวาง

model_b: และความคิดที่ค่อนข้างง่าย: ทีมสี่คนต้องสร้างโครงสร้างที่มีความสูงสูงสุดจาก 20 แท่งสปาเก็ตตี้, หนึ่งสนามของเทป, หนึ่งสนามของสตริงและมาร์ชเมลโลว์

model_c: และความคิดนั้นค่อนข้างเรียบง่าย: ทีมสี่คนต้องสร้างโครงสร้างยืนฟรีที่สูงที่สุดจากสปาเก็ตตี้ 20 แท่งเทปหนึ่งหลาหนึ่งหลาสตริงและมาร์ชเมลโล่

model_d: ไอเดียก็ง่ายๆ ทีมของคน 4 คนต้องสร้างหอคอยอิสระที่สูงที่สุดจากเส้นสปาเก็ตตี้แห้ง 20 เส้น เทปหนึ่งหลา เชือกหนึ่งหลา และขนม มาร์ชเมลโล่หนึ่งชิ้น

en: The marshmallow has to be on top.

model_a: ต้องมีการตรวจสอบบัญชี

model_b: มาร์ชเมลโลว์ต้องอยู่ด้านบน

model_c: มาร์ชเมลโล่จะต้องอยู่ด้านบน

model_d: โดยขนมมาร์ชเมลโล่ต้องอยู่บนยอด

en: And, though it seems really simple, it's actually pretty hard because it forces people to collaborate very quickly.

model_a: ดูเหมือนว่าจะเป็นไปได้ดีจริงเพราะมันแข็งแรงมากเพราะมีผู้คนที่สนับสนุนระบบนี้

model_b: และถึงแม้ว่ามันจะดูเรียบง่ายจริง ๆ แล้วมันค่อนข้างยากเพราะมันบังคับให้ผู้คนทํางานร่วมกันได้อย่างรวดเร็ว

model_c: และถึงแม้ว่ามันจะง่ายจริงๆ แต่ก็ค่อนข้างยากเพราะมันบังคับให้คนทำงานร่วมกันอย่างรวดเร็ว

model_d: แม้ว่าอาจจะฟังดูง่าย แต่จริงๆแล้วก็ยากเหมือนกันนะครับเพราะว่างานนี้ทำให้คนในกลุ่มต้องทำงานร่วมกันในเวลาจำกัด

en: And so, I thought this was an interesting idea, and I incorporated it into a design workshop.

model_a: และดังนั้นฉันคิดว่านี่เป็นการผสมผสานที่น่าสนใจและฉันดึงมันเข้าไปในแบบออกแบบ

model_b: และดังนั้นฉันคิดว่านี่เป็นความคิดที่น่าสนใจและฉันรวมเข้ากับเวิร์คช็อปการออกแบบ

model_c: ดังนั้นฉันคิดว่านี่เป็นความคิดที่น่าสนใจและฉันได้รวมไว้ในการออกแบบเชิงปฏิบัติการ

model_d: ผมคิดว่ามันเป็นไอเดียที่น่าสนใจดีเลยใช้เป็นส่วนหนึ่งของการสัมมนาด้านดีไซน์

en: And it was a huge success.

model_a: และมันเป็นของที่ถูกทำลายที่ใหญ่

model_b: และมันก็ประสบความสําเร็จอย่างมาก

model_c: และมันก็ประสบความสำเร็จอย่างมาก

model_d: ซึ่งก็ประสบความสำเร็จมากๆ

เฉลย:

model_a: AI4Thai MT API (https://aiforthai.in.th/service_mt.php)

model_b: Ours (transformers-based trained on 800K sentence pairs of scb-mt-en-th-2020)

model_c: Google Translate API (ทดสอบเมื่อเดือนพฤษภาคม 2563)

model_d: แปลโดย Paninya Masrangsan รีวิวโดย Kelwalin Dhanasarnsombut

--

--