top of page
  • Writer's pictureSertis

เข้าใจมาตรฐานและวิธีคิดในการอัปเกรด Google Live Translation



เมื่อต้นปี 2020 Google Translate แอปพลิเคชันแปลภาษายอดนิยมของคนทั่วโลกได้เปิดตัวฟีเจอร์ใหม่ที่ถือเป็นการยกระดับเทคโนโลยีการแปลภาษาไปอีกขั้นกับ Live translation ที่จะเป็นการแปลแบบสด ๆ จากการฟังเสียงของผู้พูด ผู้ใช้แค่เปิดฟีเจอร์นี้ขึ้นมาในขณะที่คู่สนทนากำลังพูดอยู่ Live translation ก็จะแปลให้อัตโนมัติและแสดงคำแปลขึ้นมาบนหน้าจอให้อ่านตามไปพร้อม ๆ กันได้เลย นวัตกรรมนี้ช่วยให้ชีวิตเราสะดวกสบายขึ้นมาก เช่น เมื่อเข้าไปฟังสุนทรพจน์ เข้าร่วมการสัมนา หรือแม้แต่ร่วมวงสนทนาของกลุ่มเพื่อนที่ผู้พูดพูดภาษาที่เราไม่เข้าใจ เราก็สามารถใช้ฟีเจอร์นี้ช่วยอำนวยความสะดวก ทำให้เราได้มีอารมณ์ร่วมกับสิ่งที่ผู้พูดกำลังบอกเล่าแบบเรียลไทม์ ปัจจุบันนี้ Google live translation เปิดให้ใช้บริการทั้งหมด 8 ภาษา ได้แก่ อังกฤษ ฝรั่งเศส เยอรมัน ฮินดี โปรตุเกส รัสเซีย สเปน และไทย แม้ฟีเจอร์นี้จะดูเป็นฟีเจอร์ในฝันของใครหลายคน แต่ในปัจจุบัน ปัญหาหลัก 2 ประการที่ผู้ใช้งานต้องเจอคือฟีเจอร์อาจทำงานได้ไม่ดีเท่าที่ควรหากอยู่ในที่ที่มีเสียงรบกวน หรือมีผู้พูดมากกว่าหนึ่งคน และปัญหาหลักอีกอย่างคือการที่คำแปลที่แปลออกมามีการเปลี่ยนแปลงบ่อย ไม่เสถียร เช่น เมื่อได้ฟังคำถัดมาที่ทำให้ความหมายเปลี่ยน ระบบก็จะไปเปลี่ยนคำก่อนหน้าให้เข้ากัน ทำให้คำแปลที่ปรากฎขึ้นมาแล้วมีการเปลี่ยนแปลงแทบจะเกือบตลอดเวลา ผู้ใช้จึงอ่านและตีความคำแปลได้ไม่ลื่นไหลเท่าที่ควร ประเด็นแรกนั้น ทีมนักพัฒนาจาก Google AI ก็พยายามอย่างหนักที่จะพัฒนาให้ฟีเจอร์นี้สามารถใช้งานในสถานการณ์จริงที่มีเสียงรบกวนอยู่ตลอดเวลา และมีการเปิดให้อัปเดตซอฟต์แวร์อยู่เป็นประจำ และเมื่อไม่นานมานี้ จากบทความที่เผยแพร่ในบล็อกของ Google AI ทีมนักพัฒนาเปิดเผยว่าปัจจุบันได้เปิดให้อัปเดตซอฟต์แวร์เวอร์ชันใหม่ที่จะแก้ปัญหาความไม่เสถียรของคำแปลซึ่งเป็นอีกปัญหาหลักได้แล้ว โดยจะลดจำนวนการแก้ไขคำแปลในระหว่างที่ผู้พูดยังพูดไม่จบลง เพื่อให้ผู้ใช้งานได้ประสบการณ์ในการใช้งานที่ดีขึ้น


รู้จัก 3 มาตรฐานของ Google Live Translation

ในขั้นต้นนั้นทีมนักพัฒนาได้ทำการกำหนดตัวชี้วัดในการประเมินคุณภาพของการแปลขึ้นมาก่อน เพื่อให้เห็นว่ามีประเด็นไหนบ้างที่ต้องคำนึงถึง แล้วจึงเริ่มต้นพัฒนาต่อยอด โดยจะกำหนดมาตรฐานที่เกี่ยวข้องกับการสร้างประสบการณ์การใช้งานที่ดีให้ผู้ใช้เป็นหลัก ภายใต้เป้าหมายหลักในการสร้างระบบการแปลที่มีคุณภาพสูงสุด มีความล่าช้าและเปลี่ยนแปลงน้อยที่สุด โดยมาตรฐานที่ควรคำนึงถึงนั้นแบ่งออกเป็น 3 ประเด็น ดังนี้

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

