លំហសិក្សាកម្ពុជា
V1.0
ប្រព័ន្ធអ្នកជំនាញ (Expert System) និងការស្វែងរកពាក្យគន្លឹះ (Keyword Lookup) គឺជាវិធីសាស្ត្រពីរខុសគ្នាស្រឡះក្នុងការស្វែងរក និងដំណើរការទិន្នន័យ។
១. ការស្វែងរកពាក្យគន្លឹះ (Keyword Lookup) វិធីសាស្ត្រនេះដំណើរការដោយការប្រៀបធៀបពាក្យដែលអ្នកប្រើប្រាស់បានវាយបញ្ចូលជាមួយមូលដ្ឋានទិន្នន័យដែលមានស្រាប់ដោយផ្ទាល់។ វាស្វែងរកតែការផ្គូផ្គងពាក្យពិតប្រាកដ (Exact Match) ដោយគ្មានការយល់ដឹងពីអត្ថន័យ បរិបទ ឬអត្ថន័យស៊ីជម្រៅឡើយ។
គុណសម្បត្តិ៖ លឿនខ្លាំង ងាយស្រួលបង្កើត និងមានប្រសិទ្ធភាពខ្ពស់ពេលស្វែងរកឯកសារ ឬទិន្នន័យច្បាស់លាស់។
ដែនកំណត់៖ បើអ្នកប្រើប្រាស់វាយពាក្យខុស ឬប្រើពាក្យមានន័យដូចគ្នា (Synonyms) ប៉ុន្តែមិនចំក្នុងប្រព័ន្ធ នោះវាមិនអាចរកឃើញទេ។ វាខ្វះខាតការវិភាគបរិបទ។
២. ប្រព័ន្ធអ្នកជំនាញ (Expert System) ជាសាខាមួយនៃបញ្ញាសិប្បនិម្មិត (AI) ដែលត្រូវបានរចនាឡើងដើម្បីត្រាប់តាមសមត្ថភាពសម្រេចចិត្តរបស់មនុស្សដែលមានជំនាញខ្ពស់ក្នុងវិស័យណាមួយ។ វាប្រើប្រាស់ក្បួនតក្កវិជ្ជា ប្រព័ន្ធផ្អែកលើច្បាប់ (Rule-based System) និងមូលដ្ឋានចំណេះដឹង (Knowledge Base) ដើម្បីវិភាគបញ្ហាស្មុគស្មាញ និងផ្តល់អនុសាសន៍។
គុណសម្បត្តិ៖ អាចដោះស្រាយបញ្ហាទាមទារការវិភាគ ផ្តល់ហេតុផលច្បាស់លាស់ និងយល់ពីបរិបទស្មុគស្មាញក្នុងវិស័យជាក់លាក់ ដូចជាវេជ្ជសាស្ត្រ ឬវិស្វកម្ម។
ដែនកំណត់៖ មានភាពស្មុគស្មាញ និងចំណាយពេលច្រើនក្នុងការបង្កើត ក៏ដូចជាត្រូវការការអាប់ដេតទិន្នន័យចំណេះដឹងជាប្រចាំពីសំណាក់អ្នកជំនាញមនុស្ស។
សេចក្តីសន្និដ្ឋាន៖ Keyword Lookup ប្រៀបដូចជាការរាវរកសៀវភៅតាមចំណងជើងយ៉ាងឆាប់រហ័ស ខណៈដែល Expert System ប្រៀបដូចជាអ្នកជំនាញការដែលអាចពិនិត្យរោគសញ្ញា វិភាគ និងផ្តល់ដំណោះស្រាយសមស្រប។
១. កំហុសវេយ្យាករណ៍ (Syntax Error)
កើតឡើងនៅពេលសរសេរកូដខុសពីច្បាប់ស្តង់ដាររបស់ Python (ឧ. បាត់សញ្ញាចុចពីរ : នៅចុងបន្ទាត់ conditional)។ កូដនេះមិនអាចរត់បានទាល់តែសោះ។
if x > 5
print("ធំជាង ៥") # SyntaxError: expected ':'
២. កំហុសពេលកំពុងដំណើរការ (Runtime Error)
កើតឡើងពេលកូដមានវេយ្យាករណ៍ត្រូវ តែត្រូវដាច់កណ្តាលផ្លូវ (Crash) ពេលកំពុងរត់ (ឧ. ការយកលេខចែកនឹងសូន្យ)។
a = 10
b = 0
result = a / b # ZeroDivisionError: division by zero
print(result)
៣. កំហុសតក្កវិជ្ជា (Logic Error)
កម្មវិធីរត់ចប់ដោយជោគជ័យគ្មានបង្ហាញ Error ទេ តែលទ្ធផលចេញមកខុសពីការពិត ដោយសារក្បួនគណនាខុស។
# បំណងចង់រកមធ្យមភាគនៃលេខ 10 និង 20 ប៉ុន្តែក្បួនគណនាខុសលំដាប់លំដោយ
average = 10 + 20 / 2
print(average) # លទ្ធផលបង្ហាញ៖ 20.0 (ខុសពីការពិតដែលគួរតែជា 15.0)
HW1.3: ពិភាក្សា Logic Error + Insufficient Evidence
នៅក្នុងប្រព័ន្ធអ្នកជំនាញ (Expert System) ការខ្វះខាតភស្តុតាង ឬទិន្នន័យ (Insufficient Evidence) គឺជាបញ្ហាប្រឈមដ៏ធំមួយ។ នៅពេលដែល
ប្រព័ន្ធទទួលបានទិន្នន័យមិនគ្រប់គ្រាន់ ប៉ុន្តែត្រូវបានរចនាឱ្យបង្ខំចិត្តធ្វើការសន្និដ្ឋាន ច្បាប់ (Rules) ក្នុងប្រព័ន្ធអាចនឹងដំណើរការខុសប្រក្រតី ឬជ្រើសរើសផ្លូវខុស។
ស្ថានភាពនេះនាំឱ្យកើតមាន Logic Error (កំហុសតក្កវិជ្ជានៅក្នុងក្បួនដោះស្រាយ ឬការសន្និដ្ឋាន) ដែលធ្វើឱ្យលទ្ធផល ឬការព្យាករណ៍របស់ប្រព័ន្ធខុសឆ្គង ទោះ
បីជាកូដ ឬប្រព័ន្ធរត់បានដោយគ្មានបញ្ហា Syntax ក៏ដោយ។ ដើម្បីដោះស្រាយបញ្ហានេះ ប្រព័ន្ធត្រូវមានយន្តការសួរព័ត៌មានបន្ថែមពីអ្នកប្រើប្រាស់
(Interactive Fact Gathering) ឬប្រើប្រាស់កម្រិតទំនុកចិត្ត (Certainty Factors) ជំនួសឱ្យការសន្និដ្ឋានស្មានៗ។
HW1.4: យោងឯកសារ IEEE យ៉ាងតិច ២ ប្រភព និង AI Disclosure
១. ឯកសារយោងតាមស្ដង់ដារ IEEE (References):
[1] Norton University, “Expert System Development: Course Syllabus,” revised course document, 2026.
[2] S. Russell and P. Norvig, Artificial Intelligence: A Modern Approach, 4th ed. Pearson, 2021.
[3] F. Miao and W. Holmes, Guidance for Generative AI in Education and Research. UNESCO, 2023. [Online].
Available: https://www.unesco.org/en/articles/guidance-generative-ai-education-and-research
២. សេចក្តីប្រកាសការប្រើប្រាស់បញ្ញាសិប្បនិម្មិត (AI Disclosure Statement):
"This assignment was prepared with the assistance of an AI collaborative tool (Google Gemini)
for structuring explanations, drafting Python error examples, and organizing academic references
in compliance with UNESCO guidelines on Generative AI in education. All technical concepts and
final outputs were reviewed and verified by the student."
Case Worksheet: Code, Evidence, Expected/Actual, Cause និង Hint 1
Code:
def check_loan_eligibility(age, credit_score):
# កំហុសតក្កវិជ្ជា៖ ប្រើ or ជំនួសឱ្យ and
if age >= 18 or credit_score > 700:
return "Approved"
return "Denied"Evidence: នៅពេលបញ្ចូលទិន្នន័យអាយុ age = 16 (ក្រោមអាយុ ១៨ ឆ្នាំ) ប៉ុន្តែមានពិន្ទុឥណទាន credit_score = 750 ប្រព័ន្ធបានបញ្ចេញលទ្ធផលថា "Approved"។
Expected: ក្មេងអាយុ ១៦ ឆ្នាំ មិនគួរមានសិទ្ធិទទួលបានការអនុម័តកម្ចីទេ (លទ្ធផលគួរតែជា "Denied") ទោះបីជាមានពិន្ទុឥណទានខ្ពស់ក៏ដោយ។
Actual: ប្រព័ន្ធផ្តល់លទ្ធផល "Approved"។
Cause: កើតឡើងពី Logic Error ដោយសារការប្រើប្រាស់ប្រតិបត្តិករឡូស៊ិកខុស (or ជំនួសឱ្យ and) ដែលធ្វើឱ្យលក្ខខណ្ឌណាមួយពិត គឺសម្រេចថាผ่านភ្លាម ដោយមិនបានតម្រូវឱ្យគ្រប់លក្ខខណ្ឌទាំងអស់ក្នុងពេលតែមួយ។
Hint 1: សូមពិនិត្យមើលប្រតិបត្តិករលក្ខខណ្ឌ (Logical Operators ដូចជា and និង or) ក្នុងកូដរបស់អ្នក ដើម្បីប្រាកដថាគ្រប់លក្ខខណ្ឌតម្រូវទាំងអស់ត្រូវតែបំពេញព្រមគ្នា។
មតិយោបល់ 0