Original Title: Natural Language to SPARQL Query Builder for Semantic Web Applications
Source: doi.org/10.11159/jmids.2021.006
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

កម្មវិធីកសាងសំណួរ SPARQL ពីភាសាធម្មជាតិសម្រាប់កម្មវិធីវិបសេម៉ង់ទិច (Semantic Web)

ចំណងជើងដើម៖ Natural Language to SPARQL Query Builder for Semantic Web Applications

អ្នកនិពន្ធ៖ Neli Zlatareva (Central Connecticut State University), Devansh Amin (Central Connecticut State University)

ឆ្នាំបោះពុម្ព៖ 2021, Journal of Machine Intelligence and Data Science (JMIDS)

វិស័យសិក្សា៖ Computer Science

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

បញ្ហា (The Problem)៖ អ្នកប្រើប្រាស់ទូទៅជួបប្រទះការលំបាកក្នុងការទាញយកទិន្នន័យពីបណ្ដាញទិន្នន័យទំនាក់ទំនង (Linked Data) ដោយសារពួកគេមិនមានចំណេះដឹងស៊ីជម្រៅអំពីភាសាសំណួរ SPARQL សម្រាប់កម្មវិធីវិបសេម៉ង់ទិច (Semantic Web)។

វិធីសាស្ត្រ (The Methodology)៖ អ្នកស្រាវជ្រាវបានស្នើឡើងនូវក្របខណ្ឌបកប្រែសំណួរពីភាសាធម្មជាតិទៅជា SPARQL ដោយប្រើប្រាស់វិធីសាស្ត្រផ្អែកលើការវិភាគវាក្យសម្ព័ន្ធ (Syntactic parsing) តាមរយៈការបំបែកដំណើរការជាកិច្ចការតូចៗ។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Dependency-based SPARQL Query Builder (Proposed)
កម្មវិធីកសាងសំណួរ SPARQL ផ្អែកលើភាពអាស្រ័យ (វិធីសាស្ត្រដែលបានស្នើ)
មិនតម្រូវឱ្យមានការរៀបចំលក្ខណៈទិន្នន័យស្មុគស្មាញ (Laborious feature engineering) និងងាយស្រួលបន្សាំទៅនឹងដែនកម្មវិធីផ្សេងៗ។ បច្ចុប្បន្នគាំទ្រត្រឹមតែសំណួរសាមញ្ញ (Single fact, Single fact with type, ASK queries) មិនទាន់អាចដោះស្រាយសំណួរស្មុគស្មាញបាននៅឡើយ។ បានសាកល្បងដោយជោគជ័យ និងអាចទាញយកចម្លើយបានត្រឹមត្រូវនៅក្នុងកម្មវិធីផ្តល់ប្រឹក្សាដល់និស្សិតដោយប្រើអុនតូឡូស៊ីបិទ (Closed-domain ontology)។
Traditional Information Extraction & Semantic Parsing
ប្រព័ន្ធទាញយកព័ត៌មាន និងការវិភាគអត្ថន័យតាមបែបប្រពៃណី
អាចទាញយកចម្លើយបានយ៉ាងសុក្រឹតតាមរយៈគំរូដែលបានកំណត់ទុកជាមុន (Pre-defined templates) សម្រាប់ដែនទិន្នន័យជាក់លាក់។ ទាមទារការរៀបចំលក្ខណៈទិន្នន័យ និងការផ្គូផ្គងគំរូយ៉ាងស្មុគស្មាញ ដែលធ្វើឱ្យពិបាកក្នុងការយកទៅអនុវត្តលើវិស័យផ្សេងទៀត។ ទាមទារចំណេះដឹងស៊ីជម្រៅពីអ្នកជំនាញដើម្បីបង្កើត និងពង្រីកប្រព័ន្ធទៅកាន់ដែនថ្មី។

ការចំណាយលើធនធាន (Resource Cost)៖ ឯកសារនេះបានបញ្ជាក់យ៉ាងច្បាស់អំពីកម្មវិធីកុំព្យូទ័រ និងបណ្ណាល័យកូដ (Libraries) ដែលចាំបាច់សម្រាប់ដំណើរការប្រព័ន្ធនេះ ក៏ដូចជាធនធានទិន្នន័យជាក់លាក់ផងដែរ។

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

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

ការសិក្សានេះត្រូវបានសាកល្បងតែលើសំណុំទិន្នន័យតូចចង្អៀត (Closed-domain) នៃសាកលវិទ្យាល័យមួយប៉ុណ្ណោះ ដែលផ្តោតលើកម្មវិធីសិក្សា មុខវិជ្ជា និងសាស្ត្រាចារ្យ។ វាមិនទាន់ត្រូវបានវាយតម្លៃលើសំណុំទិន្នន័យទូលំទូលាយ (Open-domain) ដូចជា LC-QuAD នោះទេ។ សម្រាប់ប្រទេសកម្ពុជា ការអនុវត្តប្រព័ន្ធនេះទាមទារការកសាង Ontology ថ្មីទាំងស្រុងដែលស្របតាមបរិបទអប់រំក្នុងស្រុក។

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

