Original Title: Developing a Question Answering (QA) Subsystem for Dialogue Systems. Case Study: Theano, a Greek-speaking Conversational Agent for COVID-19
Source: github.com
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការអភិវឌ្ឍអនុប្រព័ន្ធឆ្លើយសំណួរ (QA) សម្រាប់ប្រព័ន្ធសន្ទនា។ សិក្សាស្រាវជ្រាវករណី៖ Theano ភ្នាក់ងារសន្ទនាជាភាសាក្រិចសម្រាប់ជំងឺកូវីដ-១៩

ចំណងជើងដើម៖ Developing a Question Answering (QA) Subsystem for Dialogue Systems. Case Study: Theano, a Greek-speaking Conversational Agent for COVID-19

អ្នកនិពន្ធ៖ Panagiotis Griziotis, Athanasios Katsamanis (Supervisor)

ឆ្នាំបោះពុម្ព៖ 2024 National and Kapodistrian University of Athens

វិស័យសិក្សា៖ Natural Language Processing

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

បញ្ហា (The Problem)៖ ប្រព័ន្ធសន្ទនា (Dialogue systems) ដែលពឹងផ្អែកលើការទាញយកចម្លើយដែលមានស្រាប់ តែងតែបរាជ័យក្នុងការឆ្លើយតបទៅនឹងសំណួរក្រៅប្រធានបទរបស់ប្រព័ន្ធ។ ការស្រាវជ្រាវនេះដោះស្រាយបញ្ហានេះដោយអភិវឌ្ឍអនុប្រព័ន្ធឆ្លើយសំណួរ (QA) បែបបើកទូលាយសម្រាប់ភ្នាក់ងារសន្ទនា Theano ដើម្បីផ្តល់ព័ត៌មានកូវីដ-១៩។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះបានរៀបចំប្រព័ន្ធសាកសួរបែបបើកទូលាយ (Open-book QA) ដោយប្រើប្រាស់បច្ចេកទេសទាញយកឯកសារនិងប្រៀបធៀបវិធីសាស្ត្រឆ្លើយសំណួរចំនួនពីរប្រភេទ។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Retrieval-Augmented Generation (RAG) / Generative QA
វិធីសាស្ត្របង្កើតចម្លើយផ្អែកលើការទាញយកព័ត៌មាន (Generative QA / RAG)
អាចបង្កើតចម្លើយបានវែង ពេញលេញ និងងាយយល់ ដោយសំយោគព័ត៌មានពីឯកសារជាច្រើនបញ្ចូលគ្នា។ មានភាពបត់បែនខ្ពស់ក្នុងការឆ្លើយសំណួរស្មុគស្មាញ។ ទាមទារធនធានកុំព្យូទ័រ (GPU) ច្រើនជាងមុន ព្រមទាំងអាចបង្កើតចម្លើយមិនពិត (Hallucinations) ប្រសិនបើប្រព័ន្ធទាញយកឯកសារ (Retriever) ផ្តល់ទិន្នន័យមិនពាក់ព័ន្ធ។ ទទួលបានពិន្ទុវាយតម្លៃពីមនុស្សខ្ពស់ជាងគេ (មធ្យមភាគ ៤/៥ លើភាពពេញលេញ ភាពត្រឹមត្រូវ និងអត្ថប្រយោជន៍) និងមាន Answer Relevance ខ្ពស់ (63.5 នៅកម្រិត top_k=4)។
Extractive QA
វិធីសាស្ត្រទាញយកចម្លើយចំៗ (Extractive QA)
ចំណាយធនធានគណនាតិច និងមានភាពរហ័ស ព្រមទាំងមានភាពត្រឹមត្រូវផ្អែកលើការពិតខ្ពស់សម្រាប់សំណួរខ្លីៗ (Factoid questions)។ មិនអាចឆ្លើយសំណួរស្មុគស្មាញដែលទាមទារការបកស្រាយវែងៗបាន ហើយជារឿយៗផ្តល់ចម្លើយមិនពេញលេញព្រោះវាគ្រាន់តែកាត់យកឃ្លាខ្លីៗពីឯកសារដើម។ ទទួលបានពិន្ទុវាយតម្លៃផ្នែកភាពពេញលេញទាបបំផុត (មធ្យមភាគ ១/៥) និងមាន Answer Relevance ត្រឹមតែ 49.3 នៅកម្រិត top_k=6។
Hybrid Retriever (BM25 + SBERT-adapted)
ការទាញយកព័ត៌មានបែបចម្រុះ (Hybrid Retriever)
រួមបញ្ចូលចំណុចខ្លាំងនៃការស្វែងរកតាមពាក្យគន្លឹះ និងតាមអត្ថន័យន័យធៀប ដែលជួយឲ្យការទាញយកឯកសារមានភាពច្បាស់លាស់ និងរឹងមាំទាំងលើទិន្នន័យក្នុង និងក្រៅប្រធានបទ។ ត្រូវការដំណើរការម៉ូដែលពីរក្នុងពេលតែមួយ ដែលធ្វើឲ្យចំណាយពេល និងធនធានប្រព័ន្ធកើនឡើងបន្តិចអំឡុងពេលស្វែងរក។ សម្រេចបានអត្រាទាញយកឯកសារត្រឹមត្រូវ (Recall@10) រហូតដល់ 96.7% លើសំណុំទិន្នន័យ XQuAD-el។

