Paxa Labs

บทความSpeech-to-Text

ถอดเสียงภาษาไทยที่สลับไปเป็นอังกฤษ

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

· อ่าน 1 นาที

ลองฟังสายในออฟฟิศไทยสักสายแล้วนับคำอังกฤษ พนักงานบริการพูดว่า cancel และ order วิศวกรพูดว่า deploy และ staging หมอ ทนาย และช่างซ่อมรถ ต่างมีคลังคำอังกฤษประจำตัวอยู่ในประโยคไทยธรรมดา การสลับภาษาไทยกับอังกฤษถูกบันทึกไว้ในงานศึกษาการพูดในที่สาธารณะของไทย และเป็นเรื่องปกติในไฟล์เสียงที่ผลิตภัณฑ์ไทยเก็บได้จริง

นี่เป็นโจทย์ของการถอดเสียงก่อนจะเป็นโจทย์ของภาษา ประโยคหนึ่งมีความหมายเดียวแต่มีสองระบบเขียน และเอนจินต้องตัดสินว่าจะเขียนอะไรลงไป บทความนี้ว่าด้วยการตัดสินนั้น และว่าด้วยรูปสามแบบที่บทถอดเป็นได้

สามรูป จากประโยคเดียว#

ลองเอาบรรทัดหนึ่งที่พนักงานบริการอาจพูด มันกลับมาได้สามแบบ

บรรทัดเดียว บทถอดสามแบบ
spoken     ลูกค้า cancel order ไปแล้วตั้งแต่เมื่อวาน

romanised  luk kha cancel order pai laeo tang tae muea wan
phonetic   ลูกค้า แคนเซิล ออร์เดอร์ ไปแล้วตั้งแต่เมื่อวาน
as spoken  ลูกค้า cancel order ไปแล้วตั้งแต่เมื่อวาน

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

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

มันทำอะไรกับเวลาระดับคำ#

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

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

ตรึงศัพท์ของคุณเอง#

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

ใส่เฉพาะชื่อที่ฟังแล้วกำกวมจริง รายการที่เต็มไปด้วยคำทั่วไปไม่ช่วยอะไร ส่วนรายการที่เกินเพดานจะถูกปฏิเสธไปเลย โดยไม่มีการตัดทิ้งเงียบ ๆ ซึ่งเป็นพฤติกรรมที่คุณต้องการเมื่อรายการนั้นถูกสร้างจากฐานข้อมูล

แบบการเขียนยังใช้ได้เหมือนเดิม#

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

โมเดลทำอย่างไร#

Paxa STT Lite เขียนทุกคำในระบบเขียนที่มันถูกพูดออกมา และจับเวลาครอบคลุมทั้งคำในทั้งสองฝั่งของจุดสลับ ตัวเลขความแม่นยำจะยังไม่เผยแพร่จนกว่าจะเผยแพร่วิธีประเมินไว้ข้างกัน วิธีตัดสินเรื่องนี้สำหรับไฟล์ของคุณเองจึงคือลองรันสักสองสามไฟล์

ขั้นต่อไป#