เมื่อฐานปฏิบัติการในประเทศไทยเริ่มนำ Generative AI เข้ามาใช้ มักมีรายงานกลับมาว่า งานภาษาญี่ปุ่นหรือภาษาอังกฤษทำได้ตามที่คาดไว้ แต่พอเป็นภาษาไทยความแม่นยำกลับตกลง หน้างานส่วนใหญ่ตอบสนองด้วยการเปลี่ยนไปใช้โมเดลตัวอื่น แล้วอาการก็มักไม่หาย เพราะเมื่อ Generative AI ภาษาไทย ทำงานไม่เข้าเป้า สิ่งที่พังไม่ใช่ตัวโมเดล แต่เป็นการประมวลผลอักขระและคำที่อยู่ต้นทางก่อนถึงโมเดล บทความนี้แบ่งการประมวลผลภาษาไทยออกเป็น 4 ชั้น แล้วเรียบเรียงว่าถ้าแก้ชั้นไหนแล้วอะไรจะดีขึ้น โดยจำแนกตามลักษณะงาน
เมื่อมีรายงานว่า Generative AI ภาษาไทย ไม่แม่นยำ สิ่งที่เกิดขึ้นจริงคืออะไร
รายงานชุดแรกที่ขึ้นมาจากฐานปฏิบัติการในไทย มักอยู่ในสามรูปแบบนี้
- สั่งให้ค้นหาเอกสารภายใน แล้วเอกสารที่ควรจะมีอยู่กลับไม่ปรากฏ แต่พอถามคำถามเดียวกันเป็นภาษาญี่ปุ่นกลับเจอ
- ให้รวมยอดจากรายงานประจำวันหรือบันทึกการตรวจสอบที่เขียนเป็นภาษาไทย แล้วผลรวมไม่ตรงกับความรู้สึกของหน้างาน บันทึกของเครื่องจักรตัวเดียวกันถูกแยกออกเป็นสองรายการ
- งานแปลและงานสรุปทำได้ แต่สำนวนแข็ง ชื่อเฉพาะเพี้ยนไป ระดับความสุภาพไม่สม่ำเสมอ
ทั้งสามแบบไม่ได้ผิดตลอดเวลา แต่ผิดเป็นครั้งคราว ตรงนี้แหละที่ทำให้จัดการยาก ถ้าพังทุกครั้งเราจะสงสัยการตั้งค่าทันที แต่สิ่งที่พังเป็นครั้งคราวนั้นเขียนขั้นตอนทำซ้ำไม่ได้ และข้อบกพร่องที่เขียนขั้นตอนทำซ้ำไม่ได้ มักถูกข้ามขั้นตอนการหาสาเหตุ แล้วลงเอยที่คำอธิบายว่าโมเดลยังเก่งไม่พอ
จากนั้นทีมงานก็เปลี่ยนโมเดล ไปหาโมเดลที่ใหม่กว่า ใหญ่กว่า หรือโมเดลที่ประกาศว่ารองรับภาษาไทย แต่อาการยังคงอยู่ในรูปแบบเดิม จำนวนครั้งที่ค้นหาไม่เจออาจลดลงเล็กน้อย แต่เอกสารที่ค้นไม่เจอก็ยังคงค้นไม่เจออยู่ดี
เหตุผลนั้นตรงไปตรงมา โมเดลอยู่ปลายน้ำที่สุดของกระบวนการ ข้อความที่พังมาตั้งแต่ต้นน้ำ หรือคำที่ถูกตัดผิดตำแหน่งตั้งแต่ต้นน้ำ จะกลายเป็นอินพุตของโมเดลตามสภาพนั้น เมื่ออินพุตพัง โมเดลตัวไหนก็สะดุดที่จุดเดียวกัน ที่เปลี่ยนโมเดลแล้วไม่หาย ก็เพราะยังไม่มีใครลงมือแก้ในจุดที่ควรแก้
บทความนี้แบ่งการประมวลผลภาษาไทยออกเป็น 4 ชั้น คือ ชั้นอักขระ ชั้นคำ ชั้นโทเคน และชั้นความหมาย จุดประสงค์ของการแบ่งชั้นคือ เพื่อแยกให้ออกว่าอาการไหนเป็นปัญหาของชั้นใด แล้วจึงกำหนดลำดับการแก้ได้ ถ้าลำดับผิด งบประมาณและเวลาส่วนใหญ่จะถูกดูดไปที่ชั้นสุดท้าย
การประมวลผลภาษาไทยแบ่งได้เป็น 4 ชั้น — อักขระ คำ โทเคน ความหมาย
กว่าเอกสารภาษาไทยจะไปถึง Generative AI มันต้องผ่าน 4 ชั้น เรียงจากต้นน้ำลงมาคือ ชั้นอักขระ ชั้นคำ ชั้นโทเคน และชั้นความหมาย
| ชั้น | ชั้นนี้กำหนดอะไร | ถ้าชั้นนี้พังจะเกิดอะไรขึ้น | จุดที่ต้องแก้ |
|---|---|---|---|
| ชั้นที่ 1 ชั้นอักขระ | ทำให้ข้อความเดียวกันมีลำดับไบต์ชุดเดียวกัน | ค้นหาแล้วไม่ตรงกัน คำเดียวกันถูกนับเป็นคนละคำ | กระบวนการทำข้อความให้เป็นรูปแบบมาตรฐาน |
| ชั้นที่ 2 ชั้นคำ | จะตัดคำที่ตำแหน่งไหน | การค้นหา การแบ่งชังก์ การจับคู่คีย์เวิร์ด และการประเมิน พังพร้อมกัน | พจนานุกรมสำหรับการตัดคำ |
| ชั้นที่ 3 ชั้นโทเคน | จะนับเป็นกี่โทเคน | ค่าใช้จ่ายเพิ่มขึ้น ปริมาณเอกสารที่ใส่ในคอนเท็กซ์ได้ลดลง | การเลือกโมเดลและโทเคนไนเซอร์ |
| ชั้นที่ 4 ชั้นความหมาย | จะตีความและสร้างข้อความอย่างไร | สำนวนแข็ง ไม่ทำตามคำสั่ง สร้างข้อเท็จจริงขึ้นมาเอง | การเลือกโมเดลและการออกแบบพรอมป์ |

สี่ชั้นนี้มีคุณสมบัติที่ต่างกันอยู่หลายข้อในเชิงปฏิบัติ
ยิ่งอยู่ต้นน้ำ ทำครั้งเดียวก็ได้ผลต่อเนื่อง การทำข้อความให้เป็นรูปแบบมาตรฐานในชั้นที่ 1 เมื่อวางไว้ที่ทางเข้าแล้ว เอกสารที่เพิ่มเข้ามาภายหลังก็ได้รับผลโดยอัตโนมัติ ต่างจากค่าใช้บริการโมเดลในชั้นที่ 3 ที่เกิดขึ้นตามปริมาณการใช้งานไปเรื่อย ๆ
ยิ่งอยู่ต้นน้ำ เวลาพังยิ่งกระทบเป็นวงกว้าง ถ้าชั้นที่ 1 พัง ทั้งการค้นหา การรวมยอด และการสรุป จะเพี้ยนพร้อมกัน แต่ถ้าอ่อนเฉพาะชั้นที่ 4 ผลกระทบจะจำกัดอยู่แค่คุณภาพของข้อความที่สร้างออกมา
และยิ่งอยู่ต้นน้ำ อาการยิ่งดูเหมือนเป็นความผิดของโมเดล ความล้มเหลวของชั้นที่ 1 และชั้นที่ 2 แสดงออกในรูปแบบที่เกิดเป็นครั้งคราว จึงมักถูกโยนความรับผิดชอบไปให้ปลายน้ำโดยที่ไม่มีใครระบุสาเหตุได้
เท่าที่เห็นจากฐานปฏิบัติการในไทย เรื่องที่ถูกนำเข้ามาปรึกษาในนามของปัญหาความแม่นยำนั้น ส่วนใหญ่อธิบายได้ด้วยชั้นที่ 1 และชั้นที่ 2 ส่วนเรื่องที่ควรจัดการในฐานะปัญหาของชั้นที่ 4 นั้น จะแยกแยะออกได้ก็ต่อเมื่อทำต้นน้ำให้แน่นเสียก่อน
ชั้นที่ 1 ชั้นอักขระ — ภาษาไทยที่หน้าตาเหมือนกันแต่ข้างในต่างกัน
สิ่งที่ต้องทำในชั้นที่ 1 มีอย่างเดียว คือ ทำให้ข้อความที่มีความหมายเดียวกัน มีลำดับไบต์ชุดเดียวกัน
ในภาษาไทย งานนี้มีเงื่อนไขเฉพาะตัวมากกว่าภาษาที่เขียนเรียงตัวอักษรในบรรทัดเดียว เพราะอักษรไทยวางรูปสระและวรรณยุกต์ซ้อนอยู่ด้านบน ด้านล่าง ด้านหน้า และด้านหลังของพยัญชนะ รูปสระบนกับวรรณยุกต์ที่ซ้อนอยู่ด้านบนนั้น ต่อให้พิมพ์สลับลำดับกัน หน้าจอก็แสดงผลออกมาแทบจะเหมือนกัน สายตาคนอ่านเห็นเป็นคำเดียวกัน แต่สำหรับคอมพิวเตอร์แล้วมันคือข้อความคนละชุด
นอกจากนี้ เอกสารภาษาไทยยังมีความไม่สม่ำเสมอแบบอื่นปนอยู่ด้วย
- มีอักขระคั่นที่มองไม่เห็นฝังอยู่ในเนื้อความ ใช้สำหรับควบคุมตำแหน่งตัดบรรทัด และจะมีหรือไม่มีขึ้นอยู่กับว่าคัดลอกมาจากไหน
- ปีเขียนเป็นพุทธศักราช ในบันทึกการตรวจสอบและสัญญา การใช้ พ.ศ. เป็นเรื่องปกติมากกว่า ค.ศ.
- ตัวเลขเขียนเป็นเลขไทย บางครั้งปนอยู่เฉพาะบางส่วนของหมายเลขล็อตหรือหมายเลขแบบ
- ชื่อเครื่องจักรและรหัสที่เป็นภาษาอังกฤษ มีทั้งแบบเต็มความกว้างและครึ่งความกว้าง ทั้งตัวพิมพ์ใหญ่และตัวพิมพ์เล็กปนกัน
หน้างานเห็นเป็นอย่างไร เมื่อนำข้อมูลหลักของเครื่องจักรมาจับคู่กับรายงานประจำวันภาษาไทย ระบบขึ้นว่าไม่พบรายการที่ตรงกัน ผู้รับผิดชอบเปิดดูทั้งสองฝั่งบนหน้าจอแล้วเห็นเป็นข้อความเดียวกันทุกประการ เรื่องจึงกลายเป็นว่าระบบค้นหามีปัญหา แล้วไหลไปสู่การพูดถึงการตั้งค่าเสิร์ชเอนจินหรือการเปลี่ยนโมเดล ทั้งที่ความจริงอาจเป็นเพียงว่าฝั่งหนึ่งมีอักขระที่มองไม่เห็นแทรกอยู่หนึ่งตัวเท่านั้น
วิธีแก้ชั้นที่ 1 นั้นดูไม่หวือหวาในเชิงฟังก์ชัน คือรวมทางเข้าของการนำเข้าข้อมูลให้เหลือทางเดียว แล้วบังคับให้ทุกอย่างผ่านการทำให้เป็นรูปแบบมาตรฐานที่จุดนั้น พูดให้เจาะจงคือ การนอร์มัลไลซ์อักขระ การตัดอักขระคั่นที่มองไม่เห็นออก การแปลงเลขไทยเป็นเลขอารบิก การแปลงพุทธศักราชเป็นคริสต์ศักราช และการทำรูปแบบตัวอักษรกับตัวเลขภาษาอังกฤษให้เป็นแบบเดียวกัน มีเท่านี้
สิ่งสำคัญคือ ตำแหน่งที่วางกระบวนการนี้ ถ้าเขียนโค้ดนอร์มัลไลซ์กระจายไว้ทั้งฝั่งค้นหา ฝั่งรวมยอด และฝั่งสรุป พอแก้ที่หนึ่งแล้วอีกที่จะไม่ตรงกัน การตกลงกันว่าให้ผ่านที่ทางเข้าเพียงครั้งเดียว และปลายน้ำจะรับเฉพาะข้อความที่ผ่านการนอร์มัลไลซ์แล้วเท่านั้น จะทำให้การดูแลระบบภายหลังง่ายกว่ามาก
จะรู้ได้อย่างไรว่าชั้นที่ 1 แน่นแล้ว ตรวจด้วยตัวเลขได้ ไม่ต้องใช้สายตา ให้นับว่าคำที่ควรจะเป็นคำเดียวกัน แตกออกเป็นข้อความกี่รูปแบบ ตราบใดที่จำนวนนี้ยังลดลงได้ แปลว่างานของชั้นที่ 1 ยังเหลืออยู่
ชั้นที่ 2 ชั้นคำ — ในภาษาที่ไม่มีช่องว่าง ยังไม่มีใครตัดสินใจว่าจะตัดตรงไหน
นี่คือชั้นที่สำคัญที่สุดสำหรับ Generative AI ภาษาไทย
บทความวิชาการของ PyThaiNLP อธิบายวิธีเขียนภาษาไทยไว้ว่า “Thai is a scriptio continua” ซึ่งหมายถึงว่ารูปแบบการเขียนที่พบทั่วไปที่สุดคือการไม่มีช่องว่างหรือเครื่องหมายคั่นใด ๆ ทั้งระหว่างคำและระหว่างประโยค นั่นคือประโยคภาษาไทยไม่ได้แยกคำให้เห็นด้วยสายตาแบบภาษาญี่ปุ่น และไม่ได้คั่นด้วยช่องว่างแบบภาษาอังกฤษ แต่เขียนเป็นสายอักขระที่ต่อเนื่องกันไป

