ภาษาไทยไม่มีช่องว่าง: ระบบรู้จำเสียงจัดการการตัดคำและการประเมินผลอย่างไร
ภาษาไทยเขียนโดยไม่เว้นวรรคระหว่างคำ ช่องว่างมักปรากฏเฉพาะระหว่างวลีหรือประโยค ทำให้ “ผลที่รู้จำได้ควรแบ่งคำตรงไหน” กลายเป็นปัญหาแยกต่างหาก และทำให้อัตราความผิดพลาดระดับคำ (WER) ซึ่งเป็นตัวชี้วัดที่ใช้กันทั่วไป ไม่คงที่เมื่อใช้กับภาษาไทย บทความนี้อธิบายตัวชี้วัดและวิธีปรับข้อความให้เป็นมาตรฐานที่เราใช้ในการประเมินการรู้จำเสียงภาษาไทย
1. ทำไมภาษาไทยจึงไม่มีช่องว่าง
ภาษาไทยเป็นระบบเขียนที่เขียนติดกัน คำในประโยคต่อกันโดยไม่เว้นวรรค ผู้อ่านแบ่งคำเองจากความรู้เรื่องคำศัพท์ ช่องว่างในภาษาไทยทำหน้าที่คล้ายจุลภาคหรือมหัพภาค คือใช้คั่นวลีและประโยค
สำหรับการรู้จำเสียง โมเดลจะให้ผลลัพธ์เป็นสายอักขระต่อเนื่อง หากระบบปลายทางต้องการค้นหา แปล หรือขึ้นบรรทัดใหม่ในซับไตเติล ก็ต้องตัดคำอีกครั้ง และการตัดคำเองก็กำกวม สายอักขระเดียวกันอาจตัดได้ถูกต้องมากกว่าหนึ่งแบบ ตัวตัดคำแต่ละตัวยังใช้พจนานุกรมและกฎต่างกันด้วย
2. ทำไม WER จึงไม่คงที่กับภาษาไทย
อัตราความผิดพลาดระดับคำ (WER) นับจำนวนการแทนที่ การลบ และการแทรกเป็นรายคำ แล้วหารด้วยจำนวนคำในข้อความอ้างอิง สำหรับภาษาไทย ทั้งข้อความอ้างอิงและผลการรู้จำต้องผ่านการตัดคำก่อนจึงจะคำนวณได้ ตัวตัดคำจึงกลายเป็นส่วนหนึ่งของการประเมินผล เมื่อเปลี่ยนตัวตัดคำ จำนวนคำและการจัดแนวก็เปลี่ยนไป ค่า WER จึงเปลี่ยนตามไปด้วย
อัตราความผิดพลาดระดับอักขระ (CER) นับเป็นรายอักขระ ไม่ต้องตัดคำ ผลลัพธ์จึงขึ้นกับข้อความสองชุดนั้นเท่านั้น ด้วยเหตุนี้การรู้จำเสียงภาษาไทยจึงนิยมใช้ CER เป็นตัวชี้วัดหลัก
CER = (S + D + I) / N
S จำนวนอักขระที่ถูกแทนที่
D จำนวนอักขระที่ถูกลบ
I จำนวนอักขระที่ถูกเพิ่ม
N จำนวนอักขระในข้อความอ้างอิง
CER ก็มีข้อจำกัด คือนับการผิดหนึ่งอักขระกับการผิดหนึ่งคำเท่ากัน และบอกไม่ได้โดยตรงว่าประโยคอ่านลื่นหรือไม่ เราจึงรายงาน WER ที่ใช้ตัวตัดคำคงที่ไว้ด้วยเพื่อใช้อ้างอิง
3. การปรับข้อความให้เป็นมาตรฐานก่อนประเมินผล
สระและวรรณยุกต์ในภาษาไทยเขียนไว้เหนือหรือใต้พยัญชนะ ตัวอักษรที่ดูเหมือนกันอาจเข้ารหัสใน Unicode ได้หลายแบบ:
- สระ ำ (U+0E33) อาจเขียนเป็น ํ (U+0E4D) ตามด้วย า (U+0E32) ซึ่งแสดงผลเกือบเหมือนกัน
- ลำดับการพิมพ์วรรณยุกต์กับสระบนที่ต่างกัน จะได้ลำดับรหัสอักขระที่ต่างกัน
- เลขไทย ๑๒๓ กับเลขอารบิก 123 ปะปนกัน รวมถึงสัญลักษณ์แบบเต็มความกว้างและครึ่งความกว้างปะปนกัน
หากไม่ปรับให้ตรงกันก่อน ความต่างเหล่านี้จะถูกนับเป็นข้อผิดพลาดของการรู้จำทั้งหมด ก่อนคำนวณตัวชี้วัด เราจึงปรับข้อความอ้างอิงและผลการรู้จำด้วยวิธีเดียวกัน ได้แก่ ปรับตามมาตรฐาน Unicode, [กฎลำดับสระและวรรณยุกต์], ทำให้ตัวเลขและเครื่องหมายวรรคตอนเป็นรูปแบบเดียวกัน และตัดช่องว่างส่วนเกิน
4. สิ่งที่เราทำ
- ตัวชี้วัดหลักคือ CER คำนวณหลังปรับข้อความตามขั้นตอนข้างต้น
- ตัวชี้วัดอ้างอิงคือ WER โดยตัดคำด้วย [ชื่อและเวอร์ชันของตัวตัดคำ] เสมอ
- ทุกตัวเลขระบุชุดทดสอบ เวอร์ชันโมเดล ฮาร์ดแวร์ และวันที่ทดสอบ
- ดูวิธีประเมินผลฉบับเต็มและดาวน์โหลดผลลัพธ์ดิบ (CSV) ได้ที่หน้าผลทดสอบสาธารณะ