Original Title: Automatic Speech Recognition USING Hidden Markov Models
Document Type: Textbook / Educational Material
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original material for complete content.

ការទទួលស្គាល់សំឡេងនិយាយដោយស្វ័យប្រវត្តិ ដោយប្រើប្រាស់ម៉ូដែល Hidden Markov

ចំណងជើងដើម៖ Automatic Speech Recognition USING Hidden Markov Models

អ្នកនិពន្ធ៖ Ir. P. Wiggers, Dr. drs. L.J.M. Rothkrantz (Data and Knowledge Systems Group, TU Delft)

ឆ្នាំបោះពុម្ព៖ September 2003, TU Delft

វិស័យសិក្សា៖ Artificial Intelligence / Computer Science

១. សេចក្តីសង្ខេប (Overview)

ប្រធានបទ (Topic)៖ ឯកសារនេះដោះស្រាយបញ្ហានៃការបង្កើតប្រព័ន្ធទទួលស្គាល់សំឡេងនិយាយដោយស្វ័យប្រវត្តិ (Automatic Speech Recognition) ដែលជាបញ្ហាស្មុគស្មាញដោយសារភាពខុសគ្នានៃសំឡេង ល្បឿន បរិបទ និងលក្ខណៈរបស់អ្នកនិយាយ។

រចនាសម្ព័ន្ធ (Structure)៖ ឯកសារនេះបង្ហាញពីទ្រឹស្តីទូទៅ វិធីសាស្ត្រគណនា និងការអនុវត្តជាក់ស្តែងក្នុងការបង្កើតប្រព័ន្ធទទួលស្គាល់សំឡេង ដោយប្រើប្រាស់ប្រព័ន្ធឧបករណ៍ HTK និងទិន្នន័យសំឡេងភាសាហូឡង់ Polyphone។

ចំណុចសំខាន់ៗ (Key Takeaways)៖

២. គោលបំណងសិក្សា (Learning Objectives)

បន្ទាប់ពីអានឯកសារនេះ អ្នកគួរអាច៖

  1. យល់ដឹងពីមូលដ្ឋានទ្រឹស្តីនៃការទទួលស្គាល់សំឡេងដោយស្ថិតិ (Statistical Speech Recognition) ដោយប្រើប្រាស់ម៉ូដែល Hidden Markov (HMM)។","សិក្សាពីការតំឡើង និងការប្រើប្រាស់ឧបករណ៍ HTK (Hidden Markov Toolkit) សម្រាប់ការរៀបចំទិន្នន័យ ការហ្វឹកហាត់ (Training) និងការវាយតម្លៃប្រព័ន្ធ។","អនុវត្តទ្រឹស្តីដើម្បីបង្កើត និងធ្វើឱ្យប្រសើរឡើងនូវប្រព័ន្ធទទួលស្គាល់សំឡេងនិយាយបន្តបន្ទាប់ដែលមានវាក្យសព្ទច្រើន (Large Vocabulary Continuous Speech Recognition) តាមរយៈករណីសិក្សាជាក់ស្តែង។

ឯកសារនេះផ្តល់នូវមគ្គុទ្ទេសក៍ដ៏ទូលំទូលាយស្តីពីការបង្កើតប្រព័ន្ធទទួលស្គាល់សំឡេងដោយស្វ័យប្រវត្តិ។ វាគ្របដណ្តប់លើក្បួនដោះស្រាយគណិតវិទ្យាស្នូល (ដូចជា Viterbi និង Baum-Welch) ការណែនាំអំពីការប្រើប្រាស់កញ្ចប់កម្មវិធី HTK និងបង្ហាញពីករណីសិក្សាជាក់ស្តែងមួយជំហានម្តងៗក្នុងការបង្កើតប្រព័ន្ធទទួលស្គាល់សំឡេងសម្រាប់ភាសាហូឡង់។

៣. គោលគំនិតសំខាន់ៗ (Key Concepts)