ผลก็คือ ฝั่งคอมพิวเตอร์ต้องตัดสินใจเองว่าจะตัดคำที่ตำแหน่งไหน กระบวนการนี้เรียกว่าการตัดคำ หรือ word segmentation ระบบใดก็ตามที่จัดการภาษาไทย ไม่ว่าจะโดยตั้งใจหรือโดยปริยาย ล้วนต้องตัดคำที่จุดใดจุดหนึ่งเสมอ
ปัญหาคือ กระบวนการที่พึ่งพาวิธีตัดคำนี้ ไม่ได้มีแค่กระบวนการเดียว
- การสร้างดัชนีสำหรับการค้นหา สร้างขึ้นโดยใช้คำที่ถูกตัดแล้วเป็นหน่วย
- การแบ่งชังก์ของ RAG ใช้ขอบเขตของคำและประโยคเป็นเบาะแสในการตัดแบ่ง
- การจับคู่คีย์เวิร์ดและการเทียบพจนานุกรม นำคำที่ถูกตัดแล้วไปเทียบกับคำในพจนานุกรม
- การประเมินความแม่นยำ ก็เปรียบเทียบกับเฉลยโดยใช้หน่วยที่ถูกตัดแล้วเช่นกัน
พูดอีกอย่างคือ ถ้าวิธีตัดคำเปลี่ยน ทั้งสี่อย่างนี้จะเปลี่ยนพร้อมกัน และในทางกลับกัน ถ้าวิธีตัดคำไม่ดี ทั้งสี่อย่างก็จะพังพร้อมกัน ยิ่งไปกว่านั้น รูปแบบความพังไม่สม่ำเสมอ อาการจึงออกมาเป็นแบบที่ว่า ค้นหาแล้วบางทีเจอบางทีไม่เจอ
ในเอกสารของฐานปฏิบัติการในไทย จุดที่การตัดคำพังง่ายที่สุดคือชื่อเฉพาะภายในองค์กร ทั้งชื่อเครื่องจักร ชื่อชิ้นส่วน ตัวย่อภายในบริษัท และชื่อไลน์ผลิต คำเหล่านี้ไม่มีอยู่ในพจนานุกรมทั่วไป และคำที่ไม่มีในพจนานุกรมจะถูกตัวตัดคำแบบค่าเริ่มต้นแยกออกเป็นชุดคำที่ใกล้เคียง วิธีที่มันถูกแยกยังเปลี่ยนไปตามอักขระที่อยู่ข้างหน้าและข้างหลัง ชื่อเครื่องจักรตัวเดียวกันจึงถูกตัดคนละแบบในแต่ละเอกสาร
หน้างานเห็นเป็นอย่างไร รายงานประจำวันของเครื่องจักรตัวเดียวกัน ปรากฏในตารางสรุปเป็นเครื่องจักรสองตัว ผู้รับผิดชอบรายงานว่ามีเครื่องอยู่เครื่องเดียวแต่ขึ้นสองแถว ทั้งที่สาเหตุไม่ได้อยู่ที่ข้อมูลหลักของเครื่องจักรหรือการคีย์ข้อมูล แต่อยู่ที่ตอนตัดเอกสารออกเป็นคำ ชื่อนั้นถูกแตกออกเป็นสองแบบไปแล้ว
วิธีแก้ชั้นที่ 2 คือสร้างพจนานุกรมชื่อเฉพาะภายในองค์กร แล้วให้ตัวตัดคำอ่านพจนานุกรมนั้น งานนี้เป็นงานรวบรวมคำศัพท์ร่วมกับทีมงานหน้างานมากกว่าจะเป็นงานเทคนิค และเนื่องจากต้องเพิ่มคำทุกครั้งที่มีเครื่องจักรหรือชิ้นส่วนใหม่เข้ามา จึงไม่ใช่งานที่ทำครั้งเดียวจบ
แนวทางการประกอบระบบค้นหาความรู้แบบหลายภาษา เราเขียนไว้ใน แนวทางสร้างระบบค้นหาความรู้ในโรงงานด้วย RAG ด้วยเช่นกัน เมื่อออกแบบการค้นหาที่มีภาษาไทยรวมอยู่ ถ้าตัดสินใจไว้ก่อนว่าจะรับประกันชั้นที่ 2 ตรงจุดไหน งานย้อนกลับมาแก้จะน้อยลง
อ่านตัวเลขความแม่นยำการตัดคำ 71.18% อย่างไร
การตัดคำภาษาไทยมีเบนช์มาร์กที่เผยแพร่ต่อสาธารณะอยู่ ตามบทความวิชาการของ PyThaiNLP NewMM ซึ่งเป็นเอนจินค่าเริ่มต้นของ PyThaiNLP ทำได้ 71.18% บนเบนช์มาร์ก BEST 2010 ขณะที่ระดับสูงสุดในช่วงเวลาเดียวกันอยู่ที่ 95.60%
NewMM ทำงานด้วยวิธีจับคู่ยาวที่สุดโดยอิงพจนานุกรม หรือ maximum matching และใช้ Thai Character Cluster เป็นข้อจำกัดของขอบเขตการตัด หลักการพื้นฐานคือหยิบคำที่มีอยู่ในพจนานุกรมให้ยาวที่สุดเท่าที่จะทำได้
เวลาอ่านตัวเลขนี้ มีสามประเด็นที่พลาดไม่ได้
ข้อแรก 71.18% คือประสิทธิภาพของค่าเริ่มต้น ไม่ใช่เพดานของการประมวลผลภาษาไทย บนเบนช์มาร์กเดียวกันนั้น มีวิธีที่ทำได้ 95.60% อยู่ในช่วงเวลาเดียวกัน การดูตัวเลขที่ได้จากการใช้งานโดยไม่ตั้งค่าอะไรเลย แล้วสรุปว่าการตัดคำภาษาไทยทำได้ราวเจ็ดสิบเปอร์เซ็นต์ จึงเป็นการสรุปที่เร็วเกินไป
ข้อสอง ความผิดพลาดไม่ได้กระจายอย่างสม่ำเสมอ ในเมื่อเป็นวิธีที่อิงพจนานุกรม คำทั่วไปที่มีอยู่ในพจนานุกรมย่อมตัดได้ดี และจะพังที่คำซึ่งไม่มีในพจนานุกรม ส่วนคำสำคัญที่ปรากฏในเอกสารภายในองค์กรนั้น ส่วนใหญ่คือคำที่ไม่มีในพจนานุกรม ทั้งชื่อเครื่องจักร ชื่อชิ้นส่วน ตัวย่อ และชื่อบริษัท โครงสร้างจึงกลายเป็นว่า ยิ่งเป็นคำที่เราอยากให้ตรงที่สุดในเอกสารของบริษัทตัวเอง ยิ่งหลุดง่ายถ้าใช้ค่าเริ่มต้น นี่คือเหตุผลที่นำตัวเลขจากเบนช์มาร์กทั่วไปมาใช้เป็นความแม่นยำของบริษัทตัวเองไม่ได้
ข้อสาม ตัวเลขนี้เป็นค่าเปรียบเทียบบนเบนช์มาร์กหนึ่งเท่านั้น ผลลัพธ์บนเอกสารของบริษัทตัวเองจะเป็นอย่างไร ต้องวัดด้วยเอกสารของบริษัทตัวเองจึงจะรู้ ตัวเลขเบนช์มาร์กมีไว้เพื่อทำความเข้าใจแนวโน้มของแต่ละวิธี ไม่ใช่สิ่งที่ยกมาตั้งเป็นเป้าหมายภายในองค์กรได้ตรง ๆ
ข้อสรุปเชิงปฏิบัติจึงเรียบง่าย ถ้าใช้ตัวตัดคำค่าเริ่มต้นตามที่มันเป็น มันจะหลุดตรงคำศัพท์เฉพาะของบริษัท ฉะนั้นให้เพิ่มพจนานุกรมเข้าไป แล้ววัดผลของสิ่งที่เพิ่มด้วยเอกสารของบริษัทเอง นี่คือเนื้องานของชั้นที่ 2
ชั้นที่ 3 ชั้นโทเคน — เอกสารภาษาไทยชุดเดียวกัน จำนวนโทเคนต่างกันได้ถึง 2.62 เท่า
ชั้นที่ 3 คือชั้นที่แบ่งข้อความออกเป็นหน่วยที่โมเดลใช้นับ ชั้นนี้ส่งผลต่อ ค่าใช้จ่ายและปริมาณที่ใส่เข้าไปได้ มากกว่าจะส่งผลต่อความแม่นยำโดยตรง
ในบทความวิชาการของ Typhoon มีข้อความระบุว่า โทเคนไนเซอร์ของ Typhoon มีประสิทธิภาพในการแบ่งโทเคนภาษาไทย มากกว่า GPT-3.5 อยู่ 2.62 เท่า นั่นคือเมื่อประมวลผลเอกสารภาษาไทยชุดเดียวกัน ระหว่างการใช้โทเคนไนเซอร์ของ Typhoon กับการใช้โทเคนไนเซอร์ของ GPT-3.5 จำนวนโทเคนที่นับได้จะต่างกันตามอัตราส่วนนี้ ตัวเลขนี้เป็นค่าที่วัดจากการเปรียบเทียบสองรายที่เจาะจง ไม่ได้บ่งชี้ขีดสูงสุดของส่วนต่างระหว่างโทเคนไนเซอร์ใด ๆ ก็ตาม
ตรงนี้ขอปิดช่องความเข้าใจผิดที่พบบ่อยไว้ก่อน ตัวเลข 2.62 เท่านี้ ไม่ใช่การเปรียบเทียบกับภาษาอังกฤษ แต่เป็นส่วนต่างระหว่างการประมวลผลเอกสารภาษาไทยชุดเดียวกัน ด้วยโทเคนไนเซอร์แบบทั่วไป กับด้วยโทเคนไนเซอร์ที่ปรับให้เหมาะกับภาษาไทย ดังนั้นจึงพูดไม่ได้ว่าภาษาไทยแพงกว่าภาษาอังกฤษ 2.62 เท่า นอกจากนี้ บทสรุปทุติยภูมิบนเว็บบางแห่งเขียนว่าคู่เปรียบเทียบคือ GPT-4 แต่คู่เปรียบเทียบในต้นฉบับคือ GPT-3.5 เวลาอ้างอิงขอให้ยึดตามต้นฉบับ
ส่วนต่างนี้ส่งผลในทางปฏิบัติอยู่สองสถานการณ์
การเรียกเก็บเงิน ในโมเดลที่คิดค่าบริการตามปริมาณการใช้ จำนวนโทเคนจะแปรเป็นจำนวนเงินโดยตรง ในงานที่มีปริมาณเอกสารมาก เช่น การให้อ่านบันทึกการตรวจสอบย้อนหลังหลายปีทุกวัน อัตราส่วนนี้จะกลายเป็นส่วนต่างของค่าใช้จ่ายในการดำเนินงานทันที
ปริมาณที่ใส่เข้าไปในคอนเท็กซ์ได้ ในกรอบความยาวคอนเท็กซ์เท่ากัน จำนวนหน้าของเอกสารภาษาไทยที่ใส่ได้จะเปลี่ยนไป ในระบบ RAG เราส่งเอกสารที่ค้นหามาได้ให้โมเดล ถ้าประสิทธิภาพโทเคนแย่ จำนวนเอกสารที่ส่งได้จะลดลง และเมื่อเอกสารที่ส่งได้ลดลง หลักฐานประกอบคำตอบก็บางลง ชั้นที่ 3 จึงแตะถึงความแม่นยำทางอ้อมผ่านเส้นทางนี้
อย่างไรก็ตาม ชั้นที่ 3 เป็น ตัวคูณ ไม่ใช่ต้นเหตุ ถ้าชั้นที่ 2 พังจนการค้นหาหยิบเอกสารที่ถูกต้องมาไม่ได้ ต่อให้อัดเอกสารนั้นเข้าไปอย่างมีประสิทธิภาพ คำตอบก็ไม่ดีขึ้น การเลือกโทเคนไนเซอร์จึงควรจัดเป็นการปรับให้เหมาะที่สุดหลังจากต้นน้ำแน่นแล้ว ซึ่งเป็นลำดับที่เป็นธรรมชาติกว่า
ชั้นที่ 4 ชั้นความหมาย — ถึงตรงนี้จึงค่อยเลือกโมเดล
ชั้นที่ 4 คือชั้นที่ว่าด้วยการตีความข้อความที่ได้รับมา และการสร้างข้อความออกไป อาการที่จัดอยู่ในชั้นนี้มีลักษณะดังนี้
- สำนวนแปลแข็ง ออกมาเป็นการแปลตรงตัว ไม่ใช่ถ้อยคำที่ใช้กันจริงในองค์กร
- ไม่ทำตามคำสั่ง ระบุรูปแบบไปแล้วก็ยังไม่ทำตาม
- เขียนเนื้อหาที่ไม่มีอยู่ในแหล่งอ้างอิง
- ระดับความสุภาพไม่สม่ำเสมอ สำนวนไม่เข้ากับคู่สนทนาหรือสถานการณ์
มีวิธีแยกว่าเป็นปัญหาของชั้นที่ 4 หรือไม่ ให้คนจัดอินพุตชุดเดียวกันด้วยมือแล้วส่งเข้าไปใหม่ ถ้าทำแบบนั้นแล้วหาย แปลว่าเป็นปัญหาต้นน้ำ ถ้าให้คนเลือกเอกสารที่ค้นหามาได้ใหม่แล้วตอบได้ถูก แปลว่าที่แย่คือฝั่งการค้นหาในชั้นที่ 2 ถ้าให้คนแก้อักขระเพี้ยนและรูปแบบที่ไม่สม่ำเสมอแล้วผ่าน แปลว่าเป็นชั้นที่ 1 แต่ถ้าอินพุตที่คนจัดให้แล้วยังพังเหมือนเดิม ถึงตรงนั้นจึงจะเป็นเรื่องของชั้นที่ 4
ถ้าเปรียบเทียบโมเดลโดยไม่ทำการแยกแยะนี้ก่อน ข้อสรุปของการเปรียบเทียบจะเชื่อถือไม่ได้ เพราะถ้าเอาสองโมเดลมาเทียบกันในสภาพที่ต้นน้ำยังแกว่ง เราจะแยกไม่ออกว่าส่วนต่างที่เห็นเกิดจากความต่างของโมเดล หรือเกิดจากเอกสารที่บังเอิญค้นหามาได้ต่างกัน
สิ่งที่ใช้เป็นเกณฑ์ตัดสินในชั้นที่ 4 คือค่าที่วัดได้จริงบนชุดข้อมูลประเมินของบริษัทเอง อันดับบนเบนช์มาร์กสาธารณะใช้เป็นข้อมูลคัดกรองตัวเลือกได้ แต่บางครั้งก็ไม่ตรงกับอันดับบนเอกสารและงานจริงของบริษัท
สถานะปัจจุบันของโมเดลที่แข็งแรงด้านภาษาไทย — Typhoon 2 SEA-LION และโมเดลระดับแนวหน้า
เราเรียบเรียงกลุ่มโมเดลที่ทุ่มเทให้กับภาษาไทย เฉพาะเท่าที่ยืนยันได้จากแหล่งข้อมูลปฐมภูมิ
| ชื่อ | ผู้พัฒนา | ข้อเท็จจริงที่ยืนยันได้ |
|---|---|---|
| Typhoon 1 | SCB 10X | ขนาด 7B พารามิเตอร์ บทความวิชาการระบุว่าเทียบเท่า GPT-3.5 ในภาษาไทย |
| Typhoon 2 | SCB 10X | เผยแพร่วันที่ 10 มกราคม ค.ศ. 2025 ฝั่งข้อความมี 5 ขนาด คือ 1B 3B 7B 8B และ 70B นอกจากนี้ยังมี Typhoon2-Audio สำหรับรับส่งเสียง และ Typhoon2-Vision ที่มี OCR ในตัว |
| SEA-LION | AI Singapore | กลุ่มโมเดลเปิดสำหรับภาษาในเอเชียตะวันออกเฉียงใต้ รองรับภาษา SEA ตั้งแต่ 11 ภาษาขึ้นไป รุ่นล่าสุดคือ SEA-LION v4.5 เมื่อวันที่ 20 พฤษภาคม ค.ศ. 2026 |
| SEA-HELM | AI Singapore | การประเมิน LLM ที่ให้น้ำหนักกับภาษาในเอเชียตะวันออกเฉียงใต้ ปรับปรุงล่าสุดวันที่ 5 สิงหาคม ค.ศ. 2026 |
ขอเสริมอีกหลายข้อ
การมีหลายขนาดของ Typhoon 2 หมายถึงความกว้างของตัวเลือก การที่มีตั้งแต่ 1B ไปจนถึง 70B แปลว่าออกแบบให้นำเอกสารที่ส่งขึ้นคลาวด์ไม่ได้ ไปประมวลผลด้วยโมเดลขนาดเล็กบนระบบภายในองค์กรได้ง่ายขึ้น อีกทั้ง Typhoon2-Vision มี OCR อยู่ในตัว และ Typhoon2-Audio รองรับการรับส่งเสียง ในงาน OCR แบบฟอร์มและงานรายงานการประชุม สองตัวนี้จะเข้ามาอยู่ในขอบเขตการพิจารณา
SEA-LION พัฒนาโดย AI Singapore ซึ่งเป็นองค์กรที่ได้รับการสนับสนุนจาก National Research Foundation ของสิงคโปร์ และมีมหาวิทยาลัยแห่งชาติสิงคโปร์เป็นเจ้าภาพ เป็นกลุ่มโมเดลที่วางแนวทางจัดการหลายภาษารวมกันสำหรับภาษาในเอเชียตะวันออกเฉียงใต้ จึงรองรับไม่เฉพาะภาษาไทย แต่รวมถึงภาษาของประเทศรอบข้างในกรอบเดียวกัน สำหรับบริษัทที่มีฐานปฏิบัติการทั้งในไทย เวียดนาม และอินโดนีเซีย จุดนี้สร้างความแตกต่างในทางปฏิบัติ
ส่วน SEA-HELM อยู่ฝั่งการประเมิน ไม่ใช่โมเดล แต่เป็นกรอบการประเมิน LLM และกระดานคะแนนที่ให้น้ำหนักกับภาษาในเอเชียตะวันออกเฉียงใต้ อย่างไรก็ตาม บทความนี้จะไม่ลงลึกถึงคะแนนหรืออันดับของโมเดลรายตัว เพราะยังไม่ได้ยืนยันตัวเลขจากแหล่งข้อมูลปฐมภูมิ การใช้งานที่ปลอดภัยคือใช้เป็นประตูสำหรับคัดกรองตัวเลือก แล้วตัดสินใจขั้นสุดท้ายด้วยชุดข้อมูลประเมินของบริษัทเอง
ไม่จำเป็นต้องตัดโมเดลระดับแนวหน้าออก โมเดลขนาดใหญ่แบบใช้งานทั่วไปก็จัดการภาษาไทยได้ เพียงแต่ในครั้งนี้เรายังไม่พบคะแนนเปรียบเทียบด้านภาษาไทยที่ยืนยันได้จากแหล่งข้อมูลปฐมภูมิ บทความนี้จึงไม่เขียนว่าโมเดลเฉพาะทางภาษาไทยเหนือกว่าเสมอ และไม่เขียนว่าโมเดลระดับแนวหน้าเหนือกว่าเสมอ อะไรที่ยังยืนยันไม่ได้ เราก็เขียนว่ายังยืนยันไม่ได้
สิ่งที่ควรตัดสินใจก่อนในการเลือกโมเดล ไม่ใช่อันดับ แต่เป็นเงื่อนไขข้อจำกัด ต้องใช้เสียงหรือ OCR หรือไม่ ส่งเอกสารออกนอกองค์กรได้หรือไม่ จำเป็นต้องวางโมเดลไว้ในสภาพแวดล้อมของบริษัทเองหรือไม่ ความเร็วในการตอบสนองต้องการเท่าไร เมื่อตรงนี้ชัด ตัวเลือกจะเหลือไม่กี่ตัว จากนั้นจึงเป็นการวัดผลจริงด้วยชุดข้อมูลประเมิน
แยกตามลักษณะงาน แก้ชั้นไหนแล้วได้ผล
ตรงนี้คือใจกลางของบทความ แม้จะเป็นอาการเดียวกันว่าภาษาไทยไม่แม่นยำ แต่ชั้นที่มีอิทธิพลสูงสุดต่างกันไปตามลักษณะงาน ถ้าลงมือแก้โดยพลาดชั้นที่มีอิทธิพลสูงสุด ผลลัพธ์คือเสียเงินไปแล้วอาการไม่เปลี่ยน
| ลักษณะงาน | ชั้นที่มีอิทธิพลสูงสุด | ชั้นที่ได้ผลดี | ชั้นที่แทบไม่ได้ผล | ชั้นที่ควรลงมือก่อน |
|---|---|---|---|---|
| ค้นหาเอกสารภายในองค์กร แบบ RAG | ชั้นที่ 2 ชั้นคำ | ชั้นที่ 1 และชั้นที่ 2 ส่วนชั้นที่ 3 ได้ผลด้านปริมาณที่ใส่ได้ | การเปลี่ยนโมเดลในชั้นที่ 4 | ชั้นที่ 2 พจนานุกรมชื่อเฉพาะภายในองค์กร |
| แชทบอท | ชั้นที่ 2 และชั้นที่ 4 | ชั้นที่ 2 จับเจตนา ชั้นที่ 4 จัดวิธีตอบ | ส่วนต่างโทเคนไนเซอร์ในชั้นที่ 3 | ชั้นที่ 2 พจนานุกรมคำศัพท์จากคำถามจริง |
| รายงานการประชุมและการถอดเสียง | ชั้นที่ 1 และชั้นที่ 4 | ชั้นที่ 1 จัดรูปแบบการเขียน ชั้นที่ 4 แยกผู้พูดและสรุป | ชั้นที่ 3 | ชั้นที่ 1 จัดรูปแบบชื่อคนและชื่อเครื่องจักร |
| OCR แบบฟอร์ม | ชั้นที่ 1 ชั้นอักขระ | ชั้นที่ 1 เรื่องตัวเลขและรหัสอักขระ ส่วนชั้นที่ 4 อยู่ฝั่งโมเดลอ่านภาพ | พจนานุกรมตัดคำในชั้นที่ 2 | ชั้นที่ 1 นอร์มัลไลซ์เลขไทยและพุทธศักราช |
| งานแปล | ชั้นที่ 4 ชั้นความหมาย | ชั้นที่ 4 คลังศัพท์และการเลือกโมเดล ส่วนชั้นที่ 1 คือการทำความสะอาดอินพุต | ชั้นที่ 2 | ชั้นที่ 4 คลังศัพท์และการแบ่งประเภทเอกสาร |
| การจัดหมวดและการรวมยอด | ชั้นที่ 1 และชั้นที่ 2 | ชั้นที่ 1 ดูดซับความไม่สม่ำเสมอ ชั้นที่ 2 ทำคำให้เป็นหนึ่งเดียว | ชั้นที่ 4 | ชั้นที่ 1 นอร์มัลไลซ์คำที่เป็นคีย์ |
ต่อไปนี้จะดูรายละเอียดของทั้งหกลักษณะงาน
ค้นหาเอกสารภายในองค์กร แบบ RAG — ชั้นที่ 2 มีอิทธิพลสูงสุด
RAG คือกลไกที่ค้นหาเอกสารที่เกี่ยวข้องกับคำถามขึ้นมา แล้วส่งเอกสารนั้นให้โมเดลตอบ ด้วยโครงสร้างแบบนี้ เอกสารที่การค้นหาพลาดไป โมเดลทำอะไรกับมันไม่ได้เลย เอกสารที่หยิบขึ้นมาไม่ได้ ก็เท่ากับไม่มีอยู่
เท่าที่ได้รับปรึกษาจากฐานปฏิบัติการในไทย สาเหตุที่การค้นหาใน RAG ภาษาไทยไม่ตรงนั้น ส่วนใหญ่อยู่ที่ชั้นที่ 2 คือวิธีตัดคำของประโยคคำถาม กับวิธีตัดคำของฝั่งเอกสารไม่ตรงกัน โดยเฉพาะเมื่อชื่อเฉพาะภายในองค์กรถูกแยกคนละแบบในสองฝั่ง คีย์เวิร์ดที่ควรจะตรงกันก็ไม่ตรงกัน
ชั้นที่ได้ผลดี คือชั้นที่ 1 และชั้นที่ 2 จัดอักขระให้ตรงกัน จัดคำให้ตรงกัน แก้ตรงนี้แล้วเอกสารที่เคยค้นไม่เจอจะเริ่มเจอ ส่วนชั้นที่ 3 ได้ผลต่อปริมาณเอกสารที่ส่งได้ จึงทำให้หลักฐานหนาขึ้น
ชั้นที่แทบไม่ได้ผล คือการเปลี่ยนโมเดลในชั้นที่ 4 เปลี่ยนโมเดลแล้วผลการค้นหาก็ไม่เปลี่ยน เปลี่ยนแค่สำนวนของคำตอบ ส่วนอาการที่ว่าหาเอกสารนั้นไม่เจอก็ยังอยู่
ชั้นที่ควรลงมือก่อน คือชั้นที่ 2 สร้างพจนานุกรมชื่อเฉพาะภายในองค์กร แล้วให้ฝั่งคำถามกับฝั่งเอกสารผ่านตัวตัดคำชุดเดียวกัน แค่นี้อัตราการค้นเจอก็เปลี่ยนแล้ว
แชทบอท — ชั้นที่ 2 จับคำถาม ชั้นที่ 4 ตอบคำถาม
บอทตอบคำถามสำหรับใช้ภายในองค์กร คร่อมอยู่บนสองชั้นพร้อมกัน ครึ่งแรกคือการจับว่าถูกถามเรื่องอะไร ซึ่งได้รับผลจากชั้นที่ 2 ครึ่งหลังคือจะตอบอย่างไร ซึ่งเป็นชั้นที่ 4
อาการที่พบบ่อยในแชทบอทภาษาไทยคือ พอถามคำถามเดิมด้วยวิธีพูดอีกแบบ ระบบก็จับไม่ได้ ประโยคคำถามสั้นกว่ารายงานประจำวัน เป็นภาษาพูด และมีการสะกดที่ไม่สม่ำเสมอปนอยู่ ยิ่งประโยคสั้น ความผิดพลาดของการตัดคำยิ่งกระทบผลลัพธ์โดยตรง
ชั้นที่ได้ผลดี คือชั้นที่ 2 และชั้นที่ 4 มีพจนานุกรมคำศัพท์ของคำถามในชั้นที่ 2 และจัดแม่แบบวิธีตอบในชั้นที่ 4 ชั้นที่แทบไม่ได้ผล คือชั้นที่ 3 เพราะประโยคต่อหนึ่งรายการสั้น ส่วนต่างของโทเคนไนเซอร์จึงไม่กระทบทั้งจำนวนเงินและความยาวคอนเท็กซ์มากนัก ชั้นที่ควรลงมือก่อน คือชั้นที่ 2 และควรเก็บคำศัพท์จากคำถามที่เข้ามาจริง
การจัดระเบียบแชทบอทหลายภาษาในแง่ค่าใช้จ่ายและขั้นตอน เราสรุปไว้ใน ค่าใช้จ่ายและแนวทางนำแชทบอทหลายภาษาเข้ามาใช้ในองค์กร ชั้นที่ต้องรับประกันนั้นต่างกันไปตามภาษา ถ้าใส่จุดนี้ไว้ในการออกแบบตั้งแต่ต้น การใช้งานจริงจะนิ่งกว่า
รายงานการประชุมและการถอดเสียง — ชั้นที่ 1 และชั้นที่ 4
ในงานที่แปลงการประชุมภาษาไทยเป็นข้อความ ขั้นแรกคือถอดเสียงออกมาเป็นข้อความ จากนั้นจึงมีการสรุปและการดึงมติที่ประชุมต่อท้าย
ชั้นที่ได้ผลดี คือชั้นที่ 1 และชั้นที่ 4 ทันทีหลังถอดเสียง ข้อความที่ได้จะมีรูปแบบการเขียนที่ไม่สม่ำเสมอ ชื่อคน ชื่อเครื่องจักร และชื่อบริษัท กลายเป็นหลายรูปแบบภายในการประชุมเดียวกัน ถ้าไม่จัดตรงนี้ให้ตรงกันด้วยชั้นที่ 1 ขั้นสรุปที่อยู่ถัดไปจะมองคนคนเดียวเป็นสองคน หรือมติเดียวจะถูกเรียงเป็นสองรายการแยกกัน ส่วนชั้นที่ 4 ได้ผลต่อการแยกผู้พูดและคุณภาพของบทสรุป
ชั้นที่แทบไม่ได้ผล คือชั้นที่ 3 แต่ชั้นที่ 2 นั้นยังพูดไม่ได้เต็มปากว่าไม่ได้ผล ถ้าจะใช้งานแบบที่ค้นหารายงานการประชุมย้อนหลังด้วย ชั้นที่ 2 จะเริ่มมีผลตั้งแต่จุดนั้น เข้าใจลำดับไว้ว่าถ้าเป็นการถอดเสียงล้วน ๆ ผลของชั้นที่ 2 จะน้อย แต่จะเริ่มมีผลทันทีที่วางการค้นหาหรือการรวมยอดทับลงไป แล้วจะตัดสินใจไม่ผิด
ชั้นที่ควรลงมือก่อน คือชั้นที่ 1 โดยเฉพาะการจัดรูปแบบชื่อคนและชื่อเครื่องจักรที่ปรากฏในการประชุมให้เป็นแบบเดียวกัน
จุดที่บทสรุปพังในการประชุมหลายภาษา เราเรียบเรียงไว้ใน รอยแตกที่เกิดขึ้นเมื่อใช้ AI ทำรายงานการประชุมหลายภาษา ในการประชุมที่ผู้พูดสลับภาษาไปมา จุดที่พังจะต่างจากการประชุมที่ใช้ภาษาไทยล้วน
OCR แบบฟอร์ม — ชั้นที่ 1 มีอิทธิพลสูงสุด
ใบส่งของ ใบรับรองผลการตรวจสอบ ใบสั่งงาน เป็นงานที่ดึงข้อมูลจากกระดาษหรือ PDF ตรงนี้พูดได้เลยว่าเป็นพื้นที่ที่ ชั้นที่ 1 แทบจะเป็นทั้งหมด
ข้อความที่เพิ่งอ่านออกมาได้ จะมีเลขไทยปนกับเลขอารบิก มีปีที่เป็นพุทธศักราช และมีอักขระคั่นที่มองไม่เห็นปนอยู่ ถ้าป้อนเข้าระบบหลักในสภาพนี้ ข้อบกพร่องจะเรียงกันมาเป็นชุด ทั้งหมายเลขล็อตไม่ตรงกัน ลำดับวันที่เพี้ยน และการตัดสินกำหนดเวลาไม่ผ่าน
ชั้นที่ได้ผลดี คือชั้นที่ 1 ทั้งการนอร์มัลไลซ์ตัวเลข การแปลงปฏิทิน และการนอร์มัลไลซ์รหัสอักขระ นอกจากนี้ ความแม่นยำของการอ่านตัวอักษรเองเป็นเรื่องของฝั่งโมเดลในชั้นที่ 4 การตัดสินใจว่าจะใช้โมเดลที่มี OCR ในตัวหรือไม่ก็อยู่ตรงนี้
ชั้นที่แทบไม่ได้ผล คือชั้นที่ 2 ค่าของแต่ละช่องในแบบฟอร์มส่วนใหญ่ไม่จำเป็นต้องตัดเป็นคำตั้งแต่แรก การเอารหัสชิ้นส่วนหรือจำนวนไปตัดคำก็ไม่ได้อะไรกลับมา ชั้นที่ 2 จะเข้ามาเกี่ยวข้องบางส่วนเฉพาะกรณีที่ใช้การจับคู่คำในการเทียบชื่อช่องข้อมูลเท่านั้น
ชั้นที่ควรลงมือก่อน คือชั้นที่ 1 โดยเฉพาะการนอร์มัลไลซ์เลขไทยและพุทธศักราช สองเรื่องนี้มีอาการที่เข้าใจง่ายและมีมาตรการที่ทำเป็นแบบแผนได้ จึงคุ้มค่าที่จะวางไว้เป็นลำดับแรกของการลงมือ
งานแปล — ชั้นที่ 4 มีอิทธิพลสูงสุด
การแปลจากภาษาญี่ปุ่นเป็นภาษาไทย และจากภาษาไทยเป็นภาษาญี่ปุ่น เป็นงานที่ เอนไปทางชั้นที่ 4 มากที่สุดในบรรดาหกลักษณะงานที่ยกมา ทั้งความเป็นธรรมชาติของคำแปล ความสม่ำเสมอของศัพท์ และระดับความสุภาพ ล้วนถูกกำหนดด้วยคุณภาพการตีความและการสร้างข้อความของโมเดล
ชั้นที่ได้ผลดี คือชั้นที่ 4 ทั้งการให้คลังศัพท์ การเปลี่ยนคำสั่งตามประเภทของเอกสาร และการเปรียบเทียบโมเดล ชั้นที่ 1 ก็ได้ผลเช่นกัน แต่บทบาทของมันคือการทำความสะอาดอินพุต ถ้าส่งไปทั้งที่ยังมีอักขระคั่นที่มองไม่เห็นปนอยู่ การตัดสินขอบเขตของคำในฝั่งโมเดลจะรวน
ชั้นที่แทบไม่ได้ผล คือชั้นที่ 2 ในงานแปลเราส่งทั้งประโยคเข้าไป โดยพื้นฐานจึงไม่จำเป็นต้องแทรกการตัดคำของเราเองเข้าไป ทุ่มแรงงานตรงนี้ไปคำแปลก็ไม่ดีขึ้น
ชั้นที่ควรลงมือก่อน คือชั้นที่ 4 โดยเฉพาะการจัดคลังศัพท์และประเภทของเอกสาร ถ้าแปลสัญญา คู่มือขั้นตอนการทำงาน และหนังสือเวียนภายใน ด้วยการตั้งค่าชุดเดียวกัน จะต้องมีอย่างใดอย่างหนึ่งที่ออกมาผิดที่ผิดทางแน่นอน
แนวคิดการแบ่งประเภทเอกสารเพื่อหยุดความแกว่งของคำแปล เราเขียนไว้ใน การออกแบบระบบแปลอัตโนมัติด้วย AI สำหรับภาคการผลิต ประเด็นสำคัญคือการตั้งสมมติฐานไว้ก่อนว่า คุณสมบัติของคำแปลที่ต้องการนั้นต่างกันไปตามประเภทของเอกสาร
การจัดหมวดและการรวมยอด — ชั้นที่ 1 และชั้นที่ 2
เป็นงานที่นำรายงานประจำวันและรายงานข้อบกพร่องภาษาไทยมารวมยอดแยกตามหมวด ตรงนี้ตัดสินด้วยการผสมชั้นที่ 1 กับชั้นที่ 2
การรวมยอดให้ผลต่างกันตามว่าคำที่เป็นคีย์ตรงกันหรือไม่ ถ้าชื่อเครื่องจักรแตกเป็นข้อความสองแบบ ยอดรวมก็แยกเป็นสองแถว และถ้าการตัดคำไม่นิ่ง ข้อบกพร่องเดียวกันก็จะเข้าไปอยู่คนละหมวด ชั้นที่ได้ผลดี จึงเป็นชั้นที่ 1 และชั้นที่ 2
ชั้นที่แทบไม่ได้ผล คือชั้นที่ 4 เปลี่ยนโมเดลไปก็ไม่เปลี่ยนข้อเท็จจริงที่ว่าเครื่องจักรตัวเดียวกันถูกแยกเป็นสองตั้งแต่ขั้นอินพุต ต่อให้ออกแบบให้โมเดลเป็นผู้ตัดสินการจัดหมวดเอง มันก็ไม่ได้ดูดซับความไม่สม่ำเสมอของอินพุตให้
ชั้นที่ควรลงมือก่อน คือชั้นที่ 1 โดยเฉพาะการนอร์มัลไลซ์คำที่เป็นคีย์ของการรวมยอด ทั้งชื่อเครื่องจักร ชื่อไลน์ผลิต และประเภทของข้อบกพร่อง แค่จัดสามอย่างนี้ให้ตรงกัน ผลการรวมยอดก็เข้าใกล้ความรู้สึกของหน้างานแล้ว
สิ่งที่พูดได้ข้ามทุกลักษณะงานมีอยู่ข้อเดียว เมื่อดูคอลัมน์ชั้นที่ควรลงมือก่อนในตาราง จะเห็นว่า งานที่ควรวางการเลือกโมเดลไว้เป็นก้าวแรกมีเพียงงานแปลเท่านั้น อีกห้าลักษณะงานที่เหลือล้วนเริ่มลงมือจากชั้นที่ 1 หรือชั้นที่ 2 แชทบอทกับรายงานการประชุมมีชั้นที่ 4 วิ่งคู่ขนานไปด้วยก็จริง แต่สิ่งที่แตะก่อนก็ยังเป็นต้นน้ำอยู่ดี การเริ่มต้นด้วยการเปลี่ยนโมเดลก่อน จึงเป็นการทำผิดลำดับใน 5 จาก 6 ลักษณะงาน
หลุมพราง 6 ข้อที่เป็นลักษณะเฉพาะของภาษาไทย
ถึงตรงนี้เราจะแปลงข้อถกเถียงเรื่องชั้นให้กลายเป็นอาการที่จับต้องได้ สิ่งที่ทำให้สะดุดในเอกสารของฐานปฏิบัติการในไทยมีหกข้อนี้
พุทธศักราช — การเปรียบเทียบวันที่พังอย่างเงียบ ๆ
ในบันทึกการตรวจสอบ สัญญา และเอกสารราชการของไทย ปีจะเขียนเป็นพุทธศักราช โดย พ.ศ. 2569 ตรงกับ ค.ศ. 2026
หน้างานเห็นเป็นอย่างไร ถ้านำเข้าโดยไม่แปลงเป็นคริสต์ศักราช วันที่จะเข้าไปเป็นตัวเลขที่ถูกต้อง แต่การเปรียบเทียบและการเรียงลำดับจะเพี้ยนทั้งหมด เมื่อปีแบบพุทธศักราชกับแบบคริสต์ศักราชปนกันอยู่ในคอลัมน์เดียวกัน การเรียงลำดับจะมีส่วนต่างระดับหลายร้อยปีแทรกเข้ามา และถ้ามีการตัดสินกำหนดเวลาอยู่ในระบบ รายการที่ควรจะหมดอายุแล้วจะถูกตัดสินว่ายังไม่หมดอายุ ที่สำคัญคือมันไม่ขึ้นเป็นข้อผิดพลาด จึงไม่มีใครสังเกตเห็น
เป็นชั้นไหน ชั้นที่ 1 ให้แปลงเป็นคริสต์ศักราชที่ทางเข้าของการนำเข้าข้อมูล และเก็บรูปแบบเดิมไว้ด้วย ถ้าทำให้กลับไปแสดงเป็นพุทธศักราชได้ตอนแสดงผล งานตรวจสอบของทีมงานหน้างานจะง่ายขึ้น
เลขไทย — หมายเลขเดียวกันกลายเป็นคนละหมายเลข
ภาษาไทยมีเลขไทย ๐๑๒๓๔๕๖๗๘๙ ซึ่งตรงกับเลขอารบิก 0 ถึง 9 แต่บนคอมพิวเตอร์แล้วเป็นอักขระคนละตัวโดยสิ้นเชิง
หน้างานเห็นเป็นอย่างไร บางครั้งเลขไทยปนอยู่เฉพาะบางส่วนของหมายเลขล็อตหรือหมายเลขแบบ มักเกิดตอนคัดลอกจากใบเขียนมือ หรือตอนที่ยังใช้เทมเพลตรูปแบบเก่าต่อเนื่องมา ผลคือหมายเลขล็อตเดียวกันมีอยู่สองรูปแบบข้อความ และในตารางรวมยอดจะเรียงเป็นคนละล็อต ผู้รับผิดชอบรายงานว่าหมายเลขเดียวกันขึ้นสองแถว แต่ในเชิงข้อความมันคือคนละอย่าง ระบบจึงทำงานถูกต้องตามที่มันเห็น
เป็นชั้นไหน ชั้นที่ 1 ให้วางการนอร์มัลไลซ์เป็นเลขอารบิกไว้ที่ทางเข้า
ลำดับการประกอบอักขระ — หน้าตาเหมือนกันแต่ค้นหาไม่ตรง
อักษรไทยเขียนโดยซ้อนรูปสระและวรรณยุกต์ทับบนพยัญชนะ เมื่อมีเครื่องหมายที่วางด้านบนตั้งแต่สองตัวขึ้นไป ต่อให้พิมพ์สลับลำดับกัน หน้าตาบนหน้าจอก็แทบไม่ต่างกัน แต่ถ้าลำดับของโค้ดพอยต์ต่างกัน ในเชิงข้อความมันคือคนละอย่าง
หน้างานเห็นเป็นอย่างไร ทีมงานหน้างานพิมพ์คำด้วยมือลงในช่องค้นหาภาษาไทย แล้วระบบขึ้นว่าไม่พบ แต่พอคัดลอกคำนั้นมาวางกลับค้นเจอ รายงานจากผู้รับผิดชอบจะออกมาว่าการค้นหาใช้ได้เป็นบางครั้ง แล้วเรื่องก็ถูกปล่อยทิ้งไว้โดยอธิบายสาเหตุไม่ได้ ทั้งที่ความจริงคือลำดับการพิมพ์ต่างจากฝั่งเอกสารเท่านั้นเอง
เป็นชั้นไหน ชั้นที่ 1 การผ่านการนอร์มัลไลซ์อักขระจะจัดลำดับให้เหลือรูปแบบเดียว
ช่องว่างความกว้างศูนย์ — อักขระคั่นที่มองไม่เห็น
เนื่องจากภาษาไทยไม่ใส่ช่องว่างระหว่างคำ เครื่องจึงกำหนดตำแหน่งตัดบรรทัดเองไม่ได้ในสภาพนั้น จึงมีการฝังอักขระคั่นที่มองไม่เห็นลงในเนื้อความ เพื่อบอกตำแหน่งที่ตัดบรรทัดได้
หน้างานเห็นเป็นอย่างไร ทั้งที่เป็นประโยคเดียวกัน แต่ผลการค้นหาต่างกันระหว่างข้อความที่วางมาจาก Word กับที่วางมาจากเว็บ พอนับจำนวนอักขระก็ไม่ตรงกับจำนวนที่ตาเห็น และเมื่อผ่านตัวตัดคำ คำจะถูกแยกเป็นสองที่ตำแหน่งซึ่งเคยมีอักขระคั่นอยู่ ตรงนี้อาการก็ออกมาในรูปแบบว่าค้นหาไม่เจอเป็นบางครั้งอีกเช่นกัน
เป็นชั้นไหน ชั้นที่ 1 โดยพื้นฐานคือตัดออก แต่ในข้อมูลสำหรับแสดงผลที่อยากรักษาความสวยงามของการตัดบรรทัดไว้ ก็อาจตัดสินใจเก็บไว้ได้ ถ้าแยกให้ชัดว่า ใช้ชุดที่ตัดออกแล้วสำหรับการค้นหาและการรวมยอด และใช้ชุดที่เก็บไว้สำหรับการแสดงผล ก็จะได้ทั้งสองอย่าง
ภาษาไทยปนภาษาอังกฤษ — ภาษาสลับกันภายในประโยคเดียว
ในเอกสารหน้างานของฐานปฏิบัติการในไทย ชื่อเครื่องจักร ชื่อชิ้นส่วน ตัวย่อภายในบริษัท และหน่วยวัด ถูกเขียนเป็นภาษาอังกฤษตามเดิม ส่วนคำอธิบายเขียนเป็นภาษาไทย ระบบการเขียนจึงสลับไปมาหลายครั้งภายในประโยคเดียว
หน้างานเห็นเป็นอย่างไร ตัวตัดคำมักปฏิบัติกับรอยต่อระหว่างอักษรไทยกับอักษรโรมันเป็นขอบเขตของคำ ส่วนที่เป็นภาษาอังกฤษจึงถูกตัดขาดจากบริบทภาษาไทย ผลคือคำขยายภาษาไทยที่อยู่ข้างหน้าชื่อเครื่องจักรภาษาอังกฤษไปติดกับคำอื่น แล้วหน่วยของความหมายก็เคลื่อน ในการค้นหา จะหยิบมาได้เฉพาะส่วนที่เป็นภาษาอังกฤษแล้วบริบทหายไป ส่วนในงานแปล บางครั้งรหัสรุ่นภาษาอังกฤษถูกแปลไปด้วย
เป็นชั้นไหน ชั้นที่ 2 เป็นหลัก ให้ลงทะเบียนคำที่ต้องคงเป็นภาษาอังกฤษไว้ในพจนานุกรม แล้วตรึงวิธีตัดและวิธีจัดการให้คงที่ นอกจากนี้ยังต้องใช้ชั้นที่ 1 จัดตัวอักษรแบบเต็มความกว้างกับครึ่งความกว้าง และตัวพิมพ์ใหญ่กับตัวพิมพ์เล็ก ให้เป็นแบบเดียวกันด้วย
คำลงท้ายแสดงความสุภาพ — เบาะแสของผู้พูดและระดับความสุภาพ
ภาษาไทยมีคำแสดงความสุภาพที่เติมท้ายประโยค โดยเปลี่ยนไปตามเพศของผู้พูด ผู้พูดเพศชายใช้ ครับ ผู้พูดเพศหญิงใช้ ค่ะ
หน้างานเห็นเป็นอย่างไร ในการถอดเสียงรายงานการประชุม คำเหล่านี้กลายเป็นเบาะแสสำหรับคาดเดาว่าใครเป็นผู้พูด ถ้าตัดทิ้งไปในขั้นเตรียมข้อมูลโดยถือว่าเป็นคำที่ไม่มีความหมาย การแยกผู้พูดในขั้นถัดไปจะอ่อนลง ในทางกลับกัน ในงานแปล ถ้าแปลคำนี้ออกมาตรง ๆ ฝั่งภาษาปลายทางจะไม่เป็นธรรมชาติ แต่ถ้าตัดทิ้งมากเกินไป ระดับความสุภาพก็จะไม่ตรงกับต้นฉบับ
เป็นชั้นไหน เปลี่ยนไปตามลักษณะงาน ในรายงานการประชุมคืออย่าลบทิ้งในขั้นเตรียมข้อมูลของชั้นที่ 1 ส่วนในงานแปลคือเขียนไว้ในคำสั่งว่าจะจัดการการถ่ายทอดระดับความสุภาพอย่างไรในชั้นที่ 4 คำเดียวกันจึงเป็นได้ทั้งสิ่งที่ควรเก็บไว้และสิ่งที่ควรตัดทิ้ง ขึ้นอยู่กับลักษณะงาน ถ้าทำขั้นเตรียมข้อมูลเป็นชุดเดียวกันทุกลักษณะงานจะชนกันตรงนี้ ทางที่ปลอดภัยคือ ออกแบบให้ขั้นเตรียมข้อมูลแยกตามลักษณะงานได้
สร้างชุดข้อมูลประเมินภาษาไทย — ขั้นตอนที่สั้นที่สุดเพื่อให้พูดเรื่องความแม่นยำได้
ทุกอย่างที่พูดมามีเงื่อนไขว่าต้องวัดได้ ถ้าแก้ชั้นต่าง ๆ ไปโดยที่วัดไม่ได้ เราจะไม่รู้ว่าแก้ได้หรือยังไม่ได้แก้

