Original Title: 任务型对话系统研究综述
Source: doi.org/10.11897/SP.J.1016.2020.01862
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការសិក្សាស្រាវជ្រាវទូទៅអំពីប្រព័ន្ធសន្ទនាផ្អែកលើកិច្ចការ

ចំណងជើងដើម៖ 任务型对话系统研究综述

អ្នកនិពន្ធ៖ ZHAO Yang-Yang (South China University of Technology), WANG Zhen-Yu, WANG Pei, YANG Tian, ZHANG Rui, YIN Kai

ឆ្នាំបោះពុម្ព៖ 2020 CHINESE JOURNAL OF COMPUTERS

វិស័យសិក្សា៖ Artificial Intelligence

១. សេចក្តីសង្ខេបប្រតិបត្តិ (Executive Summary)

បញ្ហា (The Problem)៖ ឯកសារនេះដោះស្រាយលើការវិវត្ត បញ្ហាប្រឈម និងវិធីសាស្ត្រនៃការអភិវឌ្ឍប្រព័ន្ធសន្ទនារវាងមនុស្សនិងម៉ាស៊ីនប្រភេទផ្អែកលើកិច្ចការ (Task-oriented dialogue systems) ដែលមានគោលដៅជួយអ្នកប្រើប្រាស់បញ្ចប់កិច្ចការជាក់លាក់។ វាក៏ពិនិត្យលើដែនកំណត់នៃវិធីសាស្ត្របច្ចុប្បន្នដូចជា កង្វះទិន្នន័យបង្វឹក និងបញ្ហានៃការផ្លាស់ប្តូរឆ្លងដែន។

វិធីសាស្ត្រ (The Methodology)៖ ការស្រាវជ្រាវនេះធ្វើការត្រួតពិនិត្យនិងប្រៀបធៀបយ៉ាងស៊ីជម្រៅលើគំរូទ្រឹស្តី និងវឌ្ឍនភាពនៃវិធីសាស្ត្រចម្បងពីរ គឺវិធីសាស្ត្របំពង់ (Pipeline method) និងវិធីសាស្ត្រពីចុងម្ខាងទៅចុងម្ខាង (End-to-end method)។

លទ្ធផលសំខាន់ៗ (The Verdict)៖

២. ការវិភាគលើប្រសិទ្ធភាព និងដែនកំណត់ (Performance & Constraints)

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Pipeline Method
វិធីសាស្ត្របំពង់ (Pipeline Method)
មានភាពច្បាស់លាស់ ងាយស្រួលយល់ និងអាចបំបែកម៉ូឌុលនីមួយៗ (NLU, DST, DP, NLG) ដើម្បីស្រាវជ្រាវនិងកែលម្អដោយឡែកពីគ្នា។ ពឹងផ្អែកខ្លាំងលើការរចនាទិន្នន័យដោយដៃសម្រាប់ដែននីមួយៗ និងងាយរងការបញ្ជូនកំហុសពីម៉ូឌុលមួយទៅម៉ូឌុលមួយទៀត (Error cascading)។ ទទួលបានជោគជ័យខ្ពស់ក្នុងប្រព័ន្ធសន្ទនាពាណិជ្ជកម្មបច្ចុប្បន្ន ប៉ុន្តែពិបាកពង្រីកទៅកាន់ដែនសន្ទនាថ្មីៗ (Domain expansion)។
Supervised Learning End-to-End Method
វិធីសាស្ត្រពីចុងម្ខាងទៅចុងម្ខាងផ្អែកលើការរៀនមានការត្រួតពិនិត្យ (Supervised End-to-End)
កាត់បន្ថយការពឹងផ្អែកលើការទាញយកលក្ខណៈពិសេសដោយដៃ (Manual feature engineering) និងជួយដោះស្រាយបញ្ហាកង្វះទិន្នន័យចំណារពន្យល់សម្រាប់ម៉ូឌុលតូចៗ។ ត្រូវការទិន្នន័យបង្វឹកទំហំធំខ្លាំង និងពិបាកក្នុងការសហការជាមួយមូលដ្ឋានចំណេះដឹង (Knowledge Base) និងច្បាប់តក្កវិជ្ជាជាក់លាក់។ អាចបង្កើតការឆ្លើយតបដោយផ្ទាល់ពីការបញ្ចូលរបស់អ្នកប្រើប្រាស់ ប៉ុន្តែជារឿយៗអាចបង្កើតចម្លើយទូទៅដែលគ្មានន័យ (Safe responses/Generic replies)។
Reinforcement Learning End-to-End Method
វិធីសាស្ត្រពីចុងម្ខាងទៅចុងម្ខាងផ្អែកលើការរៀនពង្រឹង (RL End-to-End)
អាចធ្វើឱ្យប្រសើរឡើងនូវគោលការណ៍សន្ទនាដោយស្វ័យប្រវត្តិ តាមរយៈការរុករក (Exploration) យុទ្ធសាស្ត្រថ្មីៗដែលល្អជាងការពឹងផ្អែកតែលើទិន្នន័យមនុស្ស។ ការបង្វឹកមានការលំបាក ងាយនឹងមិនមានលំនឹង (Unstable) និងទាមទារមុខងាររង្វាន់ (Reward function) ដែលត្រូវរចនាឡើងយ៉ាងប្រុងប្រយ័ត្ន។ ទទួលបានលទ្ធផលប្រសើរជាងវិធីសាស្ត្រ Supervised Learning ក្នុងការបង្កើនអត្រាជោគជ័យនៃកិច្ចការ (Task success rate) និងកាត់បន្ថយចំនួនជុំនៃការសន្ទនា។