វិធីសាស្ត្រនេះមានសក្ដានុពលខ្ពស់សម្រាប់ស្ថាប័នអប់រំ និងទីភ្នាក់ងាររដ្ឋាភិបាលនៅកម្ពុជា ក្នុងការបង្កើតប្រព័ន្ធឆ្លើយតបសំណួរដោយស្វ័យប្រវត្តិ (QA Systems) លើសំណុំទិន្នន័យរបស់ពួកគេ។

ជារួម បច្ចេកវិទ្យានេះអាចជួយសម្រួលដល់ការទាញយកព័ត៌មានពីប្រព័ន្ធទិន្នន័យស្មុគស្មាញ (Linked Data) ឱ្យកាន់តែមានភាពងាយស្រួល និងចំណាយធនធានមនុស្សតិចក្នុងការគ្រប់គ្រងការផ្តល់សេវាព័ត៌មាននៅកម្ពុជា។

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

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

  1. សិក្សាមូលដ្ឋានគ្រឹះនៃ Semantic Web និងបង្កើត Ontology: អ្នកគួរសិក្សាពីទម្រង់ទិន្នន័យ RDF, ភាសា OWL និងការសរសេរសំណួរ SPARQL ដោយអនុវត្តផ្ទាល់ជាមួយកម្មវិធីសហគមន៍បើកទូលាយ Protégé ដើម្បីសាងសង់អុនតូឡូស៊ីសម្រាប់ដែនទិន្នន័យរបស់អ្នក។
  2. អនុវត្តការវិភាគវាក្យសម្ព័ន្ធ (Dependency Parsing): រៀនសរសេរកូដ Python ដោយប្រើប្រាស់បណ្ណាល័យ spaCy ដើម្បីទាញយកមែកធាងអាស្រ័យវាក្យសម្ព័ន្ធ និងរៀបចំក្បួនដោះស្រាយដើម្បីទាញយក Entities និង Predicates ពីប្រយោគសំណួរ។
  3. សាងសង់ប្រព័ន្ធផ្គូផ្គងវាក្យសព្ទ (Lexicon Mapping): ប្រើប្រាស់ PyTorch និងគំរូ Sentence-BERT (SBERT) ជាមួយនឹង MEAN pooling strategy ដើម្បីបំប្លែងពាក្យទៅជាវ៉ិចទ័រ និងវាស់ស្ទង់ភាពស្រដៀងគ្នា (Cosine similarity) រវាងសំណួរ និងទិន្នន័យ Ontology។
  4. អភិវឌ្ឍក្បួនដោះស្រាយបំប្លែងសំណួរ (SPARQL Query Constructor): សរសេរកូដដើម្បីកំណត់ប្រភេទសំណួរ (Single fact, ASK) តាមរយៈក្បួនដោះស្រាយ Type-checker រួចបំប្លែងលទ្ធផលដែលបានពី Lexicon ទៅជាទម្រង់គំរូសំណួរ SPARQL ឱ្យបានត្រឹមត្រូវ។
  5. ធ្វើសមាហរណកម្ម និងដំណើរការប្រព័ន្ធ (Integration): ភ្ជាប់កម្មវិធីវិភាគសំណួរភាសាធម្មជាតិរបស់អ្នកទៅកាន់ឃ្លាំងទិន្នន័យ ដោយប្រើ Apache Jena API និង Pellet reasoner នៅក្នុងភាសា Java ដើម្បីទាញយកចម្លើយមកបង្ហាញអ្នកប្រើប្រាស់ជាទម្រង់ HTML table។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