គោលគំនិត (Concept) ការពន្យល់ (Explanation) ឧទាហរណ៍ (Example)
Hidden Markov Models (HMM)
ម៉ូដែល Hidden Markov
គឺជាឧបករណ៍គណិតវិទ្យាដ៏មានឥទ្ធិពលសម្រាប់ធ្វើម៉ូដែលទិន្នន័យស៊េរីពេលវេលា។ ក្នុងបរិបទនៃការទទួលស្គាល់សំឡេង វាត្រូវបានប្រើដើម្បីតំណាងឱ្យសូរស័ព្ទ (phonemes) ដោយគណនាប្រូបាប៊ីលីតេនៃការផ្លាស់ប្តូរពីស្ថានភាពមួយទៅស្ថានភាពមួយទៀត (Transition probabilities) និងការបង្កើតសញ្ញាសំឡេង។ ការប្រើប្រាស់ HMM ដែលមាន ៣ ស្ថានភាព (3-state left-to-right model) ដើម្បីតំណាងឱ្យសូរស័ព្ទ /a/ ដោយមានស្ថានភាពចាប់ផ្តើម កណ្តាល និងបញ្ចប់។
Viterbi Algorithm
ក្បួនដោះស្រាយ Viterbi
គឺជាក្បួនដោះស្រាយកម្មវិធីឌីណាមិក (Dynamic Programming) ដែលត្រូវបានប្រើដើម្បីស្វែងរកលំដាប់ស្ថានភាព (state sequence) ដែលទំនងបំផុតលាក់នៅពីក្រោយសញ្ញាសំឡេងដែលត្រូវបានអង្កេតឃើញ។ វាជួយសម្រួលការគណនាដោយកាត់បន្ថយភាពស្មុគស្មាញនៃប្រូបាប៊ីលីតេនៃការស្វែងរកពាក្យដែលបាននិយាយ។ កម្មវិធីប្រើក្បួននេះ (តាមរយៈឧបករណ៍ HVite របស់ HTK) ដើម្បីទាយថាតើពាក្យ "មួយ" ឬ "ពីរ" ត្រូវបាននិយាយ ដោយស្វែងរកផ្លូវដែលមានប្រូបាប៊ីលីតេខ្ពស់បំផុតក្នុងបណ្តាញពាក្យដោយស្វ័យប្រវត្តិ។
Language Modeling (N-grams)
ការបង្កើតម៉ូដែលភាសាដោយប្រើ N-grams
ម៉ូដែលភាសាផ្តល់នូវប្រូបាប៊ីលីតេនៃលំដាប់ពាក្យដែលទំនងជានឹងត្រូវបាននិយាយ ដោយផ្អែកលើវេយ្យាករណ៍ ឬស្ថិតិនៃពាក្យដែលធ្លាប់កើតឡើង (ឧទាហរណ៍៖ Bigram ឬ Trigram)។ វាជួយប្រព័ន្ធឱ្យដឹងថាពាក្យមួយណាគួរកើតឡើងបន្ទាប់ពីពាក្យមួយទៀត។ ប្រព័ន្ធនឹងឱ្យតម្លៃប្រូបាប៊ីលីតេខ្ពស់ចំពោះឃ្លា "ខ្ញុំចង់ញ៉ាំបាយ" ជាជាង "ខ្ញុំចង់ញ៉ាំឡាន" ផ្អែកលើទិន្នន័យអត្ថបទធំៗ (Corpus) ដែលវាបានរៀន។
Acoustic Feature Extraction (MFCC)
ការទាញយកលក្ខណៈពិសេសនៃសំឡេង (MFCC)
គឺជាការបំប្លែងរលកសំឡេងដើម (Raw audio waveform) ទៅជាវ៉ិចទ័រទិន្នន័យ ដែលតំណាងឱ្យលក្ខណៈសំខាន់ៗនៃសំឡេងដោយកាត់បន្ថយសំឡេងរំខាន។ បច្ចេកទេសទូទៅបំផុតគឺ MFCC (Mel-frequency cepstral coefficients) ដែលយកគំរូតាមការស្តាប់របស់មនុស្ស។ ការបំប្លែងឯកសារសំឡេងរៀងរាល់ ១០ មីលីវិនាទី ទៅជាវ៉ិចទ័រដែលមាន ៣៩ វិមាត្រ (39-dimensional feature vectors) មុនពេលបញ្ចូលទៅក្នុងម៉ូដែល HMM ។
Context Dependent Models (Triphones)
ម៉ូដែលអាស្រ័យលើបរិបទ (Triphones)
នៅក្នុងការនិយាយធម្មតា ការបញ្ចេញសំឡេងនៃសូរស័ព្ទមួយតែងតែរងឥទ្ធិពលពីសូរស័ព្ទខាងមុខ និងខាងក្រោយវា (Coarticulation)។ Triphones គឺជាការបង្កើតម៉ូដែលដាច់ដោយឡែកសម្រាប់សូរស័ព្ទមួយដោយផ្អែកលើបរិបទជុំវិញរបស់វា ដើម្បីបង្កើនភាពត្រឹមត្រូវ។ ជំនួសឱ្យការប្រើម៉ូដែល /e/ តែមួយទូទៅ ប្រព័ន្ធបង្កើតម៉ូដែល h-e+t (សំឡេង e ដែលនៅចន្លោះ h និង t) សម្រាប់ពាក្យ "het" ដើម្បីឱ្យការចាប់សំឡេងកាន់តែច្បាស់។