ការចំណាយលើធនធាន (Resource Cost)៖ ការអភិវឌ្ឍប្រព័ន្ធសន្ទនាប្រភេទនេះ ទាមទារធនធានកុំព្យូទ័រនិងទិន្នន័យយ៉ាងច្រើន ជាពិសេសសម្រាប់វិធីសាស្ត្រផ្អែកលើ Deep Learning។

៣. ការពិនិត្យសម្រាប់បរិបទកម្ពុជា/អាស៊ីអាគ្នេយ៍

ភាពលំអៀងនៃទិន្នន័យ (Data Bias)៖

ការសិក្សានេះគឺជាការសង្ខេបស្រាវជ្រាវ (Survey) ដែលពឹងផ្អែកលើសំណុំទិន្នន័យស្តង់ដារអន្តរជាតិ (ដូចជា MultiWOZ, ATIS) ដែលភាគច្រើនជាភាសាអង់គ្លេស និងភាសាចិន។ សម្រាប់ប្រទេសកម្ពុជា នេះគឺជាបញ្ហាប្រឈមដ៏ធំមួយ ព្រោះយើងខ្វះខាតទិន្នន័យសន្ទនាជាភាសាខ្មែរដែលមានគុណភាពខ្ពស់ និងស្ថិតក្នុងក្រុមភាសាដែលមានធនធានតិចតួច (Low-resource language)។

លទ្ធភាពនៃការអនុវត្ត (Applicability)៖

ទោះបីជាមានឧបសគ្គផ្នែកភាសាក៏ដោយ បច្ចេកវិទ្យាប្រព័ន្ធសន្ទនាផ្អែកលើកិច្ចការ (Task-oriented dialogue systems) មានសក្តានុពលខ្លាំងក្នុងការអភិវឌ្ឍសេវាកម្មឌីជីថលនៅកម្ពុជា។

ការអនុវត្តបច្ចេកវិទ្យានេះ នឹងជួយកាត់បន្ថយថ្លៃដើមប្រតិបត្តិការ និងលើកកម្ពស់បទពិសោធន៍អ្នកប្រើប្រាស់នៅក្នុងស្ថាប័នរដ្ឋនិងឯកជននៅកម្ពុជា ឱ្យកាន់តែមានភាពទំនើបនិងប្រសិទ្ធភាពខ្ពស់។

៤. ផែនការសកម្មភាពសម្រាប់និស្សិត (Actionable Roadmap)

