ไทย อังกฤษ จีน ในประโยคเดียว: ทำไมเสียงพูดปนภาษาจึงรู้จำยาก
ในการประชุม ไลฟ์สตรีม และสายบริการลูกค้าในประเทศไทย เป็นเรื่องธรรมดามากที่ประโยคหนึ่งจะมีชื่อแบรนด์ภาษาอังกฤษ คำย่อ หรือชื่อคนจีนปนอยู่ สำหรับผู้พูดแล้วไม่มีอุปสรรคอะไรเลย แต่สำหรับการรู้จำเสียงพูด นี่คือปัญหาอีกประเภทหนึ่งโดยเฉพาะ บทความนี้อธิบายว่าข้อผิดพลาดในเสียงพูดปนภาษามักเกิดตรงไหน และควรให้คะแนนอย่างไร เพื่อไม่ให้ “เขียนต่างกัน” ถูกนับว่า “ฟังผิด”
1. เสียงพูดปนภาษาคืออะไร และยากตรงไหน
การพูดปนภาษา (code-switching) คือผู้พูดคนเดียวสลับใช้หลายภาษาในช่วงเสียงเดียวกัน เมื่อสลับกันภายในประโยค เช่น มีชื่อผลิตภัณฑ์ภาษาอังกฤษแทรกอยู่ในประโยคภาษาไทย เรียกว่าการสลับภายในประโยค (intra-sentential switching) ซึ่งเป็นแบบที่ยากที่สุด
ความยากมาจากสามด้าน:
- ข้อมูล: เสียงที่ใช้ฝึกส่วนใหญ่มีหนึ่งภาษาต่อหนึ่งไฟล์ โมเดลแทบไม่เคยเห็นช่วงเวลาที่การสลับเกิดขึ้น จึงไม่รู้ว่าหลังคำภาษาไทยแล้วอะไรตามมาได้บ้าง
- การออกเสียง: พยัญชนะท้ายพยางค์ในภาษาไทยมีไม่กี่เสียง คำภาษาอังกฤษที่ยืมมาจึงถูกออกเสียงใหม่ให้เข้ากับกฎของภาษาไทย เช่น ball เขียนเป็น บอล และตัวสุดท้ายอ่านเป็นเสียง น คำอังกฤษที่คนไทยพูดจึงไม่เหมือนเสียงของเจ้าของภาษา สิ่งที่โมเดลเรียนรู้จากข้อมูลภาษาอังกฤษจึงนำมาใช้ตรง ๆ ไม่ได้
- อักษร: โมเดลไม่ได้แค่ต้องได้ยินว่าเป็นคำไหน แต่ต้องตัดสินใจด้วยว่าจะเขียนด้วยอักษรอะไร คำเดียวกันเขียนเป็นอักษรละตินก็ได้ เป็นอักษรไทยก็ได้ มีคนใช้ทั้งสองแบบ ส่วนเฉลยในชุดอ้างอิงจะมีเพียงแบบเดียว
2. จุดที่มักผิดพลาด
ชื่อแบรนด์และชื่อผลิตภัณฑ์
คำอย่าง Shopee, LINE และ Grab เขียนด้วยอักษรละตินในหน้าจอของผลิตภัณฑ์ แต่ในการคุยทั่วไปมักเขียนเป็นอักษรไทย เช่น ช้อปปี้ และ ไลน์ โมเดลอาจให้ผลเป็นแบบใดแบบหนึ่ง หรืออาจให้ชุดคำภาษาไทยที่เสียงใกล้เคียงแต่ไม่เกี่ยวกับแบรนด์นั้นเลย ยิ่งแย่ถ้าแบรนด์นั้นเป็นคำที่ใช้ในชีวิตประจำวันด้วย
การสะกดคำยืม
คำยืมบางคำมีการเขียนภาษาไทยที่เป็นที่ยอมรับแล้ว แทบไม่มีใครเขียน คอมพิวเตอร์ ว่า computer แต่บางคำไม่มีรูปที่ตายตัว เช่น “meeting” บางคนเขียน meeting บางคนเขียน มีตติ้ง ประเภทหลังคือจุดที่เกิดข้อโต้แย้งมากที่สุดในการประเมิน
ชื่อคนและชื่อสถานที่ภาษาจีน
เมื่อชื่อจีนอยู่ในประโยคภาษาไทย ผู้พูดอาจอ่านเป็นภาษาจีนกลาง หรืออ่านตามสำเนียงถิ่น เช่น แต้จิ๋ว ไม่ว่าแบบไหน เสียงกับอักษรจีนก็ไม่ได้จับคู่กันแบบหนึ่งต่อหนึ่ง: 李明 กับ 李铭 ออกเสียงเหมือนกันทุกประการ เสียงอย่างเดียวแยกไม่ได้ ต้องอาศัยบริบทหรือรายชื่อบุคคล
รอยต่อระหว่างภาษา
ข้อผิดพลาดมักอยู่ที่หนึ่งหรือสองคำก่อนและหลังจุดที่สลับภาษา ถ้าช่วงที่สลับยาวกว่านั้น โมเดลอาจจำภาษาผิดทั้งช่วง แล้วเขียนวลีภาษาอังกฤษสั้น ๆ เป็นคำไทยที่เสียงคล้ายกัน
ตัวเลข คำย่อ และหน่วย
5G, KPI, “สองล้าน” และ “2 ล้าน” พูดกับเขียนไม่เหมือนกัน และเลขไทย ๑๒๓ ก็ปะปนกับเลขอารบิก 123 ยิ่งมีหลายภาษา วิธีเขียนสิ่งเดียวกันก็ยิ่งมีมากขึ้น
วรรณยุกต์
ทั้งภาษาไทยและภาษาจีนมีวรรณยุกต์ แต่ระบบต่างกัน คำจีนที่แทรกเข้ามาในประโยคไทยบางครั้งถูกพูดด้วยทำนองแบบไทย ทำให้เบาะแสเรื่องวรรณยุกต์อ่อนลง โมเดลจึงต้องพึ่งบริบทมากขึ้น และบริบทก็บางที่สุดตรงจุดที่สลับภาษานั่นเอง
3. สองแนวทางที่พบบ่อย และแต่ละแบบพลาดตรงไหน
การจัดการเสียงพูดหลายภาษามีแนวทางที่พบบ่อยสองแบบ
แบบแรกคือระบุภาษาก่อน แล้วส่งเสียงให้โมเดลของภาษานั้น การสลับระหว่างประโยคไม่มีปัญหา: ประโยคนี้ภาษาไทย ประโยคต่อไปภาษาอังกฤษ ต่างคนต่างไป แต่การสลับภายในประโยคใช้ไม่ได้ เพราะการระบุภาษาทำงานกับทั้งประโยคหรือช่วงที่ยาวกว่านั้น คำภาษาอังกฤษในประโยคจะถูกรู้จำเป็นภาษาไทย และเขียนออกมาเป็นคำไทยที่เสียงคล้ายกัน
แบบที่สองคือโมเดลเดียวที่รองรับหลายภาษา โดยมีคลังคำที่รวมหลายอักษร แบบนี้สลับภายในประโยคได้ แต่คำจากต่างภาษาต้องแข่งกันในคลังคำเดียวกัน เมื่อข้อมูลฝึกมีตัวอย่างที่สลับภาษาน้อย โมเดลมักอยู่กับภาษาหลักของประโยค และดึงคำที่แทรกเข้ามาไปทางภาษานั้น
ทั้งสองแบบต้องตรวจด้วยชุดทดสอบที่มีการสลับภาษา คะแนนที่ดีบนชุดทดสอบภาษาเดียวไม่ได้แปลว่าเสียงพูดปนภาษาจะดีด้วย
4. การให้คะแนน: WER และ CER ไม่พอ
ภาษาไทยไม่เว้นวรรคระหว่างคำ WER จึงขึ้นอยู่กับตัวตัดคำ ซึ่งเราอธิบายไว้ในอีกบทความหนึ่งเรื่องการตัดคำภาษาไทยและ CER ภาษาจีนก็เป็นเช่นเดียวกัน ส่วนภาษาอังกฤษโดยทั่วไปนับเป็นคำ การนับเป็นตัวอักษรจะขยายความต่างให้เกินจริง ในข้อความปนภาษาหนึ่งบรรทัดจึงไม่มีหน่วยเดียวที่เหมาะกับทั้งสามอักษร
วิธีที่ใช้กันทั่วไปคืออัตราความผิดพลาดแบบผสม (MER) คือให้แต่ละอักษรใช้หน่วยที่เหมาะกับตัวเอง ตัดประโยคเป็น token แล้วคำนวณระยะแก้ไขรวมกันทั้งหมด
MER = (S + D + I) / N
S, D และ I คือจำนวน token ที่ถูกแทนที่ ถูกลบ และถูกเพิ่ม ส่วน N คือจำนวน token ในข้อความอ้างอิง การตัด token ทำดังนี้:
- อักษรไทย: นับเป็นตัวอักษร สระและวรรณยุกต์นับเป็นหนึ่งตัวเช่นกัน
- อักษรจีน: นับเป็นตัว
- ตัวอักษรอังกฤษและตัวเลข: ชุดที่ติดกันต่อเนื่องนับเป็นหนึ่งคำ
ลองดูตัวอย่างตามหลักเกณฑ์นี้
- ข้อความอ้างอิง: ผมคุยกับ 李明 เรื่อง Shopee
- ผลลัพธ์ A: ผมคุยกับ 李名 เรื่อง shopee หลังทำให้เป็นมาตรฐานแล้วมี token เดียวที่ต่างกัน คือ 名 กับ 明 ผิด 1 ตัว ตัวพิมพ์เล็กใหญ่ไม่นับ
- ผลลัพธ์ B: ผมคุยกับ 李明 เรื่อง ช้อปปี้ เสียงถูกต้องทั้งหมด แต่ชื่อแบรนด์ถูกเขียนเป็นอักษรไทย ผิด 7 ตัว: แทนที่ 1 และเพิ่ม 6
- ความหมาย: 李明 คือชื่อคนจีน อ่านว่า หลี่หมิง ในภาษาจีนกลาง
ตัวอย่าง B แสดงให้เห็นว่าทำไมต้องกำหนดข้อตกลงเรื่องอักษรไว้ก่อน คำภาษาอังกฤษหนึ่งคำนับเป็นเพียง 1 token ในข้อความอ้างอิง สะกดผิดหนึ่งตัวอักษรเสียแค่ 1 แต่ถ้าเปลี่ยนไปเขียนเป็นอักษรไทยจะมี 7 ตัวอักษร เสีย 7 ทั้งที่สิ่งที่ได้ยินเหมือนกัน
MER ยังมีจุดบอด ตัวหารส่วนใหญ่เป็นอักษรไทย ส่วนคำภาษาอังกฤษและชื่อคนจีนมีสัดส่วนน้อย MER รวมอาจดูต่ำ ทั้งที่คำเฉพาะผิดอยู่หลายแห่ง ดังนั้นนอกจาก MER รวมแล้ว ควรรายงานอัตราความผิดพลาดแยกตามภาษา และอัตราความผิดพลาดที่คำนวณเฉพาะ token ตรงจุดที่สลับภาษา
5. การปรับข้อความให้เป็นมาตรฐานเดียวกันก่อนให้คะแนน
การปรับข้อความให้เป็นมาตรฐานเดียวกันต้องทำกับข้อความอ้างอิงและผลลัพธ์ด้วยวิธีเดียวกัน และเขียนกฎไว้ก่อนการประเมิน:
- Unicode ใช้ NFKC ตัวอักษรเต็มความกว้างแปลงเป็นครึ่งความกว้าง และลำดับสระกับวรรณยุกต์ของอักษรไทยเป็นไปตาม [กฎลำดับสระและวรรณยุกต์]
- ภาษาอังกฤษแปลงเป็นตัวพิมพ์เล็ก ส่วนการคำนวณความผิดพลาดของคำจะตัดเครื่องหมายวรรคตอนออกทั้งหมด (หากต้องการประเมินวรรคตอนแยกต่างหาก ให้รวมรูปแบบเต็มความกว้างและครึ่งความกว้างให้ตรงกันก่อน)
- อักษรจีนปรับตัวเต็มกับตัวย่อให้เป็นรูปแบบเดียวกัน
- รูปแบบตัวเลขทำให้เป็นแบบเดียวกัน: เลขไทยกับเลขอารบิกนับเป็นอย่างเดียวกัน ส่วนตัวเลขที่พูดกับตัวเลขที่เขียน ให้เลือกแบบเดียวในแนวทางการกำกับข้อมูล (Annotation)
ส่วนที่สำคัญที่สุดคือกฎเรื่องคำยืม เราแนะนำให้เขียนเป็นสามข้อ:
- ชื่อแบรนด์ ชื่อผลิตภัณฑ์ และคำย่อ คงตัวอักษรละตินเดิม
- คำยืมที่มีการเขียนภาษาไทยเป็นที่ยอมรับแล้ว ให้เขียนเป็นภาษาไทย เช่น คอมพิวเตอร์
- ชื่อคนและชื่อสถานที่ภาษาจีน เขียนเป็นอักษรจีน
รายการชื่อเรียกอื่น (alias) ใส่เฉพาะการเขียนที่แนวทางอนุญาตไว้ชัดเจน ต้องกำหนดก่อนรันการประเมิน ใช้ชุดเดียวกันกับทุกระบบ และเผยแพร่พร้อมผลลัพธ์ รายการนี้เป็นที่ที่ปรับคะแนนให้ดีขึ้นได้ง่ายที่สุดโดยไม่มีใครรู้ รายการที่เพิ่มหรือลบทีหลังจึงไม่นับเป็นการปรับข้อความให้เป็นมาตรฐานเดียวกัน
6. การสร้างชุดทดสอบ
- ใช้บทสนทนาจริง ไม่ใช่การอ่านจากรายการคำ ชื่อแบรนด์ที่อ่านออกเสียงจะออกเสียงชัดเกินไปและห่างจากการใช้จริงมาก
- กำกับข้อมูล (Annotate) ตามแนวทางเดียว โดยให้สองคนกำกับข้อมูลไฟล์เดียวกัน เมื่อเห็นไม่ตรงกันให้แก้ไขแนวทาง ไม่ใช่ตัดสินเป็นรายกรณี
- ทุกประโยคให้บันทึกว่าใช้ภาษาใดบ้าง สลับกี่ครั้ง และชนิดของการสลับ คือแทรกหนึ่งคำ แทรกหนึ่งวลี หรือสลับทั้งประโยค รายงานผลแยกตามกลุ่มเหล่านี้ จะได้เห็นว่าข้อผิดพลาดเพิ่มขึ้นตามจำนวนการสลับหรือไม่ และการสลับแบบไหนยากที่สุด
- ชื่อแบรนด์และชื่อคนในชุดทดสอบต้องไม่เข้าไปอยู่ในข้อมูลฝึก และต้องไม่อยู่ในรายการคำที่ใช้ปรับแต่ง
ขนาด เวอร์ชัน และวันที่ทดสอบของชุดข้อมูลเสียงพูดปนภาษาที่เราสร้างเอง อยู่ในหน้าผลทดสอบสาธารณะ
7. สิ่งที่เราทำ
ในผลิตภัณฑ์ ชื่อแบรนด์ภาษาอังกฤษและชื่อคนจีนที่อยู่ในประโยคจะถูกแสดงตามภาษาที่ผู้พูดใช้จริง ไม่ถูกบังคับให้ทับศัพท์เป็นภาษาไทย ส่วนการประเมิน ตัวชี้วัดหลักของชุดเสียงพูดปนภาษาคือ MER ชุดทดสอบ กฎการปรับข้อความให้เป็นมาตรฐานเดียวกัน และวิธีคำนวณอยู่ในหน้าผลทดสอบสาธารณะ