៤. ភាពពាក់ព័ន្ធសម្រាប់កម្ពុជា (Cambodia Relevance)

បច្ចេកវិទ្យាទទួលស្គាល់សំឡេង (ASR) មានសារៈសំខាន់ណាស់សម្រាប់ប្រទេសកម្ពុជា ក្នុងការធ្វើឱ្យការប្រាស្រ័យទាក់ទងរវាងមនុស្ស និងកុំព្យូទ័រកាន់តែងាយស្រួល ជាពិសេសសម្រាប់ជួយសម្រួលដល់ប្រជាជនដែលមានកម្រិតអក្ខរកម្មបច្ចេកវិទ្យាទាប។

ការអនុវត្ត (Applications)៖

ការយល់ដឹងពីទ្រឹស្តី HMM និងការអនុវត្តដោយប្រើ HTK Toolkit នេះ គឺជាមូលដ្ឋានគ្រឹះដ៏រឹងមាំសម្រាប់និស្សិតកម្ពុជាក្នុងការចូលរួមស្រាវជ្រាវ និងអភិវឌ្ឍបច្ចេកវិទ្យាបញ្ញាសិប្បនិម្មិតសម្រាប់ភាសាខ្មែរ (Khmer NLP) ដែលនៅមានតម្រូវការខ្ពស់ និងការខ្វះខាតធនធាន។

៥. មគ្គុទ្ទេសក៍សិក្សា (Study Guide)