ដើម្បីអនុវត្តតាមការសិក្សានេះ និស្សិតគួរអនុវត្តតាមជំហានខាងក្រោម៖

  1. ស្វែងយល់ពីមូលដ្ឋានគ្រឹះនៃ NLP និង Deep Learning: និស្សិតគួរចាប់ផ្តើមសិក្សាពីទ្រឹស្តីនៃដំណើរការភាសាធម្មជាតិ (NLP) និងការរៀនស៊ីជម្រៅ ដោយប្រើប្រាស់ Python និង Frameworks ដូចជា PyTorchTensorFlow
  2. សាកល្បងស្ថាបត្យកម្ម Pipeline Method: អនុវត្តការសាងសង់ប្រព័ន្ធសន្ទនាតាមបែប Pipeline ដោយប្រើប្រាស់ឧបករណ៍ Open-source ដូចជា Rasa ដើម្បីយល់ច្បាស់ពីដំណើរការបំបែកម៉ូឌុល (NLU, DST, DP, និង NLG)។
  3. សិក្សាពីការរៀនពង្រឹង (Reinforcement Learning): ឈ្វេងយល់ពីក្បួនដោះស្រាយ RL កម្រិតជ្រៅ ដូចជា DQN, D3QPPO ដើម្បីយកមកអនុវត្តក្នុងការស្វែងរកយុទ្ធសាស្ត្រសន្ទនា (Dialogue Policy) ដ៏មានប្រសិទ្ធភាពសម្រាប់ការសម្រេចកិច្ចការ។
  4. អភិវឌ្ឍគំរូភាសាសម្រាប់ភាសាខ្មែរ (Low-resource Adaptation): ប្រើប្រាស់គំរូភាសាដែលបានបង្វឹកជាមុនរួចស្រេច (Pre-trained language models) ដូចជា mBERTXLM-RoBERTa ហើយធ្វើការ Fine-tune ជាមួយទិន្នន័យភាសាខ្មែរតាមរយៈបច្ចេកទេស Transfer Learning និង Few-shot learning ដូចដែលបានរៀបរាប់ក្នុងឯកសារ។
  5. រួមបញ្ចូលចំណេះដឹងក្រៅ (Knowledge Graph Integration): រៀនពីរបៀបភ្ជាប់ប្រព័ន្ធសន្ទនាទៅកាន់មូលដ្ឋានទិន្នន័យ (Databases) និង Knowledge Graphs ដើម្បីឱ្យ Chatbot អាចទាញយកព័ត៌មានពិតប្រាកដ និងឆ្លើយតបសំណួរស្មុគស្មាញបានត្រឹមត្រូវ។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Pipeline method វាគឺជាស្ថាបត្យកម្មដែលបំបែកប្រព័ន្ធសន្ទនាជាម៉ូឌុលតូចៗដាច់ដោយឡែកពីគ្នា (ដូចជា ការយល់ដឹងភាសា ការគ្រប់គ្រងការសន្ទនា និងការបង្កើតការឆ្លើយតប) ដោយម៉ូឌុលនីមួយៗទទួលទិន្នន័យពីផ្នែកមុន បំពេញមុខងាររបស់ខ្លួន រួចបញ្ជូនលទ្ធផលទៅម៉ូឌុលបន្ទាប់ជាបន្តបន្ទាប់។ ដូចជាខ្សែសង្វាក់ផលិតកម្មនៅក្នុងរោងចក្រ ដែលកម្មករម្នាក់ៗធ្វើការតែលើផ្នែកមួយនៃផលិតផល រួចហុចបន្តឱ្យកម្មករម្នាក់ទៀតរហូតដល់ចេញជាផលិតផលសម្រេច។
