បញ្ហា (The Problem)៖ ឯកសារនេះដោះស្រាយតម្រូវការក្នុងការបង្កើតម៉ូដែលភាសា (Language Model) ដែលមានភាពរឹងមាំសម្រាប់ដំណើរការជាក់ស្តែង ដើម្បីផ្តល់នូវប្រូបាប៊ីលីតេតាមបែបវេយ្យាករណ៍សម្រាប់ម៉ាស៊ីនស្វែងរកក្នុងប្រព័ន្ធចំណាំការនិយាយបន្តបន្ទាប់ (Continuous Speech Recognition) ដោយប្រើប្រាស់ Hidden Markov Model។
វិធីសាស្ត្រ (The Methodology)៖ ការស្រាវជ្រាវនេះបានអនុវត្តការសរសេរកូដជា C++ objects ដើម្បីបង្កើត និងទាញយកវេយ្យាករណ៍តាមបែបស្ថិតិ (Stochastic grammars) ដោយប្រើប្រាស់ Bigrams និង N-grams។
លទ្ធផលសំខាន់ៗ (The Verdict)៖
| វិធីសាស្ត្រ (Method) | គុណសម្បត្តិ (Pros) | គុណវិបត្តិ (Cons) | លទ្ធផលគន្លឹះ (Key Result) |
|---|---|---|---|
| Proposed C++ Stochastic N-gram Model ម៉ូដែលភាសា N-gram តាមបែបស្ថិតិ C++ ដែលបានស្នើ |
មានភាពងាយស្រួលក្នុងការធ្វើសមាហរណកម្មទៅក្នុងបណ្ណាល័យកូដផ្សេងៗ និងអាចឆ្លើយតបសំណួរតាមពេលវេលាជាក់ស្តែង (Real-time) បានលឿន។ | ជួបប្រទះបញ្ហាដែនកំណត់នៃប្រភេទគំរូទិន្នន័យ (Data type) នៅពេលដែលប្រូបាប៊ីលីតេដែលបានធ្វើ Normalization មានទំហំតូចខ្លាំងពេក។ | ម៉ូដែលនេះផ្តល់លទ្ធផលបញ្ជីពាក្យ n-best ដូចគ្នាបេះបិទទៅនឹងប្រព័ន្ធ CMU Toolkit លើកលែងតែចំណុចដែនកំណត់អប្បបរមានៃទិន្នន័យ។ |
| CMU Statistical Language Modeling Toolkit ប្រព័ន្ធ CMU Statistical Language Modeling Toolkit |
អាចដោះស្រាយបានយ៉ាងល្អនូវប្រូបាប៊ីលីតេដែលមានទំហំតូចខ្លាំងដោយប្រើប្រាស់ប្រេកង់រាប់ផ្ទាល់ (Raw counts) ជំនួសឱ្យការធ្វើ Normalization។ | ទាមទារការពឹងផ្អែកលើប្រព័ន្ធក្រៅ (External toolkit) ដែលអាចមានភាពលំបាកក្នុងការកែច្នៃស៊ីជម្រៅសម្រាប់ប្រព័ន្ធផ្ទាល់ខ្លួន។ | ត្រូវបានប្រើប្រាស់ជាម៉ូដែលគោល (Baseline) ដ៏គួរឱ្យទុកចិត្តដើម្បីផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវនៃការបង្កើត N-gram ក្នុងប្រព័ន្ធថ្មី។ |
| UNIX Shell Scripts (cat, tr, sort, uniq, awk) ការប្រើប្រាស់ UNIX Shell Scripts |
មានភាពបត់បែនខ្ពស់ (Portable) និងមានដំណើរការលឿនសម្រាប់ការរៀបចំទិន្នន័យ ដោយសារការប្រើប្រាស់ Parallel pipes។ | មុខងារមានការកំណត់ត្រឹមតែការរាប់ប្រេកង់ធម្មតា មិនអាចឈានដល់ការគណនាម៉ាទ្រីក (Matrix) ស្មុគស្មាញបានឡើយ។ | អនុញ្ញាតឱ្យបង្កើតបញ្ជីពាក្យ (Lexicon/Vocab) និងរាប់ប្រេកង់ក្រៅបណ្តាញ (Off-line) បានយ៉ាងរហ័សនិងមានប្រសិទ្ធភាព។ |
ការចំណាយលើធនធាន (Resource Cost)៖ ឯកសារនេះបានបញ្ជាក់ពីការប្រើប្រាស់ធនធានកុំព្យូទ័រ និងទិន្នន័យចាំបាច់មួយចំនួនសម្រាប់ការហ្វឹកហាត់ម៉ូដែល និងដំណើរការប្រព័ន្ធចំណាំការនិយាយ។
ការសិក្សានេះត្រូវបានធ្វើឡើងដោយប្រើប្រាស់ទិន្នន័យអត្ថបទភាសាអង់គ្លេស សុទ្ធសាធ (ឧទាហរណ៍សៀវភៅ Nature of Value) និងវចនានុក្រមសូរសព្ទ Worldbet។ សម្រាប់ប្រទេសកម្ពុជា នេះគឺជាបញ្ហាដ៏ធំមួយ ព្រោះភាសាខ្មែរមានរចនាសម្ព័ន្ធខុសគ្នាស្រឡះ ជាពិសេសមិនមានការដកឃ្លារវាងពាក្យ (No word boundaries) ដែលតម្រូវឱ្យមានប្រព័ន្ធកាត់ពាក្យ (Word segmentation) ដាច់ដោយឡែកទើបអាចអនុវត្តម៉ូដែលនេះបាន។
ទោះបីជាការសិក្សានេះផ្តោតលើភាសាអង់គ្លេសក៏ដោយ គោលការណ៍កសាងម៉ូដែលភាសា (Language Modeling) តាមបែប N-gram អាចយកមកអនុវត្តយ៉ាងមានប្រសិទ្ធភាពសម្រាប់ភាសាខ្មែរនៅកម្ពុជា។
ជារួម បច្ចេកវិទ្យានេះគឺជាមូលដ្ឋានគ្រឹះដ៏សំខាន់មួយក្នុងការអភិវឌ្ឍប្រព័ន្ធ AI សម្រាប់ភាសាខ្មែរ ដើម្បីជួយធ្វើស្វ័យប្រវត្តិកម្ម និងបង្កើនផលិតភាពនៅក្នុងស្ថាប័នរដ្ឋ និងឯកជន។
ដើម្បីអនុវត្តតាមការសិក្សានេះ និស្សិតគួរអនុវត្តតាមជំហានខាងក្រោម៖
| ពាក្យបច្ចេកទេស | ការពន្យល់ជាខេមរភាសា (Khmer Explanation) | និយមន័យសាមញ្ញ (Simple Definition) |
|---|---|---|
| Hidden Markov Model (HMM) | ជាម៉ូដែលស្ថិតិដែលប្រើដើម្បីតំណាងឱ្យប្រព័ន្ធដែលមានស្ថានភាពកំបាំង (hidden states) ដូចជាសំឡេងនិយាយស្តែងចេញមក ដោយវាទស្សន៍ទាយស្ថានភាពបន្ទាប់ដោយផ្អែកលើប្រូបាប៊ីលីតេនៃស្ថានភាពបច្ចុប្បន្ន។ | ដូចជាការទស្សន៍ទាយអាកាសធាតុថ្ងៃស្អែក ដោយមើលតែសម្លៀកបំពាក់ដែលមនុស្សពាក់ថ្ងៃនេះ (យើងមិនឃើញអាកាសធាតុផ្ទាល់ តែឃើញលទ្ធផលរបស់វាគឺសម្លៀកបំពាក់)។ |
| Continuous Speech Recognition (CSR) | បច្ចេកវិទ្យាដែលអនុញ្ញាតឱ្យម៉ាស៊ីនអាចស្តាប់ កត់ត្រា និងបំប្លែងការនិយាយរបស់មនុស្សដែលនិយាយលឿនៗបន្តបន្ទាប់គ្នាទៅជាអត្ថបទ ដោយមិនតម្រូវឱ្យអ្នកនិយាយដកឃ្លារវាងពាក្យនីមួយៗឡើយ។ | ដូចជាមនុស្សម្នាក់ដែលពូកែស្តាប់និងកត់ត្រាសម្តីអ្នកដទៃនិយាយយ៉ាងរលូន ដោយមិនចាំបាច់ប្រាប់គេឱ្យនិយាយមួយពាក្យម្តងៗនោះទេ។ |
| Ngrams | ជាបំណែកនៃពាក្យ តួអក្សរ ឬសូរសព្ទចំនួន N ដែលជាប់គ្នាបន្តបន្ទាប់ ដើម្បីឱ្យម៉ាស៊ីនសិក្សាពីប្រូបាប៊ីលីតេនិងទំនាក់ទំនងនៃការវិវឌ្ឍពីពាក្យមួយទៅពាក្យមួយទៀតក្នុងប្រយោគ។ | ដូចជាការលេងល្បែងទាយពាក្យបន្ទាប់ ដោយផ្អែកលើពាក្យ១ ឬ ២ម៉ាត់ដែលទើបតែនិយាយរួចមុននេះបន្តិច។ |
| Stochastic grammars | វេយ្យាករណ៍ដែលផ្អែកលើការគណនាប្រូបាប៊ីលីតេ (ស្ថិតិ) ដើម្បីកំណត់ថាតើលំដាប់ពាក្យមួយណាមានឱកាសកើតឡើងខ្ពស់ជាងគេនៅក្នុងការនិយាយធម្មជាតិ ជាជាងការពឹងផ្អែកលើច្បាប់វេយ្យាករណ៍រឹងត្អឹង។ | ដូចជាការទស្សន៍ទាយតាមទម្លាប់ថាពាក្យ "បាយ" ទំនងជានឹងមកបន្ទាប់ពីពាក្យ "ញ៉ាំ" ខ្ពស់ជាងពាក្យ "ឡាន"។ |
| Smoothing Functions | បច្ចេកទេសគណិតវិទ្យាក្នុងការផ្តល់តម្លៃប្រូបាប៊ីលីតេតូចមួយទៅឱ្យពាក្យ ឬលំដាប់ពាក្យដែលមិនធ្លាប់មានទាល់តែសោះក្នុងទិន្នន័យហ្វឹកហាត់ ដើម្បីការពារកុំឱ្យប្រព័ន្ធគណនាចេញលទ្ធផលសូន្យដែលធ្វើឱ្យកំហុសប្រព័ន្ធ (Zero probability problem)។ | ដូចជាការទុកផ្លូវក្រៅផ្លូវការមួយឱ្យមនុស្សដើរ ទោះបីជាគ្មាននរណាធ្លាប់ដើរផ្លូវនោះពីមុនមកក៏ដោយ ដើម្បីកុំឱ្យពួកគេទាល់ច្រកនៅពេលវង្វេង។ |
| Perplexity | រង្វាស់ស្តង់ដារដែលវាស់ស្ទង់ថាតើម៉ូដែលភាសាមួយមានភាពងឿងឆ្ងល់ (uncertainty) ប៉ុណ្ណាក្នុងការទស្សន៍ទាយពាក្យបន្ទាប់។ ម៉ូដែលដែលមានតម្លៃ Perplexity កាន់តែទាប មានន័យថាវាទស្សន៍ទាយកាន់តែច្បាស់។ | ដូចជារង្វាស់នៃការស្ទាក់ស្ទើររបស់សិស្សនៅពេលត្រូវឆ្លើយសំនួររើសចម្លើយ; បើគេរៀនសូត្របានច្បាស់ គេមិនសូវស្ទាក់ស្ទើរនោះទេ (Perplexity ទាប)។ |
| Viterbi Beam Search | អាល់កូរីតដែលប្រើក្នុងប្រព័ន្ធចំណាំការនិយាយដើម្បីស្វែងរកផ្លូវ ឬលំដាប់ពាក្យដែលល្អបំផុត ដោយរក្សាទុកតែជម្រើសកំពូលៗ និងកាត់ចោលនូវជម្រើសដែលមានប្រូបាប៊ីលីតេទាបៗ ដើម្បីសន្សំទំហំអង្គចងចាំនិងពេលវេលាគណនា។ | ដូចជាការស្វែងរកផ្លូវចេញពីវាលវង្វេងដោយដើរតាមតែផ្លូវណាដែលមើលទៅទំនងជាមានពន្លឺ និងបោះបង់ចោលផ្លូវដែលងងឹតសូន្យឈឹងដើម្បីកុំឱ្យខាតពេល។ |
| Lexicon | បញ្ជីនៃពាក្យ (វចនានុក្រមរបស់ប្រព័ន្ធ) ដែលផ្ទុកនិមិត្តសញ្ញាពាក្យ ប្រេកង់នៃការប្រើប្រាស់ (Probability) និងសូរសព្ទបញ្ចេញសំឡេង ដែលប្រព័ន្ធទាញយកមកប្រើក្នុងការវែកញែក។ | ដូចជាសៀវភៅបញ្ជីឈ្មោះ និងព័ត៌មានលម្អិតរបស់បុគ្គលិកទាំងអស់នៅក្នុងក្រុមហ៊ុនមួយ ដែលមេកងអាចយកមកឆែកមើលបានគ្រប់ពេល។ |
អត្ថបទដែលបានបោះពុម្ពនៅលើ KhmerResearch ដែលទាក់ទងនឹងប្រធានបទនេះ៖
ប្រធានបទ និងសំណួរស្រាវជ្រាវដែលទាក់ទងនឹងឯកសារនេះ ដែលអ្នកអាចស្វែងរកបន្ថែម៖