ការចំណាយលើធនធាន (Resource Cost)៖ ការស្រាវជ្រាវនេះទាមទារធនធានកុំព្យូទ័រធុនមធ្យមទៅខ្ពស់ ជាពិសេសផ្នែកក្រាហ្វិក (GPU) សម្រាប់ការហ្វឹកហាត់ និងដំណើរការម៉ូដែលភាសាខ្នាតធំ (LLM)។

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

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

ការសិក្សានេះត្រូវបានធ្វើឡើងដោយផ្តោតលើភាសាក្រិចសុទ្ធសាធ ជាពិសេសលើគោលការណ៍ណែនាំជំងឺកូវីដ-១៩ របស់ប្រទេសក្រិច។ សំណុំទិន្នន័យវាយតម្លៃភាគច្រើនត្រូវបានបង្កើតតាមរយៈការបកប្រែដោយម៉ាស៊ីន (Machine Translation) ដែលអាចផ្ទុកនូវកំហុសអត្ថន័យ។ សម្រាប់ប្រទេសកម្ពុជា នេះបង្ហាញថាការរំពឹងផ្អែកតែលើទិន្នន័យបកប្រែដោយម៉ាស៊ីនពីបរទេសអាចមានហានិភ័យ ដូច្នេះទាមទារឲ្យមានការរៀបចំឯកសារផ្លូវការក្នុងស្រុកដើម្បីធានាភាពត្រឹមត្រូវនៃព័ត៌មានវេជ្ជសាស្ត្រ។

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

វិធីសាស្ត្រនេះមានសក្តានុពលខ្ពស់សម្រាប់ការអភិវឌ្ឍប្រព័ន្ធសន្ទនាឆ្លាតវៃ (AI Chatbot) នៅក្នុងប្រទេសកម្ពុជា។