លំហាត់ និងសកម្មភាពសិក្សាដើម្បីពង្រឹងការយល់ដឹង៖

  1. ការរៀបចំទិន្នន័យសំឡេង (Audio Data Preparation): សិស្សគួរសាកល្បងថតសំឡេងខ្លួនឯងអានឃ្លាខ្លីៗជាភាសាខ្មែរ (ឧទាហរណ៍៖ ប្រយោគចំនួន ៥០) រួចប្រើប្រាស់កម្មវិធី Praat ដើម្បីវិភាគរលកសំឡេង និងទាញយកលក្ខណៈពិសេស (Feature Extraction) ដើម្បីយល់ពីទម្រង់ MFCC ។
  2. ការប្រើប្រាស់ឧបករណ៍ HTK ជាមូលដ្ឋាន (Basic HTK Usage): ដំឡើងកញ្ចប់កម្មវិធី HTK (Hidden Markov Toolkit) នៅលើប្រព័ន្ធប្រតិបត្តិការ Windows ឬ Linux រួចសាកល្បងដំណើរការបញ្ជា HCopy ដើម្បីបំប្លែងឯកសារសំឡេង (.wav) ទៅជាឯកសារវ៉ិចទ័រលក្ខណៈ (Feature vectors) ដែលប្រព័ន្ធអាចយល់បាន។
  3. ការបង្កើតម៉ូដែលភាសា (Building a Language Model): ប្រមូលអត្ថបទព័ត៌មានភាសាខ្មែរខ្លីៗ ដើម្បីបង្កើតវចនានុក្រម (Dictionary) និងបង្កើតម៉ូដែលភាសា Bigram ដោយប្រើប្រាស់ឧបករណ៍ HBuild ឬសរសេរកូដ Python ផ្ទាល់ខ្លួនដើម្បីគណនាប្រូបាប៊ីលីតេ N-gram នៃពាក្យខ្មែរ។
  4. ការហ្វឹកហាត់ម៉ូដែល HMM (Training Monophone Models): អនុវត្តការហ្វឹកហាត់ម៉ូដែល HMM ដំណាក់កាលដំបូង (Flat Start) ដោយប្រើប្រាស់បញ្ជា HCompV និង HERest របស់ HTK លើសំណុំទិន្នន័យសំឡេងដែលបានរៀបចំ ដើម្បីសង្កេតមើលការផ្លាស់ប្តូរនៃមធ្យមភាគ (Mean) និងវ៉ារ្យ៉ង់ (Variance) របស់ម៉ូដែលនីមួយៗបន្ទាប់ពីការហ្វឹកហាត់ (Embedded re-estimation)។
  5. ការវាយតម្លៃភាពត្រឹមត្រូវនៃប្រព័ន្ធ (System Evaluation): ប្រើប្រាស់ឧបករណ៍ HResults ដើម្បីប្រៀបធៀបរវាងលទ្ធផលដែលម៉ូដែលទាយបាន (Recognized transcriptions) ជាមួយនឹងអត្ថបទដើមពិតប្រាកដ ដោយធ្វើការគណនាភាគរយនៃភាពត្រឹមត្រូវនៃពាក្យ (Word Accuracy) និងកំណត់រកចំនួនកំហុស Insertions, Deletions និង Substitutions។

៦. វាក្យសព្ទបច្ចេកទេស (Technical Glossary)