End-to-end method គឺជាវិធីសាស្ត្រដំណើរការដោយប្រើប្រាស់បណ្តាញសរសៃប្រសាទ (Neural Networks) តែមួយរួមបញ្ចូលគ្នា ដើម្បីទទួលយកសំណួររបស់អ្នកប្រើប្រាស់ និងបញ្ចេញចម្លើយមកវិញដោយផ្ទាល់ ដោយមិនចាំបាច់ឆ្លងកាត់ការបំបែកម៉ូឌុលតូចៗច្រើនដំណាក់កាលឡើយ។ ដូចជាការប្រើប្រាស់ម៉ាស៊ីនបោកគក់ស្វ័យប្រវត្តិ ដែលអ្នកគ្រាន់តែដាក់ខោអាវប្រឡាក់ចូល ហើយវានឹងបោក គក់ និងសម្ងួតរួចជាស្រេចដោយមិនបាច់ប្រើដៃផ្លាស់ប្តូរដំណាក់កាល។
Dialogue State Tracking (DST) គឺជាដំណើរការនៃម៉ូឌុលដែលធ្វើការតាមដាននិងកត់ត្រាព័ត៌មាន ឬគោលបំណងរបស់អ្នកប្រើប្រាស់ឆ្លងកាត់ការសន្ទនាជាច្រើនជុំ ដើម្បីធានាថាប្រព័ន្ធដឹងនិងចងចាំពីអ្វីដែលអ្នកប្រើប្រាស់កំពុងចង់បាននៅគ្រប់ពេលវេលា។ ដូចជាអ្នករត់តុក្នុងភោជនីយដ្ឋានដែលកត់ត្រាការបញ្ជាទិញរបស់ភ្ញៀវនិងចងចាំរាល់ការផ្លាស់ប្តូរមុខម្ហូប រហូតដល់ការបញ្ជាទិញត្រូវបានបញ្ចប់ត្រឹមត្រូវ។
Dialogue Policy (DP) គឺជាប្រព័ន្ធសម្រេចចិត្តដែលផ្អែកលើព័ត៌មានបច្ចុប្បន្ននៃការសន្ទនា ដើម្បីវាយតម្លៃនិងជ្រើសរើសសកម្មភាព ឬចម្លើយបន្ទាប់ដ៏ល្អបំផុតដែលប្រព័ន្ធគួរឆ្លើយតបទៅកាន់អ្នកប្រើប្រាស់។ ដូចជាខួរក្បាលរបស់អ្នកលេងអុក ដែលមើលក្ដារអុក (ស្ថានភាពបច្ចុប្បន្ន) រួចសម្រេចចិត្តថាតើគួរដើរកូនអុកមួយណាបន្តទៀតដើម្បីយកឈ្នះកិច្ចការ។
Reinforcement Learning គឺជាបច្ចេកទេសបង្រៀនម៉ាស៊ីនឱ្យចេះសាកល្បងនិងរៀនពីបរិស្ថាន ដោយវាទទួលរង្វាន់ (ពិន្ទុបូក) ពេលធ្វើត្រូវ និងទទួលពិន្ទុដកពេលធ្វើខុស ដែលជួយឱ្យវារកឃើញយុទ្ធសាស្ត្រសន្ទនាល្អបំផុតដោយស្វ័យប្រវត្តិ។ ដូចជាការបង្ហាត់សត្វសុនខឱ្យចេះស្វាគមន៍ ដោយផ្តល់ចំណីពេលវាធ្វើត្រូវ និងមិនឱ្យចំណីពេលវាធ្វើខុស រហូតដល់វាចងចាំទម្លាប់ដ៏ល្អនោះ។
Sequence-to-Sequence (Seq2Seq) គឺជាទម្រង់នៃបណ្តាញសរសៃប្រសាទដែលបំប្លែងលំដាប់នៃពាក្យមួយ (ឧ. សំណួរ) ទៅជាលំដាប់នៃពាក្យមួយទៀត (ឧ. ចម្លើយ) ដែលពេញនិយមក្នុងការបកប្រែភាសា និងការបង្កើតការឆ្លើយតបក្នុង Chatbot ផ្អែកលើបរិបទ។ ដូចជាអ្នកបកប្រែផ្ទាល់មាត់ ដែលស្តាប់ប្រយោគទាំងមូលជាភាសាមួយសិន រួចទើបគិតនិងរៀបចំប្រយោគឆ្លើយតបជាភាសាមួយទៀតមកវិញក្នុងអត្ថន័យតែមួយ។
User Simulator គឺជាកម្មវិធីកុំព្យូទ័រដែលត្រូវបានបង្កើតឡើងដើម្បីដើរតួជាមនុស្សសិប្បនិម្មិត សម្រាប់ធ្វើការសន្ទនាសាកល្បងជាមួយប្រព័ន្ធ Chatbot ដើម្បីជួយបង្វឹកវាឱ្យឆ្លាតជាងមុន ដោយមិនបាច់ចំណាយពេលនិងថវិកាប្រើមនុស្សពិតដើម្បីជជែកលេង។ ដូចជាគូហ្វឹកហាត់ក្បាច់គុនសិប្បនិម្មិត (បាវសាច់) ដែលកីឡាករអាចវាយសាកល្បងរាប់ពាន់ដងដើម្បីហ្វឹកហាត់ មុនពេលទៅប្រកួតជាមួយគូប្រកួតពិតប្រាកដ។

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

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

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