សរុបមក ការអនុវត្តវិធីសាស្ត្រ RAG និង Hybrid Retrieval នឹងជួយដោះស្រាយបញ្ហាកង្វះខាតទិន្នន័យភាសាខ្មែរបានមួយកម្រិតធំ និងបង្កើនទំនុកចិត្តលើប្រព័ន្ធឆ្លើយតបស្វ័យប្រវត្តិនៅតាមស្ថាប័នសំខាន់ៗ។

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

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

  1. ប្រមូល និងរៀបចំឯកសារទិន្នន័យ (Data Engineering): ប្រមូលឯកសារផ្លូវការ (ឧ. ពីគេហទំព័រក្រសួង ឬស្ថាប័នពាក់ព័ន្ធ) បន្ទាប់មកសម្អាតទិន្នន័យ និងកាត់ជាចំណែកតូចៗ (Chunking) ដោយប្រើប្រាស់ឧបករណ៍ដូចជា LangChainLlamaIndex
  2. ដំឡើងប្រព័ន្ធទាញយកឯកសារចម្រុះ (Hybrid Retrieval Setup): រៀបចំប្រព័ន្ធទិន្នន័យវ៉ិចទ័រដោយប្រើប្រាស់ Elasticsearch រួចបញ្ជូលវិធីសាស្ត្រស្វែងរកតាមពាក្យគន្លឹះ (BM25) ជាមួយវិធីសាស្ត្រស្វែងរកតាមអត្ថន័យដោយប្រើម៉ូដែលដែលគាំទ្រភាសាខ្មែរ (ឧទាហរណ៍ mBERT ឬម៉ូដែលស្រដៀងគ្នា)។
  3. រួមបញ្ចូលម៉ូដែលភាសាសម្រាប់បង្កើតចម្លើយ (RAG Integration): ភ្ជាប់ប្រព័ន្ធទាញយកឯកសារទៅនឹងម៉ូដែលភាសាខ្នាតធំ (LLM) ដូចជា Llama-3, Qwen ឬម៉ូដែល API (ឧ. OpenAI) ជាមួយនឹងការសរសេរ Prompt បញ្ជាឲ្យវាឆ្លើយដោយផ្អែកតែលើឯកសារដែលរកឃើញ។ អាចប្រើបច្ចេកទេស 4-bit Quantization ដើម្បីសន្សំសំចៃ VRAM។
  4. អភិវឌ្ឍប្រព័ន្ធ API និងសាកល្បងជាក់ស្តែង: បង្កើតចំណុចប្រទាក់ដោយប្រើ FastAPI ដើម្បីភ្ជាប់ប្រព័ន្ធនេះទៅកាន់ប្រព័ន្ធ Chatbot ដែលមានស្រាប់ (ដូចជានៅលើ Telegram) រួចធ្វើការវាយតម្លៃជាមួយអ្នកប្រើប្រាស់ពិតប្រាកដដើម្បីកែលម្អភាពត្រឹមត្រូវ (Factuality)។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Retrieval-Augmented Generation (RAG) ជាវិធីសាស្ត្រដែលម៉ូដែលបញ្ញាសិប្បនិម្មិត (AI) ទាញយកព័ត៌មានពីប្រភពឯកសារខាងក្រៅដែលគួរឱ្យទុកចិត្តជាមុនសិន បន្ទាប់មកទើបប្រើទិន្នន័យទាំងនោះដើម្បីបង្កើតជាចម្លើយដែលត្រឹមត្រូវនិងមានអំណះអំណាងច្បាស់លាស់ ជាជាងការឆ្លើយដោយពឹងផ្អែកតែលើការចងចាំរបស់វា។ ដូចជាសិស្សដែលត្រូវបានអនុញ្ញាតឱ្យបើកសៀវភៅមើលមេរៀនមុននឹងឆ្លើយសំណួរប្រឡង ដើម្បីធានាថាមិនឆ្លើយខុស។