SPARQL ភាសាសំណួរសម្រាប់ទាញយកនិងកែប្រែទិន្នន័យដែលរក្សាទុកក្នុងទម្រង់ RDF នៅលើ Semantic Web។ វាអនុញ្ញាតឱ្យអ្នកប្រើប្រាស់ស្វែងរកទិន្នន័យដែលទាក់ទងគ្នាតាមរយៈលក្ខខណ្ឌជាក់លាក់។ ដូចជាការបញ្ជាសួរទៅកាន់បណ្ណាល័យដ៏ធំមួយដែលមានសៀវភៅភ្ជាប់គ្នាទៅវិញទៅមក ដើម្បីរកចម្លើយជាក់លាក់ណាមួយ។
Semantic Web បណ្តាញអ៊ីនធឺណិតជំនាន់ថ្មីដែលផ្ទុកទិន្នន័យក្នុងទម្រង់ដែលអាចឱ្យម៉ាស៊ីន (កុំព្យូទ័រ) យល់ពីអត្ថន័យ និងទំនាក់ទំនងរវាងទិន្នន័យទាំងនោះ មិនមែនត្រឹមតែបង្ហាញជាអត្ថបទធម្មតាឡើយ។ ដូចជាការរៀបចំឯកសារក្នុងទូដោយមានបិទស្លាកឈ្មោះនិងប្រាប់ពីទំនាក់ទំនងគ្នា ដែលធ្វើឱ្យមនុស្សយន្តអាចរៀបចំនិងរកឯកសារបានដោយខ្លួនឯង។
Ontology ការរៀបចំនិងចាត់ថ្នាក់ពាក្យ ឬគំនិតនៅក្នុងវិស័យណាមួយ ដើម្បីបង្ហាញពីទំនាក់ទំនងរវាងពួកវាឱ្យម៉ាស៊ីនអាចយល់បាន (ឧទាហរណ៍៖ 'សាស្ត្រាចារ្យ' បង្រៀន 'មុខវិជ្ជា')។ ដូចជាផែនទីគំនិត (Mind map) ដែលប្រាប់កុំព្យូទ័រថាអ្នកណាធ្វើអ្វី និងមានទំនាក់ទំនងអ្វីខ្លះជាមួយអ្នកដទៃ។
RDF (Resource Description Framework) ទម្រង់ស្តង់ដារសម្រាប់សរសេរទិន្នន័យនៅលើបណ្តាញអ៊ីនធឺណិត ដោយប្រើរចនាសម្ព័ន្ធ 'ប្រធានបទ-កិរិយា-កម្មបទ' (Subject-Predicate-Object) ដែលគេហៅថា Triple។ ដូចជាការបង្កើតប្រយោគខ្លីៗដើម្បីពន្យល់រឿងអ្វីមួយ ឧទាហរណ៍ 'សិស្ស (ប្រធាន) - រៀន (កិរិយា) - គណិតវិទ្យា (កម្មបទ)'។
Dependency Parsing ដំណើរការវិភាគវេយ្យាករណ៍នៃប្រយោគ ដើម្បីស្វែងយល់ពីទំនាក់ទំនងរវាងពាក្យនីមួយៗ (ឧទាហរណ៍៖ ពាក្យណាជាប្រធាន ពាក្យណាជាកិរិយាសព្ទ)។ ដូចជាការវះកាត់ប្រយោគមួយដើម្បីមើលថាតើពាក្យនីមួយៗតភ្ជាប់គ្នានិងបំពេញន័យឱ្យគ្នាទៅវិញទៅមកយ៉ាងដូចម្តេច។
Sentence-BERT (SBERT) បច្ចេកវិទ្យាបញ្ញាសិប្បនិម្មិត (AI) ដែលប្រើសម្រាប់បំប្លែងប្រយោគទៅជាលេខ (វ៉ិចទ័រ) ដើម្បីប្រៀបធៀបអត្ថន័យរបស់វាទោះបីជាវាប្រើពាក្យខុសគ្នាក៏ដោយ។ ដូចជាអ្នកបកប្រែដែលដឹងថាប្រយោគ 'ខ្ញុំឃ្លាន' និង 'ខ្ញុំចង់ញ៉ាំបាយ' មានអត្ថន័យដូចគ្នា ទោះបីជាសរសេរខុសគ្នាក៏ដោយ។
Named Entity Recognition បច្ចេកទេសទាញយកព័ត៌មានដែលស្វែងរកនិងចាត់ថ្នាក់ពាក្យសំខាន់ៗក្នុងអត្ថបទទៅជាប្រភេទជាក់លាក់ ដូចជាឈ្មោះមនុស្ស ទីកន្លែង ឬស្ថាប័ន។ ដូចជាការប្រើហ្វឺតគូសចំណាំ (Highlight) លើពាក្យសំខាន់ៗក្នុងសៀវភៅ រួចដាក់ស្លាកថាវាជាឈ្មោះមនុស្ស ឬឈ្មោះទីក្រុង។
Description Logics (DLs) ទម្រង់តក្កវិទ្យាគណិតវិទ្យាដែលប្រើសម្រាប់តំណាងចំណេះដឹងនៅក្នុង Semantic Web ដែលអនុញ្ញាតឱ្យកម្មវិធីកុំព្យូទ័រធ្វើការវែកញែក (Reasoning) រកព័ត៌មានថ្មីៗពីទិន្នន័យដែលមានស្រាប់។ ដូចជាការបង្រៀនក្បួនគិតដល់កុំព្យូទ័រ ឧទាហរណ៍៖ បើ A ជាឪពុករបស់ B ហើយ B ជាឪពុករបស់ C នោះកុំព្យូទ័រអាចទាយដឹងថា A ជាជីតារបស់ C។

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

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

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