ขั้นตอนการสร้างชุดข้อมูลประเมินภาษาไทยมีดังนี้
- จำกัดงานเป้าหมายให้เหลืออย่างเดียว ถ้าเป็นการค้นหาก็เอาแค่การค้นหา ถ้าเป็นการแปลก็เอาแค่การแปล ถ้าพยายามวัดหลายอย่างด้วยชุดข้อมูลประเมินชุดเดียว จะอ่านไม่ออกว่าการปรับปรุงของชั้นไหนได้ผล
- เก็บตัวอย่างจากเอกสารภายในองค์กรจริง อย่าใช้ประโยคตัวอย่างที่แต่งขึ้น เพราะประโยคที่แต่งขึ้นไม่มีทั้งความไม่สม่ำเสมอของการเขียน อักขระคั่นที่มองไม่เห็น และพุทธศักราช ปัญหาของชั้นที่ 1 และชั้นที่ 2 จึงหายไปตั้งแต่ต้น
- กำหนดเฉลยร่วมกับทีมงานหน้างาน สิ่งที่จะถือว่าเป็นคำตอบที่ถูกต้องนั้น ตัดสินจากฝั่งสำนักงานใหญ่ฝ่ายเดียวไม่ได้ โดยเฉพาะงานแปลและงานจัดหมวด ถ้าไม่มีความรู้สึกเชิงธุรกิจของคนในพื้นที่ เฉลยจะไม่นิ่ง
- เขียนเกณฑ์การตัดสินเป็นข้อความไว้ก่อน คำว่าคำแปลที่เป็นธรรมชาตินั้นวัดไม่ได้ ต้องแปลงเป็นเงื่อนไขที่ตัดสินได้ เช่น ตรงกับคลังศัพท์หรือไม่ ตัวเลขถูกรักษาไว้หรือไม่ อยู่ในรูปแบบที่กำหนดหรือไม่
- ตัดเวอร์ชันแล้วตรึงไว้ ถ้าเพิ่มหรือแก้ชุดข้อมูลประเมินระหว่างทาง จะเปรียบเทียบกับครั้งก่อนไม่ได้
และสิ่งที่ได้ผลเป็นพิเศษในการประเมินภาษาไทยคือ การติดป้ายชั้นให้กับความผิดพลาด โดยบันทึกไว้ในทุกกรณีที่ผิดว่ามาจากชั้นที่ 1 ชั้นที่ 2 หรือชั้นที่ 4
เมื่อทำแบบนี้ ชั้นที่จะลงมือต่อไปจะถูกกำหนดด้วยข้อมูล ถ้าความผิดพลาดส่วนใหญ่มาจากชั้นที่ 2 เราจะรู้ว่าเปรียบเทียบโมเดลไปก็ไม่มีความหมาย และถ้าความผิดพลาดเริ่มกระจุกอยู่ที่ชั้นที่ 4 ตรงนั้นจึงจะเริ่มคุ้มค่าที่จะใช้งบประมาณไปกับการเลือกโมเดล การประเมินที่ไม่มีป้ายกำกับจะให้ตัวเลขได้แค่ว่าโดยรวมถูกกี่เปอร์เซ็นต์ ซึ่งตัดสินใจก้าวต่อไปไม่ได้
ส่วนขนาดของชุดข้อมูลประเมิน เราไม่ระบุจำนวนรายการไว้ที่นี่ เพราะจำนวนที่เหมาะสมเปลี่ยนไปตามงานเป้าหมายและลักษณะการเกิดความผิดพลาด และเรายังไม่พบตัวเลขที่ใช้เป็นค่าทั่วไปได้จากแหล่งข้อมูลปฐมภูมิ ในทางปฏิบัติ การเริ่มสร้างด้วยเกณฑ์ว่า ต้องครอบคลุมรูปแบบความล้มเหลวที่รู้อยู่ในปัจจุบันทั้งหมด แล้วเพิ่มเข้าไปทุกครั้งที่พบรูปแบบใหม่ จะหมุนงานได้ง่ายกว่า
แยกค่าใช้จ่ายออกเป็น 5 ชั้น
ค่าใช้จ่ายของ Generative AI ภาษาไทยไม่ได้มีแค่ค่าใช้บริการโมเดล ในทางกลับกัน ส่วนที่ไม่ใช่ค่าใช้บริการโมเดลต่างหากที่จะมาบีบงบประมาณในภายหลัง
ขอปูพื้นไว้ก่อนหนึ่งข้อ ค่าใช้จ่าย 5 ชั้นตรงนี้ แม้จะมีหมายเลขคล้ายกับการประมวลผล 4 ชั้นที่อธิบายไปในครึ่งแรก แต่ไม่ใช่สิ่งเดียวกัน ความสัมพันธ์เป็นดังนี้
- ค่าใช้จ่ายชั้นที่ 1 คือค่าใช้จ่ายในการสร้างชั้นที่ 1 ของการประมวลผล ซึ่งก็คือชั้นอักขระ
- ค่าใช้จ่ายชั้นที่ 2 คือค่าใช้จ่ายในการสร้างและดูแลชั้นที่ 2 ของการประมวลผล ซึ่งก็คือชั้นคำ
- ค่าใช้จ่ายชั้นที่ 3 คือค่าใช้บริการที่แปรผันตามชั้นที่ 3 ของการประมวลผล ซึ่งก็คือชั้นโทเคน
- ค่าใช้จ่ายชั้นที่ 4 คือค่าใช้จ่ายของข้อมูลประเมินสำหรับ วัด ชั้นที่ 4 ของการประมวลผล ซึ่งก็คือชั้นความหมาย
- ค่าใช้จ่ายชั้นที่ 5 คือค่าใช้จ่ายในการดำเนินงานที่คร่อมอยู่บนทั้งสี่ชั้น
| ชั้น | เนื้อหา | สถานการณ์ที่มันจะมีผล |
|---|---|---|
| ชั้นที่ 1 | การพัฒนากระบวนการนอร์มัลไลซ์ ทั้งรหัสอักขระ ช่องว่างความกว้างศูนย์ พุทธศักราช และเลขไทย | ทำครั้งเดียวก็ได้ผลต่อเนื่อง ควรทำก่อน |
| ชั้นที่ 2 | การจัดทำพจนานุกรมสำหรับตัดคำและพจนานุกรมชื่อเฉพาะภายในองค์กร | ต้องเพิ่มทุกครั้งที่มีเครื่องจักร ชิ้นส่วน หรือตัวย่อใหม่ เป็นค่าดำเนินงานที่ต่อเนื่อง |
| ชั้นที่ 3 | ค่าใช้บริการโมเดล โดยส่วนต่างของโทเคนไนเซอร์ทำหน้าที่เป็นตัวคูณ | แปรผันตามปริมาณการใช้ ยิ่งงานที่มีเอกสารมากยิ่งมีผล |
| ชั้นที่ 4 | การสร้างชุดข้อมูลประเมิน ซึ่งก็คือชุดเฉลยภาษาไทย | ถ้าข้ามตรงนี้ไปจะถกเรื่องความแม่นยำไม่ได้ และเป็นชั้นที่ถูกข้ามบ่อยที่สุด |
| ชั้นที่ 5 | การดำเนินงาน ทั้งการอัปเดตพจนานุกรม การประเมินซ้ำ และการจัดการเวอร์ชัน | จะมีผลในอีกครึ่งปีถัดไป และมักไม่ได้อยู่ในงบประมาณ |
บทความนี้จะไม่ระบุจำนวนเงิน เพราะช่วงของตัวเลขกว้างมากตามลักษณะงาน ปริมาณเอกสาร จำนวนภาษาเป้าหมาย และสภาพของเอกสารภายในองค์กร อีกทั้งเรายังไม่พบช่วงราคาตลาดที่ใช้เป็นค่าทั่วไปได้จากแหล่งข้อมูลปฐมภูมิ สิ่งที่อยากให้จับไว้แทนคือ ความต่างของคุณสมบัติ ของค่าใช้จ่ายแต่ละชั้น
แยกระหว่างค่าใช้จ่ายที่เกิดครั้งเดียวกับค่าใช้จ่ายที่เกิดต่อเนื่อง ชั้นที่ 1 เป็นค่าใช้จ่ายที่เกือบจะทำครั้งเดียวจบ ชั้นที่ 2 และชั้นที่ 5 จะเกิดต่อเนื่อง ส่วนชั้นที่ 3 เกิดขึ้นตามปริมาณที่ใช้จริง ถ้าตัดสินใจจากประมาณการเริ่มต้นอย่างเดียวโดยไม่แยกความต่างนี้ อีกครึ่งปีจะต้องมาตกใจกับค่าดำเนินงาน
ชั้นที่ 3 มีตัวคูณซ้อนอยู่ อัตรา 2.62 ที่กล่าวไปข้างต้นมีผลกับชั้นนี้ เพราะแม้จะจัดการเอกสารภาษาไทยชุดเดียวกัน จำนวนโทเคนที่นับได้ก็เปลี่ยนไปตามโทเคนไนเซอร์ ในงานที่มีปริมาณเอกสารมาก ส่วนต่างนี้จะโผล่ออกมาเป็นส่วนต่างของค่าดำเนินงานทุกเดือน
ชั้นที่ถูกข้ามบ่อยที่สุดคือชั้นที่ 4 สิ่งที่ได้จากการสร้างข้อมูลประเมินดูไม่หวือหวา และไม่ได้ทำให้อะไรขยับโดยตรง จึงเป็นสิ่งแรกที่ถูกตัดออกจากงบประมาณ แต่ถ้าข้ามตรงนี้ไป การถกเถียงทั้งหมดหลังจากนั้นจะกลายเป็นเรื่องของความรู้สึก และจะไปต่อจาก “รู้สึกว่าพอเปลี่ยนเป็นโมเดลใหม่แล้วดีขึ้น” ไม่ได้
ชั้นที่ 5 จะมีผลในอีกครึ่งปีถัดไป พจนานุกรมที่ปล่อยทิ้งไว้จะเก่าลง มีเครื่องจักรใหม่เข้ามา มีตัวย่อใหม่เกิดขึ้น และทุกครั้งที่เกิดเรื่องเหล่านี้ ความแม่นยำของการตัดคำก็จะค่อย ๆ ตกลงอย่างเงียบ ๆ ใครเป็นคนอัปเดตพจนานุกรม ด้วยความถี่เท่าไร โดยดูจากอะไร ถ้าไม่ตัดสินใจตรงนี้ ยิ่งเวลาผ่านไปสภาพก็จะยิ่งเข้าใกล้ตอนก่อนเริ่มใช้งาน
สามประเด็นที่เพิ่มเข้ามาสำหรับฐานปฏิบัติการในไทยและอาเซียน
เมื่อเทียบกับการนำ Generative AI เข้ามาใช้ภายในประเทศญี่ปุ่น ฐานปฏิบัติการในไทยจะมีสามเรื่องนี้เพิ่มเข้ามา
ขั้นของกฎระเบียบต่างกันไปในแต่ละประเทศ
ในประเทศไทย ETDA ได้เผยแพร่ร่างกฎหมายปัญญาประดิษฐ์ฉบับใหม่เมื่อ วันที่ 2 กรกฎาคม ค.ศ. 2026 โดยระบุว่าการรับฟังความคิดเห็นใช้เวลาประมาณ 30 วัน ณ เดือนสิงหาคม ค.ศ. 2026 กฎหมายฉบับนี้ยังไม่ผ่านการตราเป็นกฎหมาย และยังไม่มีผลบังคับใช้ ประเด็นที่บรรจุอยู่ในร่างปัจจุบัน ได้แก่ กรอบการแบ่งความเสี่ยงออกเป็น 3 ระดับ ข้อกำหนดให้ผู้ประกอบการต่างชาติต้องมีตัวแทนในประเทศ หน้าที่ในการติดเครื่องหมายที่เครื่องอ่านได้บนผลงานที่ AI สร้างขึ้น และความรับผิดร่วมที่อาจครอบคลุมไปถึงกรณีที่ไม่มีความประมาท
สำหรับความเป็นมาก่อนหน้านี้ เมื่อเดือนมิถุนายน ค.ศ. 2025 ได้มีการรับฟังความคิดเห็นเพื่อรวมร่างสองฉบับเข้าด้วยกัน และหลังจากนั้นก็ยังอยู่ในขั้นของร่างต่อมา
สิ่งที่พูดได้ตอนนี้ในแง่ผลกระทบต่อการปฏิบัติงานคือ ยังเร็วเกินไปที่จะสร้างระบบให้เข้ากับข้อกำหนดที่ยังไม่นิ่ง แต่ มีคุณค่าที่จะทำโครงสร้างให้เพิ่มเติมทีหลังได้ โดยเฉพาะเครื่องหมายบนผลงานที่สร้างขึ้น และบันทึกของโมเดลกับอินพุตที่ใช้ในการสร้าง เป็นข้อกำหนดประเภทที่ย้อนกลับไปเติมทีหลังได้ยาก ถ้าเตรียมการออกแบบล็อกไว้ก่อนอย่างเดียว งานที่ต้องย้อนกลับมาแก้ตอนที่ข้อกำหนดนิ่งแล้วจะน้อยลง
อนึ่ง ภายในอาเซียนเองขั้นของกฎระเบียบก็ต่างกันไปในแต่ละประเทศ เวียดนามเข้าสู่ขั้นบังคับใช้แล้ว แต่บทความนี้จะจำกัดอยู่แค่การชี้ข้อเท็จจริงว่าไทยกับเวียดนามอยู่คนละขั้น รายละเอียดข้อกำหนดของแต่ละประเทศ ขอให้ตรวจสอบจากแหล่งข้อมูลปฐมภูมิของประเทศนั้น
การดำเนินงานที่มีภาษาตั้งแต่ 3 ภาษาขึ้นไป
ในฐานปฏิบัติการที่ประเทศไทย ภาษาญี่ปุ่น ภาษาไทย และภาษาอังกฤษ เดินไปพร้อมกัน โครงสร้างมักเป็นแบบที่รายงานไปสำนักงานใหญ่ที่ญี่ปุ่นใช้ภาษาญี่ปุ่น หน้างานใช้ภาษาไทย และเอกสารของผู้ผลิตเครื่องจักรเป็นภาษาอังกฤษ
สิ่งที่ต้องตัดสินใจไว้ตรงนี้คือ จะให้ภาษาไหนเป็นฉบับหลัก ถ้าไม่กำหนดฉบับหลัก การถกเถียงจะเริ่มจากการนำฉบับแปลมาชนกันเอง แล้วจะไม่มีใครตัดสินได้ว่าฝั่งไหนถูก ขั้นเตรียมข้อมูลก็เช่นกัน ถ้าจัดการนอร์มัลไลซ์และพจนานุกรมด้วยภาษาที่เป็นฉบับหลัก แล้วให้ภาษาอื่นแตกออกมาจากฉบับหลัก การดูแลพจนานุกรมก็จบในชุดเดียว
กำหนดตัวคนที่ดูแลพจนานุกรม
พจนานุกรมของชั้นที่ 2 ไม่สามารถดูแลได้ด้วยฝ่ายเทคนิคเพียงลำพัง คนที่รู้ว่าชื่อเครื่องจักรและตัวย่อเขียนอย่างไรจึงถูกต้องคือหน้างาน แต่ในทางกลับกัน ถ้าฝากการอัปเดตพจนานุกรมไว้กับความหวังดีของหน้างานอย่างเดียว มันจะไม่ต่อเนื่อง
สิ่งที่จำเป็นคือการนิยามให้เป็นงานว่า ใครจะอัปเดตพจนานุกรม ด้วยความถี่เท่าไร โดยดูจากอินพุตชุดไหน วิธีที่ทำได้จริงคือฝังลงในกระบวนการทำงานที่มีอยู่แล้ว เช่น ใส่การเพิ่มคำเข้าพจนานุกรมไว้ในขั้นตอนที่ทำเมื่อมีเครื่องจักรใหม่เข้ามา ถ้าเริ่มใช้งานโดยไม่กำหนดตรงนี้ ก็เท่ากับว่าไม่มีกลไกที่จะรู้ตัวว่าความแม่นยำกำลังตกลงไปพร้อมกันด้วย
90 วันแรกควรทำอะไร
นี่คือแนวทาง 90 วันเพื่อไม่ให้ทำผิดลำดับ
- วันที่ 1 ถึงวันที่ 30 — จำกัดเอกสารเป้าหมายให้เหลือประเภทเดียว แล้วสร้างเฉพาะการนอร์มัลไลซ์ของชั้นที่ 1 พร้อมกันนั้นให้นับว่าคำที่ควรจะเป็นคำเดียวกันแตกออกเป็นกี่รูปแบบ จำนวนนี้จะเป็นตัวชี้วัดความคืบหน้าของชั้นที่ 1
- วันที่ 31 ถึงวันที่ 60 — เป็นชั้นที่ 2 สร้างพจนานุกรมชื่อเฉพาะภายในองค์กรร่วมกับทีมงานหน้างาน และต้องจัดรอบให้มีการตรวจผลการตัดคำด้วยสายตาเสมอ ถ้าดูแต่ตัวเลขจะมองไม่เห็นว่าคำที่ไม่มีในพจนานุกรมพังในลักษณะใด
- วันที่ 61 ถึงวันที่ 90 — สร้างชุดข้อมูลประเมินของชั้นที่ 4 แล้วเปรียบเทียบโมเดลสองตัว การเปรียบเทียบโมเดลอยู่ท้ายสุด ถ้าเทียบก่อนที่ชั้นที่ 1 และชั้นที่ 2 จะแน่น เราจะอ่านไม่ออกว่าส่วนต่างมาจากโมเดลหรือมาจากอินพุต
มีสิ่งหนึ่งที่ตัดออกจาก 90 วันนี้โดยตั้งใจ นั่นคือการปรับโทเคนไนเซอร์ให้เหมาะที่สุดของชั้นที่ 3 ชั้นที่ 3 ได้ผลในฐานะการปรับค่าใช้จ่ายให้เหมาะที่สุดก็จริง แต่ไม่ได้ช่วยแยกแยะสาเหตุของปัญหาความแม่นยำ การใช้ 90 วันแรกไปกับการระบุและกำจัดสาเหตุของอาการ แล้วค่อยลงมือปรับค่าใช้จ่ายหลังจากที่การใช้งานเริ่มหมุนแล้ว จะทำให้มีข้อมูลประกอบการตัดสินใจครบกว่า
อีกข้อหนึ่ง การจำกัดเอกสารเป้าหมายให้เหลือประเภทเดียว ไม่ได้ทำเพื่อลดขอบเขต แต่ทำเพื่อให้มองเห็นสาเหตุ ถ้าจัดการรายงานประจำวัน บันทึกการตรวจสอบ และสัญญาไปพร้อมกัน แต่ละอย่างจะพังคนละแบบ แล้วเราจะไม่รู้ว่ามาตรการไหนได้ผลกับอะไร ถ้าสร้างแม่แบบขึ้นมาจากประเภทเดียวได้แล้ว ประเภทที่สองเป็นต้นไปก็นำแม่แบบเดิมไปทาบได้
ความล้มเหลวที่พบบ่อย 5 ข้อและวิธีเลี่ยง
เปลี่ยนโมเดลก่อน
เป็นรูปแบบที่เห็นบ่อยที่สุดจากการรับปรึกษาที่ฐานปฏิบัติการในไทย เมื่อมีรายงานว่าภาษาไทยไม่แม่นยำ การตอบสนองแรกกลายเป็นการเปลี่ยนไปใช้โมเดลอื่น ตามตารางแยกตามลักษณะงานในบทความนี้ งานที่ควรวางการเลือกโมเดลไว้เป็นก้าวแรกมีเพียงงานแปล ส่วนอีกห้าลักษณะงานที่เหลือมีลำดับที่ต้องเริ่มลงมือจากต้นน้ำ
วิธีเลี่ยง รวบรวมกรณีที่เกิดอาการมาไว้ในมือ แล้วตรวจสอบว่าถ้าให้คนจัดอินพุตแล้วส่งเข้าไปใหม่จะหายหรือไม่ ถ้าหายก็แปลว่าเป็นปัญหาต้นน้ำ การตรวจสอบนี้ไม่ต้องเตรียมอะไรเป็นพิเศษ และทำได้ก่อนที่จะจัดหาโมเดล
สร้างระบบค้นหาโดยยังไม่ตัดสินใจว่าจะตัดคำอย่างไร
เป็นสภาพที่การค้นหา การแบ่งชังก์ การจับคู่คีย์เวิร์ด และการประเมิน ต่างใช้วิธีตัดคำคนละแบบ เมื่อดูแยกเป็นชิ้น ๆ แต่ละส่วนดูเหมือนทำงานได้ ปัญหาจึงโผล่ขึ้นมาตอนที่อธิบายความแม่นยำของการค้นหาไม่ได้แล้ว
วิธีเลี่ยง กำหนดกระบวนการตัดคำและพจนานุกรมให้เหลือชุดเดียว แล้ววางโครงสร้างให้ทุกกระบวนการอ้างอิงชุดนั้น พร้อมกันนั้นให้ใส่ไว้ในการออกแบบด้วยว่า เมื่ออัปเดตพจนานุกรมแล้วจะต้องสร้างดัชนีการค้นหาใหม่
เดินหน้าต่อโดยไม่สร้างชุดข้อมูลประเมิน
เป็นสภาพที่การตัดสินใจเดินไปด้วยประโยคว่ารู้สึกว่าพอเปลี่ยนเป็นโมเดลใหม่แล้วดีขึ้น เราจะแยกไม่ออกว่ามันดีขึ้นจริง หรือแค่คำถามที่บังเอิญหยิบมาลองนั้นดี
วิธีเลี่ยง ตกลงกันว่าจะไม่เปรียบเทียบโมเดลจนกว่าจะสร้างชุดข้อมูลประเมินเสร็จ ในระยะที่ยังไม่มีชุดข้อมูลประเมิน สิ่งที่ทำได้คือการจัดชั้นต้นน้ำเท่านั้น
เขียนกระบวนการนอร์มัลไลซ์กระจายไปทั่ว
เป็นสภาพที่ทั้งฝั่งค้นหา ฝั่งรวมยอด และฝั่งสรุป ต่างมีโค้ดนอร์มัลไลซ์ของตัวเอง แก้การแปลงพุทธศักราชไปที่หนึ่งแล้ว อีกเส้นทางหนึ่งก็ยังเป็นของเก่าอยู่
วิธีเลี่ยง รวมทางเข้าของการนำเข้าข้อมูลให้เหลือทางเดียว แล้วนอร์มัลไลซ์ที่จุดนั้นจุดเดียว โดยตกลงกันว่าปลายน้ำจะรับเฉพาะข้อความที่ผ่านการนอร์มัลไลซ์แล้ว
ไม่กำหนดผู้รับผิดชอบและความถี่ในการอัปเดตพจนานุกรม
เป็นรูปแบบคลาสสิกที่ความแม่นยำสูงในช่วงเริ่มใช้งาน แล้วค่อย ๆ ตกลงตามเวลา เพราะเครื่องจักรและตัวย่อใหม่ไม่ได้เข้าไปอยู่ในพจนานุกรม ชั้นที่ 2 จึงเก่าลงทีละน้อย
วิธีเลี่ยง ผนวกขั้นตอนการเพิ่มคำเข้าพจนานุกรมไว้ในกระบวนการติดตั้งเครื่องจักรและกระบวนการเริ่มผลิตสินค้าใหม่ พร้อมทั้งใส่การวัดซ้ำด้วยชุดข้อมูลประเมินตามรอบเวลาไว้ในการดำเนินงาน เพื่อให้ตรวจจับได้ด้วยตัวเลขว่าความแม่นยำเริ่มตกแล้ว
คำถามที่พบบ่อย
Generative AI ภาษาไทย แม่นยำน้อยกว่าภาษาญี่ปุ่นหรือไม่
ขึ้นอยู่กับลักษณะงาน ในงานที่มีชั้นที่ 4 เป็นแกน อย่างงานแปลและงานสรุป ความสามารถของโมเดลในการจัดการภาษาไทยจะแสดงส่วนต่างออกมาจริง แต่ในงานค้นหาและงานรวมยอด สิ่งที่รู้สึกว่าด้อยกว่าภาษาญี่ปุ่นนั้น ส่วนใหญ่คือส่วนต่างของสถานะการจัดเตรียมในชั้นที่ 1 และชั้นที่ 2 บางครั้งความจริงมีเพียงว่าเอกสารภาษาญี่ปุ่นจัดรูปแบบการเขียนให้ตรงกันไว้แล้ว ส่วนเอกสารภาษาไทยยังไม่ได้จัด ถ้าไม่ปรับเงื่อนไขให้เท่ากันก่อนเปรียบเทียบ จะแยกไม่ออกว่าเป็นส่วนต่างของความสามารถทางภาษาของโมเดล หรือเป็นส่วนต่างของขั้นเตรียมข้อมูล
Generative AI ตัวไหนแข็งแรงด้านภาษาไทย
เท่าที่ยืนยันได้จากแหล่งข้อมูลปฐมภูมิ Typhoon 2 ของ SCB 10X เผยแพร่เมื่อวันที่ 10 มกราคม ค.ศ. 2025 โดยฝั่งข้อความมีครบ 5 ขนาด ตั้งแต่ 1B ถึง 70B และยังมี Typhoon2-Audio สำหรับรับส่งเสียง กับ Typhoon2-Vision ที่มี OCR ในตัว สำหรับภาษาในเอเชียตะวันออกเฉียงใต้มี SEA-LION ของ AI Singapore ซึ่งรองรับภาษา SEA ตั้งแต่ 11 ภาษาขึ้นไป รุ่นล่าสุดคือ SEA-LION v4.5 เมื่อวันที่ 20 พฤษภาคม ค.ศ. 2026 ส่วนกรอบการประเมินมี SEA-HELM อย่างไรก็ตาม คะแนนและอันดับรายตัวยังยืนยันไม่ได้จากแหล่งข้อมูลปฐมภูมิ บทความนี้จึงไม่ลงลึกถึงอันดับ ตัวไหนเหมาะกับองค์กรของคุณ วิธีเดียวที่แน่นอนคือวัดด้วยชุดข้อมูลประเมินขององค์กรเอง
จำเป็นต้องเตรียมตัวตัดคำภาษาไทยขึ้นมาเองหรือไม่
ไม่จำเป็นต้องสร้างกลไกการตัดคำขึ้นมาเอง เพราะมีไลบรารีที่มีอยู่แล้ว สิ่งที่ต้องเตรียมเองคือ ฝั่งพจนานุกรม และต้องเป็นพจนานุกรมชื่อเฉพาะภายในองค์กรด้วย เนื่องจาก NewMM ซึ่งเป็นเอนจินค่าเริ่มต้นของ PyThaiNLP ทำงานด้วยการจับคู่ยาวที่สุดโดยอิงพจนานุกรม วิธีตัดคำจึงพังตรงชื่อเครื่องจักรและตัวย่อที่ไม่มีในพจนานุกรม ตรงนี้มีแต่บริษัทของคุณเองที่สร้างได้
ทำไม RAG ภาษาไทยถึงค้นหาไม่ตรง
เท่าที่ได้รับปรึกษาจากฐานปฏิบัติการในไทย สาเหตุอยู่ที่ชั้นที่ 2 เป็นส่วนใหญ่ เพราะวิธีตัดคำของประโยคคำถามกับวิธีตัดคำของฝั่งเอกสารไม่ตรงกัน คีย์เวิร์ดที่ควรจะตรงกันจึงไม่ตรงกัน โดยเฉพาะกรณีที่ชื่อเฉพาะภายในองค์กรถูกแยกคนละแบบในสองฝั่ง ซึ่งพบมาก รองลงมาคือชั้นที่ 1 ที่อักขระคั่นซึ่งมองไม่เห็นและความไม่สม่ำเสมอของการเขียนขัดขวางการจับคู่ เนื่องจากเปลี่ยนโมเดลแล้วผลการค้นหาก็ไม่เปลี่ยน การเปลี่ยนโมเดลจึงไม่ได้ผลกับอาการนี้
Generative AI ภาษาไทยมีค่าใช้จ่ายสูงขึ้นหรือไม่
จำนวนโทเคนที่นับได้จากเอกสารภาษาไทยชุดเดียวกันจะเปลี่ยนไปตามโทเคนไนเซอร์ ในบทความวิชาการของ Typhoon มีข้อความระบุว่าโทเคนไนเซอร์ของ Typhoon มีประสิทธิภาพในการแบ่งโทเคนภาษาไทยมากกว่า GPT-3.5 อยู่ 2.62 เท่า ในระบบคิดค่าบริการตามปริมาณการใช้ ส่วนต่างนี้จะมีผลกับจำนวนเงินโดยตรง แต่นี่เป็น การเปรียบเทียบระหว่างโทเคนไนเซอร์ที่ประมวลผลเอกสารภาษาไทยด้วยกันเอง ไม่ใช่การเปรียบเทียบกับภาษาอังกฤษ นอกจากนี้ ในทางปฏิบัติแล้ว ค่าจัดทำพจนานุกรมและค่าดำเนินงานมักส่งผลตามมาทีหลังมากกว่าค่าใช้บริการโมเดล การตั้งวงถกเรื่องค่าใช้จ่ายจึงไม่ควรประกอบขึ้นจากค่าใช้บริการโมเดลเพียงอย่างเดียว
ควรวัดความแม่นยำของภาษาไทยอย่างไร
เก็บตัวอย่างจากเอกสารภายในองค์กรจริง กำหนดเฉลยร่วมกับทีมงานหน้างาน เขียนเกณฑ์การตัดสินเป็นข้อความไว้ก่อน แล้วตรึงเวอร์ชันไว้ อย่าใช้ประโยคตัวอย่างที่แต่งขึ้น เพราะไม่มีทั้งความไม่สม่ำเสมอของการเขียนและอักขระคั่นที่มองไม่เห็น ปัญหาของชั้นที่ 1 และชั้นที่ 2 จึงหายไปตั้งแต่ต้น จากนั้นให้ติดป้ายกำกับกับความผิดพลาดแต่ละกรณีว่ามาจากชั้นที่ 1 ชั้นที่ 2 หรือชั้นที่ 4 เมื่อมีป้ายกำกับนี้ ชั้นที่จะลงมือต่อไปจะถูกกำหนดด้วยข้อมูล
สรุป
เมื่อ Generative AI ภาษาไทยให้ผลไม่แม่นยำ สิ่งที่พังไม่ใช่โมเดล แต่คือขั้นเตรียมข้อมูล ขอเรียบเรียงประเด็นสำคัญของบทความนี้
- การประมวลผลภาษาไทยแบ่งเป็น 4 ชั้น คือชั้นอักขระ ชั้นคำ ชั้นโทเคน และชั้นความหมาย โมเดลอยู่ที่ชั้นที่ 4 การเปลี่ยนเฉพาะตรงนั้นไม่ได้ทำให้ความเสียหายที่ต้นน้ำหายไป
- ชั้นที่ 1 คือชั้นที่จัดข้อความซึ่งหน้าตาเหมือนกันแต่ข้างในต่างกันให้ตรงกัน ทั้งพุทธศักราช เลขไทย อักขระคั่นที่มองไม่เห็น และลำดับการประกอบอักขระ อยู่ตรงนี้ทั้งหมด
- ชั้นที่ 2 คือหัวใจ เนื่องจากภาษาไทยไม่มีช่องว่างระหว่างคำ จึงต้องตัดสินใจว่าจะตัดคำที่ตำแหน่งไหน และการค้นหา การแบ่งชังก์ การจับคู่คีย์เวิร์ด กับการประเมิน ล้วนพึ่งพาวิธีตัดคำนี้พร้อมกัน
- ความแม่นยำการตัดคำของ NewMM ซึ่งเป็นเอนจินค่าเริ่มต้นของ PyThaiNLP อยู่ที่ 71.18% บนเบนช์มาร์ก BEST 2010 ขณะที่ระดับสูงสุดในช่วงเวลาเดียวกันคือ 95.60% ถ้าใช้ค่าเริ่มต้นตามเดิม จะหลุดตรงคำศัพท์เฉพาะขององค์กรที่ไม่มีในพจนานุกรม
- ชั้นที่ 3 มีผลต่อค่าใช้จ่ายและปริมาณที่ใส่เข้าไปได้ โทเคนไนเซอร์ของ Typhoon มีประสิทธิภาพในการแบ่งโทเคนภาษาไทยมากกว่า GPT-3.5 อยู่ 2.62 เท่า แต่ตัวเลขนี้ไม่ใช่การเปรียบเทียบกับภาษาอังกฤษ
- ชั้นที่มีอิทธิพลสูงสุดต่างกันไปตามลักษณะงาน งานที่ควรวางการเลือกโมเดลไว้เป็นก้าวแรกมีเพียงงานแปล ส่วน RAG แชทบอท รายงานการประชุม OCR แบบฟอร์ม และการจัดหมวดกับการรวมยอด ล้วนเริ่มลงมือจากชั้นที่ 1 หรือชั้นที่ 2
- ค่าใช้จ่ายแบ่งได้เป็น 5 ชั้น สิ่งที่ถูกข้ามบ่อยที่สุดคือการสร้างข้อมูลประเมิน และถ้าข้ามตรงนี้ไปจะถกเรื่องความแม่นยำไม่ได้
- 90 วันแรกให้เดินตามลำดับ การนอร์มัลไลซ์ พจนานุกรม แล้วจึงเป็นชุดข้อมูลประเมิน โดยวางการเปรียบเทียบโมเดลไว้ท้ายสุด
เรื่องปรึกษาที่ว่าภาษาไทยไม่แม่นยำนั้น เริ่มต้นได้จากการแยกแยะว่ามันเกิดขึ้นที่ชั้นไหน จะอยู่ในขั้นที่แค่อยากลองดูสักครั้งว่าเอกสารขององค์กรพังที่ชั้นไหน หรืออยากปรึกษาเฉพาะวิธีสร้างการประเมิน ก็ยินดีเช่นกัน ติดต่อเราได้จาก แบบฟอร์มติดต่อ