ពាក្យបច្ចេកទេស (English) ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Hidden Markov Model (HMM) ជាម៉ូដែលស្ថិតិគណិតវិទ្យាដែលត្រូវបានប្រើដើម្បីកត់ត្រា និងទស្សន៍ទាយលំដាប់នៃទិន្នន័យ (ដូចជាសញ្ញាសំឡេងបន្តបន្ទាប់គ្នា) ដែលមានស្ថានភាពលាក់បាំង (Hidden states) និងប្រូបាប៊ីលីតេនៃការបញ្ចេញសញ្ញា (Observation probabilities)។ ក្នុងបរិបទនេះ វាត្រូវបានប្រើដើម្បីក្លែងធ្វើពីរបៀបដែលសំឡេងនិយាយរបស់មនុស្សប្រែប្រួលតាមពេលវេលា។ ដូចជាការទស្សន៍ទាយថាតើមិត្តភក្តិរបស់អ្នកកំពុងញ៉ាំអីដោយមើលតែរូបភាពសំរាមដែលគាត់ចោល (សញ្ញាដែលបានបញ្ចេញ) ដោយមិនបានឃើញសកម្មភាពផ្ទាល់ (ស្ថានភាពលាក់បាំង)។
Viterbi algorithm ជាក្បួនដោះស្រាយប្រភេទកម្មវិធីឌីណាមិក (Dynamic Programming) ដែលប្រើសម្រាប់ស្វែងរកផ្លូវ ឬលំដាប់នៃស្ថានភាពដែលទំនងបំផុត (Most likely state sequence)។ នៅក្នុងការទទួលស្គាល់សំឡេង វាជួយប្រព័ន្ធស្វែងរកលំដាប់ពាក្យដែលត្រឹមត្រូវបំផុតពីសំឡេងដែលបានថត ដោយមិនចាំបាច់គណនាគ្រប់ជម្រើសទាំងអស់។ ដូចជាការប្រើប្រាស់ Google Maps ដើម្បីស្វែងរកផ្លូវដែលលឿនបំផុតពីផ្ទះទៅសាលារៀន ក្នុងចំណោមផ្លូវរាប់រយដែលខ្វែងគ្នា ដោយជ្រើសរើសតែផ្លូវណាដែលចំណាយពេលតិចបំផុត។
Baum-Welch algorithm ជាក្បួនដោះស្រាយសម្រាប់ហ្វឹកហាត់ (Training) ម៉ូដែល HMM ដែលត្រូវបានស្គាល់ម្យ៉ាងទៀតថាជា Forward-Backward algorithm។ វាធ្វើបច្ចុប្បន្នភាពប៉ារ៉ាម៉ែត្ររបស់ម៉ូដែលដោយស្វ័យប្រវត្តិ (ដូចជាមធ្យមភាគ និងវ៉ារ្យ៉ង់) តាមរយៈការរៀនពីទិន្នន័យសំឡេងគំរូ ដើម្បីឱ្យម៉ូដែលតំណាងឱ្យទិន្នន័យពិតប្រាកដបានល្អបំផុត (Maximum likelihood)។ ដូចជាគ្រូបង្រៀនម្នាក់ដែលតែងតែកែសម្រួលវិធីសាស្ត្របង្រៀនរបស់ខ្លួនបន្តិចម្តងៗបន្ទាប់ពីឃើញលទ្ធផលប្រឡងរបស់សិស្សរាល់ខែ ដើម្បីឱ្យសិស្សងាយយល់ជាងមុននៅពេលក្រោយ។
Mel-frequency cepstral coefficients (MFCC) គឺជាវ៉ិចទ័រទិន្នន័យដែលតំណាងឱ្យលក្ខណៈសំខាន់ៗនៃសញ្ញាសំឡេង ដោយពង្រីក និងបង្រួមប្រេកង់ (Frequency) ផ្អែកលើមាត្រដ្ឋាន Mel scale ដែលស្រដៀងទៅនឹងរបៀបដែលត្រចៀកមនុស្សស្តាប់ឮ។ វាគឺជាជំហានដំបូងនៃការរៀបចំទិន្នន័យសំឡេង (Feature extraction) មុនពេលបញ្ចូលទៅក្នុងម៉ូដែលដើម្បីវែកញែកសូរស័ព្ទ។ ដូចជាម៉ាស៊ីនចម្រោះកាហ្វេដែលច្រោះយកតែក្លិន និងរសជាតិកាហ្វេដ៏ឈ្ងុយ (លក្ខណៈពិសេសនៃសំឡេង) ដើម្បីយកទៅឆុង ដោយបោះចោលកាក និងសំបកដែលមិនចាំបាច់ (សំឡេងរំខាន)។
Bigram language model ជាម៉ូដែលភាសាដែលគណនាប្រូបាប៊ីលីតេនៃការកើតឡើងនៃពាក្យមួយ ដោយផ្អែកទៅលើពាក្យ១ដែលនៅខាងមុខវា។ វាជួយបង្កើតក្រិត្យក្រមវេយ្យាករណ៍ឱ្យប្រព័ន្ធ ដើម្បីកុំឱ្យប្រព័ន្ធស្តាប់ច្រឡំទៅជាពាក្យដែលមិនទំនងនឹងប្រើជាប់គ្នាក្នុងការនិយាយជាក់ស្តែង។ ដូចជាមុខងារទាយពាក្យបន្ទាប់ (Auto-predict) នៅលើក្តារចុចទូរសព្ទរបស់អ្នក ដែលដឹងថាបើអ្នកវាយពាក្យ "សួស្តី" វានឹងលោតពាក្យ "ឆ្នាំថ្មី" មកឱ្យជ្រើសរើសដោយស្វ័យប្រវត្តិ។
Triphone ជាម៉ូដែលសូរស័ព្ទ (Phoneme model) ដែលត្រូវបានបង្កើតឡើងដោយគិតគូរពីបរិបទ ឬឥទ្ធិពលនៃសូរស័ព្ទដែលនៅខាងឆ្វេង និងខាងស្តាំរបស់វា។ វិធីនេះជួយឱ្យការសម្គាល់សំឡេងកាន់តែមានភាពត្រឹមត្រូវខ្ពស់ ព្រោះសំឡេងមនុស្សនិយាយរមែងរងឥទ្ធិពលពីតួអក្សរដែលនៅជាប់វា (Coarticulation)។ ដូចជារសជាតិនៃសាច់ជ្រូកដែលប្រែប្រួលបន្តិចបន្តួចទៅតាមគ្រឿងទេសដែលអ្នកដាក់នៅពីមុខ និងពីក្រោយវាពេលចម្អិន វាមិនមានរសជាតិដូចសាច់ជ្រូកសុទ្ធដែលស្ងោរទឹកធម្មតានោះទេ។
Beam search ជាបច្ចេកទេសកាត់បន្ថយជម្រើសក្នុងការស្វែងរកពាក្យ (Pruning) នៅក្នុងការសម្គាល់សំឡេង។ វាដំណើរការដោយកាត់ចោលផ្លូវ ឬសម្មតិកម្មណាដែលមានប្រូបាប៊ីលីតេទាបជាងកម្រិតកំណត់ (Threshold) ដើម្បីកាត់បន្ថយបន្ទុកគណនា ធ្វើឱ្យប្រព័ន្ធដើរបានលឿន និងមិនស៊ីទំហំផ្ទុកច្រើន។ ដូចជាអ្នកកាត់មែកឈើដែលស្វិត ឬមិនសូវមានផ្លែចោល ដើម្បីឱ្យដើមឈើផ្តោតជីវជាតិទៅចិញ្ចឹមតែមែកដែលកំពុងលូតលាស់ល្អនិងផ្តល់ផ្លែផ្កាច្រើន។
Gaussian mixture densities គឺជាការរួមបញ្ចូលគ្នានៃខ្សែកោងប្រូបាប៊ីលីតេ Gaussian ជាច្រើន (Mixture components) ក្នុងម៉ូដែលតែមួយ ដើម្បីតំណាងឱ្យទម្រង់បំណែងចែកសំឡេងដែលស្មុគស្មាញ (ឧទាហរណ៍៖ ការប្រែប្រួលកម្រិតសំឡេងរវាងមនុស្សប្រុស និងមនុស្សស្រី) ដែលមិនអាចតំណាងបានដោយខ្សែកោងតែមួយបានល្អ។ ដូចជាការលាយពណ៌គោល (ក្រហម លឿង ខៀវ) ក្នុងបរិមាណផ្សេងៗគ្នា ដើម្បីបង្កើតបានជាពណ៌ចម្រុះថ្មីៗដ៏ស្រស់ស្អាតនិងស្មុគស្មាញដែលមិនមានពីធម្មជាតិ។

៧. ប្រធានបទពាក់ព័ន្ធ (Further Reading)

អត្ថបទដែលបានបោះពុម្ពនៅលើ KhmerResearch ដែលទាក់ទងនឹងប្រធានបទនេះ៖

ប្រធានបទ និងសំណួរស្រាវជ្រាវដែលទាក់ទងនឹងឯកសារនេះ ដែលអ្នកអាចស្វែងរកបន្ថែម៖