ความล่าช้าในการเปลี่ยนแปลง (Lag): เป็นมาตรฐานที่วัดเวลาที่ใช้โดยเฉลี่ยตั้งแต่ผู้พูดพูดคำหนึ่งออกมา จนระบบทำการแปลคำนั้น และเปลี่ยนแปลงไปจนถึงคำสุดท้ายที่ไม่มีการเปลี่ยนแปลงอีก

มาตรฐาน BLEU (Bilingual evaluation understudy): มาตรฐาน BLEU คือหลักในการประเมินคุณภาพของข้อความที่ได้รับการแปลโดยแมชชีนเลิร์นนิง โดยจะใช้หลักนี้ในการประเมินข้อความที่แปลครบหมดแล้วว่ามีความใกล้เคียงสิ่งที่ผู้พูดพูดมากแค่ไหน

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


เพิ่มความเสถียรของการแปลด้วยวิธีคิดแบบ Masking และ Biasing ในระบบการทำงานของ Google Live Translation นั้น มีการใช้ทั้งระบบการแปล และระบบการตรวจจับคำพูดแบบเรียลไทม์ โดยทุกครั้งที่ระบบตรวจจับคำพูดได้ยินคำพูดใหม่ ๆ ระบบการแปลก็จะทำการแปลทั้งคำพูดที่ได้ยินมาใหม่และปรับคำก่อนหน้าให้ความหมายสอดคล้องมากขึ้นไปพร้อม ๆ กัน การเปลี่ยนแปลงจึงสามารถเกิดได้ทุกวินาที วิธีที่ใช้กันมาก่อนการอัปเดตครั้งนี้คือการยึดคำพูดที่ได้ยินมาให้สำคัญที่สุด และเปลี่ยนคำที่ปรากฎขึ้นแล้วตามคำใหม่เป็นหลัก ซึ่งวิธีนี้เป็นวิธีที่ทำให้แปลได้อย่างรวดเร็ว มีคุณภาพสูง แต่ในขณะเดียวกันก็มีอัตราการลบแปลใหม่สูงเช่นกัน หนึ่งในวิธีที่ช่วยเพิ่มความเสถียรได้ดีที่สุดคือการลดความถี่ในการลบคำแปลใหม่ โดยทางเลือกแรกคือการปรับใช้โมเดล Streaming translation อัจฉริยะ เช่น STACL MILk ที่สามารถเรียนรู้และเข้าใจได้ว่าจุดไหนที่ผู้พูดพูดแล้วให้ข้อมูลเพียงพอแล้ว และสามารถแปลต่อไปได้แบบที่ไม่ทำให้ความหมายผิดเพี้ยน เมื่อเรียนรู้และเข้าใจจุดที่ได้ข้อมูลครบแล้วค่อยทำการแปล ก็จะทำให้ไม่ต้องมีการเปลี่ยนคำภายหลัง ทำให้อัตราการลบแล้วแปลใหม่เป็นศูนย์ อย่างไรก็ตามวิธีนี้อาจทำให้เราต้องมองข้ามประเด็นเรื่องระยะเวลาในการเปลี่ยนแปลง (Lag) และคุณภาพของการแปล (BLEU) ไปเลย เพราะการแปลจะเกิดขึ้นครั้งเดียว ไม่มีการเปลี่ยนแปลงแล้ว และจะล่าช้ามากขึ้นเพราะระบบต้องเก็บข้อมูลให้ครบก่อน และการยึดติดว่าห้ามมีการเปลี่ยนแปลงอาจทำให้คุณภาพในการแปลลดลง การแก้ไขในรูปแบบนี้จึงเป็นการมองข้ามปัจจัยเหล่านี้ไป แทนที่จะปรับทั้งสามมาตรฐานไปพร้อม ๆ กัน ซึ่งการปล่อยให้เกิดการเปลี่ยนแปลงบ้างนั้นอาจช่วยให้คุณภาพในการแปล (BLUE) และระยะเวลาในการแปล (Lag) ดีขึ้น นอกจากนี้การใช้วิธีนี้จะต้องใช้การเทรนโมเดลแมชชีนเลิร์นนิงขึ้นมาใหม่โดยเฉพาะ และในบางกรณียังลดความสดใหม่และเรียลไทม์ของการแปลซึ่งควรจะเป็นฟีเจอร์หลักในการแปลแบบสด ๆ อย่าง Google Live Translation ทีมพัฒนาจาก Google AI มองว่าการปล่อยให้เกิดความเปลี่ยนแปลงและแปลใหม่บ้างนั้นเป็นสิ่งที่ยังรับได้ และโมเดลเดิมที่ใช้กันอยู่นี้ก็ยังนำไปต่อยอดโดยลดการอัตราการลบและแปลใหม่ให้น้อยลงได้ ในขณะที่ยังคงคุณภาพของการแปลได้อยู่ โดยไม่ต้องไปใช้วิธีที่สุดโต่งอย่างการลดความเปลี่ยนแปลงเป็นศูนย์ และไม่ต้องเทรนโมเดลขึ้นมาใหม่ ทางแก้ที่ดีที่สุดที่ทีมพัฒนาค้นพบคือการสอนวิธีคิดแบบ Inference-time heuristic เพิ่มเติมเข้าไปให้กับโมเดลเดิมที่มีอยู่แล้ว โดยวิธีคิดสองรูปแบบที่สอนเพิ่มเติมเข้าไปได้แก่ Masking หรือการปกปิดข้อความและ Biasing หรือวิธีการคิดแบบเอนเอียง ปัญหาหลักของ Live translation คือการที่คำต่าง ๆ ในประโยคมักจะเปลี่ยนแปลงบ่อย เพราะคำเหล่านั้นจะปรับใหม่ไปตามคำหลักในประโยคที่อยู่ถัดมาและยังไม่ปรากฎขึ้น วิธีคิดแบบ Masking จะเข้ามาช่วยตรงนี้ โดยระบบจะทำการซ่อนคำบางส่วนที่มีสิทธิ์เปลี่ยนแปลงได้ง่ายไว้ก่อนจนกว่าผู้พูดจะพูดจะจบประโยค แล้วค่อยปรากฎคำเหล่านั้นขึ้นมาเมื่อได้ใจความครบจบประโยคแล้ว และรู้แน่นอนแล้วว่าจะใช้คำไหน การใช้วิธีนี้จะเป็นการยอมเพิ่มความล่าช้าในการแปลเล็กน้อยแลกกับอัตราการลบแล้วแปลใหม่ที่น้อยลง และยังไม่ทำให้คุณภาพในการแปลลดลงอีกด้วย ในส่วนของวิธีคิดแบบ Biasing นั้นจะใช้เพื่อสอนให้ระบบคิดแบบเอนเอียงไปที่คำที่ปรากฎให้ผู้ใช้เห็นไปแล้ว ซึ่งมักจะเป็นคำหลักที่ไม่เปลี่ยนแปลงง่าย ๆ และแปลตามคำเหล่านั้นเป็นหลัก ซึ่งจะช่วยลดอัตราการลบคำและช่วยให้ระบบการแปลเสถียรมากขึ้น นอกจากนี้ยังช่วยลดความล่าช้าในการแปล เพราะการยึดคำที่แสดงออกมาแล้วเป็นหลักจะช่วยให้ระบบหาคำที่เข้ากันและแปลออกมาได้รวดเร็วขึ้น วิธีคิดแบบ Biasing กับ Masking นั้นทำงานร่วมกันได้อย่างดีเยี่ยม เนื่องจาก Masking จะปิดคำที่ความหมายยังไม่นิ่งไว้ก่อน เป็นการป้องกันไม่ให้ Biasing ยึดคำเหล่านั้นและแปลตาม จนทำให้เกิดการลบแล้วแปลใหม่ อย่างไรก็ตามกระบวนการนี้ต้องอาศัยการปรับแต่งที่เหมาะสม เนื่องจากถ้าหากมี Biasing มากเกินไป และมี Masking ไม่เพียงพออาจจะทำให้เกิดผลเสียได้


