การรู้จำเสียงไม่ซับซ้อนอย่างที่คุณคิด
ขั้นแรกให้จินตนาการถึงการสร้าง Markov Chain (MC) ที่รับรู้ข้อความ โปรแกรมของคุณอ่านข้อความ (สมบูรณ์แบบไม่มีข้อผิดพลาด) และคำนวณสถานะ (คำ) และการเปลี่ยนแปลงสถานะ (คำถัดไป) ดูเหมือนว่าคุณจะทำสิ่งนี้ลง ตอนนี้คุณสามารถสร้างข้อความหรือให้ข้อความคาดเดาคำถัดไปโดยใช้สถานะและการเปลี่ยนแปลงความน่าจะเป็นของ MC ของคุณ
ตอนนี้คิดว่าคุณต้องการใช้ MC ของคุณด้วยคำพูด คุณจะให้คนอ่านข้อความที่คล้ายกับ MC ของคุณและคุณตั้งค่าใช่มั้ย ดี ... ยกเว้นว่าพวกเขาจะออกเสียงคำที่แตกต่าง: ที่ข้อความเขียนว่า "มันฝรั่ง" คุณจะได้ยิน "po-TAY-toh" และ "po-TAH-toh" และ "pu-TAY" - ถึง "ฯลฯ และในทางกลับกัน: ข้อความ" กิน "และ" แปด "แสดงถึงสองสถานะที่แตกต่างกัน แต่มี (โดยปกติ) ออกเสียงเหมือนกัน
อัลกอริทึมของคุณไม่เห็นสถานะ (คำ) พื้นฐานอีกต่อไป แต่จะเห็นการกระจายความน่าจะเป็นของการออกเสียงสำหรับแต่ละคำ MC ต้นฉบับของคุณถูกซ่อนอยู่หลังการออกเสียงและตอนนี้แบบจำลองของคุณต้องมีสองชั้น
ดังนั้นคุณสามารถให้ผู้คนมากมายอ่านออกเสียงข้อความที่คุณใช้สำหรับการฝึกอบรมดั้งเดิมของคุณคุณจะได้รับการแจกแจงการออกเสียงสำหรับแต่ละคำแล้วรวมโมเดลเดิมของคุณเข้ากับโมเดลการออกเสียงและคุณมีโมเดลมาร์คอฟที่ซ่อนอยู่ ( HMM)
ปัญหาในโลกแห่งความเป็นจริงส่วนใหญ่จะเป็นเช่นนี้เนื่องจากโลกแห่งความจริงมีแนวโน้มที่จะมีเสียงดัง คุณจะไม่ทราบว่ามีบางสิ่งในสถานะแทนคุณจะได้รับตัวบ่งชี้ที่หลากหลายสำหรับแต่ละรัฐ: บางครั้งตัวบ่งชี้เดียวกันสำหรับสถานะที่แตกต่างกัน ("กิน" และ "แปด") และตัวบ่งชี้ที่แตกต่างกันสำหรับรัฐเดียวกัน ("pu-TAY-toe" และ "pah-tah-TOE") ดังนั้น HMM จึงเหมาะสำหรับปัญหาในโลกแห่งความเป็นจริงมากขึ้น
[หมายเหตุสองด้าน: 1) การรู้จำเสียงที่เกิดขึ้นจริงทำงานได้ในระดับเสียงไม่ใช่ระดับคำและ 2) ฉันเชื่อว่า HMM เป็นราชาแห่งเนินเขาสำหรับการรู้จำเสียง แต่เพิ่งได้รับการลดทอนจากเครือข่ายประสาทลึก]