Extractive QA ជាប្រព័ន្ធឆ្លើយសំណួរដែលស្វែងរក និងកាត់យកឃ្លា ឬប្រយោគចំៗពីក្នុងអត្ថបទឯកសារដើមមកធ្វើជាចម្លើយតែម្តង ដោយមិនមានការកែច្នៃពាក្យពេចន៍ថ្មី ឬសរសេរឡើងវិញនោះទេ។ ដូចជាការប្រើហ្វឺតពណ៌ (Highlighter) គូសបញ្ជាក់ចម្លើយចេញពីក្នុងសៀវភៅពុម្ពអញ្ចឹងដែរ។
Dense Retrieval ជាវិធីសាស្ត្រស្វែងរកទិន្នន័យដោយពឹងផ្អែកលើ "អត្ថន័យ" (Semantic) នៃពាក្យ ជាជាងការស្វែងរកពាក្យដូចគ្នាេះ។ វាបំប្លែងអត្ថបទទៅជាវ៉ិចទ័រលេខ (Vectors) ដើម្បីវាស់ស្ទង់ភាពស្រដៀងគ្នានៃអត្ថន័យរវាងសំណួរ និងឯកសារ។ ដូចជាពេលអ្នកសួររក "កន្លែងញ៉ាំបាយ" ហើយប្រព័ន្ធណែនាំ "ភោជនីយដ្ឋាន" ឱ្យអ្នក ទោះបីជាអត់មានពាក្យដូចគ្នាក៏ដោយ ព្រោះវាដឹងថាមានន័យដូចគ្នា។
Sparse Retrieval ជាវិធីសាស្ត្រស្វែងរកទិន្នន័យបែបប្រពៃណី (ឧទាហរណ៍ វិធីសាស្ត្រ BM25) ដែលពឹងផ្អែកលើការផ្ទៀងផ្ទាត់ពាក្យគន្លឹះ (Keyword matching) រវាងសំណួរនិងឯកសារ ដោយវាស់ស្ទង់ពីចំនួនដងនៃពាក្យដែលលេចឡើងក្នុងអត្ថបទ។ ដូចជាការប្រើមុខងារ Ctrl+F ដើម្បីស្វែងរកពាក្យជាក់លាក់ណាមួយនៅក្នុងឯកសារ Word ដូច្នោះដែរ។
Reranker ជាសមាសភាគបន្ថែមនៅក្នុងប្រព័ន្ធ QA ដែលយកបញ្ជីឯកសារដែលរកឃើញនៅដំណាក់កាលដំបូង មកវាយតម្លៃនិងតម្រៀបលំដាប់ឡើងវិញឱ្យកាន់តែច្បាស់លាស់ ដើម្បីធានាថាឯកសារដែលពាក់ព័ន្ធបំផុតត្រូវបានរុញមកនៅខាងលើគេជានិច្ច។ ដូចជាការយកបេក្ខជនដែលជាប់វគ្គជម្រុះដំបូង មកសម្ភាសន៍ផ្ទាល់ម្តងទៀតយ៉ាងល្អិតល្អន់ ដើម្បីរើសយកអ្នកដែលស័ក្តិសមបំផុត។
Bi-encoder ជាទម្រង់ស្ថាបត្យកម្មនៃម៉ូដែលភាសាដែលបំប្លែងសំណួរ និងឯកសារទៅជាវ៉ិចទ័រដោយឡែកពីគ្នា (ឯករាជ្យ) ដែលជួយឱ្យការស្វែងរកទិន្នន័យក្នុងបរិមាណច្រើនមានភាពរហ័សទាន់ចិត្ត ប៉ុន្តែវាខ្វះភាពជាក់លាក់បន្តិចធៀបនឹង Cross-encoder។ ដូចជាការវាយតម្លៃមនុស្សពីរនាក់ដោយមើលប្រវត្តិរូប (CV) រៀងៗខ្លួន ដោយមិនទាន់ឱ្យពួកគេមកជួបជជែកគ្នាផ្ទាល់។
Quantization ជាបច្ចេកទេសបង្រួមទំហំម៉ូដែល AI ខ្នាតធំ (LLM) ឱ្យតូចជាងមុន (ឧទាហរណ៍ មកត្រឹម 4-bit) ដើម្បីឱ្យវាអាចដំណើរការបាននៅលើកុំព្យូទ័រដែលមានធនធាន GPU តូចនិងមានកម្រិត ដោយមិនធ្វើឱ្យបាត់បង់គុណភាពចម្លើយខ្លាំងពេក។ ដូចជាការបង្រួមទំហំវីដេអូពី 4K មកជា HD ដើម្បីងាយស្រួលផ្ញើតាមទូរស័ព្ទ ដែលនៅតែអាចមើលឃើញច្បាស់ល្អ។
Hallucinations ជាបាតុភូតដែលម៉ូដែលភាសាខ្នាតធំ (LLMs) បង្កើតចម្លើយដែលស្តាប់ទៅសមហេតុផលនិងគួរឱ្យជឿជាក់ ប៉ុន្តែការពិតជាព័ត៌មានប្រឌិត និងមិនត្រឹមត្រូវទាល់តែសោះ។ វិធីសាស្ត្រ RAG ត្រូវបានគេប្រើដើម្បីកាត់បន្ថយបញ្ហានេះ។ ដូចជាមនុស្សដែលពូកែនិយាយអួត ពេលសួរចំរឿងដែលខ្លួនមិនដឹង ក៏ចេះតែប្រឌិតរឿងឆ្លើយឱ្យរួចពីមាត់កុំឱ្យគេដឹងថាខ្លួនអត់ចេះ។

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

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

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