อีกก้าวสู่ระบบ Live translation ที่สมบูรณ์แบบ

การสอนแมชชีนเลิร์นนิงที่ใช้ใน Google Live Translation ให้คิดแบบ Masking และ Biasing นั้นช่วยให้ระบบการแปลมีคุณภาพและทำงานได้อย่างรวดเร็ว แม้จะยังคงมีการลบคำแล้วแปลใหม่ ก็เป็นการทำแบบที่ไม่แสดงให้ผู้ใช้งานเห็น ทำให้เพิ่มความเสถียร และลดความสับสนได้มาก

และวิธีนี้ก็ประสบความสำเร็จอย่างสูง วิธีใหม่นี้ช่วยลดอัตราของการลบคำจาก 2.1 เหลือเพียง 0.1 เท่านั้น และเมื่อนำไปเปรียบเทียบกับระบบ Live translation อื่น ๆ ที่ปรับอัตราการลบคำให้เป็นศูนย์ เช่น MILk และ Wait-k ก็ยังพบว่าแม้ระบบของ Google จะยังมีอัตราการลบคำอยู่บ้าง แต่ก็ยังมีประสิทธิภาพที่ดีกว่าระบบอื่น ๆ อยู่ดี

อย่างไรก็ตามความสำเร็จในครั้งนี้เป็นเพียงแค่อีกก้าวหนึ่งที่จะนำไปสู่การพัฒนาโมเดล Live translation ที่มีความสมบูรณ์แบบเท่านั้น ทีมนักพัฒนายังคงต้องทำงานอย่างหนักในการพัฒนาการแปลโดยรวมให้ดีขึ้น ลดความล่าช้าในการแปล และทำให้ฟีเจอร์นี้สามารถใช้ได้จริงท่ามกลางสถานการณ์ที่มีผู้พูดหลายคนให้ได้ในที่สุด




bottom of page