Original Title: Document retrieval using term term frequency inverse sentence frequency weighting scheme
Source: doi.org/10.11591/ijeecs.v31.i3.pp1478-1485
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការទាញយកឯកសារដោយប្រើប្រាស់ប្រព័ន្ធថ្លឹងទម្ងន់ប្រេកង់ពាក្យ និងប្រេកង់ប្រយោគបញ្ច្រាស

ចំណងជើងដើម៖ Document retrieval using term term frequency inverse sentence frequency weighting scheme

អ្នកនិពន្ធ៖ Mohannad T. Mohammed (Middle Technical University), Omar Fitian Rashid (University of Baghdad)

ឆ្នាំបោះពុម្ព៖ 2023, Indonesian Journal of Electrical Engineering and Computer Science

វិស័យសិក្សា៖ Computer Science / Information Retrieval

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

បញ្ហា (The Problem)៖ ការស្រាវជ្រាវនេះដោះស្រាយបញ្ហានៃការស្វែងរកឯកសារដែលពាក់ព័ន្ធបំផុតទៅនឹងសំណួររបស់អ្នកប្រើប្រាស់ ក្នុងចំណោមឯកសារដ៏ច្រើនសន្ធឹកសន្ធាប់នៅលើបណ្តាញអ៊ីនធឺណិត ដោយផ្តោតលើការកែលម្អប្រព័ន្ធថ្លឹងទម្ងន់ (Weighting scheme) សម្រាប់បង្កើនប្រសិទ្ធភាពទាញយកព័ត៌មាន។

វិធីសាស្ត្រ (The Methodology)៖ អ្នកស្រាវជ្រាវបានស្នើឡើងនូវម៉ូដែលវ៉ិចទ័រលំហ (Vector Space Model) ថ្មីមួយ ដោយប្រើប្រព័ន្ធថ្លឹងទម្ងន់ផ្អែកលើកម្រិតប្រយោគ ជំនួសឱ្យកម្រិតឯកសារ។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
TF-IDF-Co (Baseline)
ប្រព័ន្ធ TF-IDF ជាមួយរង្វាស់ភាពស្រដៀង Cosine
ជាម៉ូដែលស្តង់ដារ និងងាយស្រួលយល់សម្រាប់ការទាញយកឯកសារ ដោយប្រើប្រាស់គំរូវ៉ិចទ័រលំហ (Vector Space Model)។ មានកម្រិតភាពសុក្រឹតទាបជាងប្រព័ន្ធស្នើឡើង ដោយសារវាគណនាទម្ងន់ពាក្យផ្អែកលើកម្រិតឯកសារទាំងមូល មិនមែនកម្រិតប្រយោគ។ ទទួលបានតម្លៃ MAP(k=3) = 0.781, MAP(k=5) = 0.774 និង MAP(k=10) = 0.732។
TF-IDF-Ja (Baseline)
ប្រព័ន្ធ TF-IDF ជាមួយរង្វាស់ភាពស្រដៀង Jaccard
ងាយស្រួលក្នុងការគណនាដោយផ្អែកលើការរាប់ចំនួនពាក្យដែលជាន់គ្នា (Intersection) រវាងសំណួរ និងឯកសារ។ ទទួលបានលទ្ធផលខ្សោយជាងគេបំផុតក្នុងការធ្វើតេស្ត ដោយសាររង្វាស់ Jaccard មិនសូវឆ្លើយតបល្អជាមួយទម្ងន់វ៉ិចទ័រស្មុគស្មាញ។ ទទួលបានតម្លៃ MAP(k=3) = 0.752, MAP(k=5) = 0.743 និង MAP(k=10) = 0.691។
TF-ISF-Co (Proposed)
ប្រព័ន្ធ TF-ISF ជាមួយរង្វាស់ភាពស្រដៀង Cosine
ផ្តល់ភាពសុក្រឹតខ្ពស់បំផុត ដោយផ្តោតលើការផ្តល់ទម្ងន់ពាក្យក្នុងកម្រិតប្រយោគ (Sentence Level) ធ្វើឱ្យការចាប់យកអត្ថន័យកាន់តែជាក់លាក់។ ទាមទារការពុះបំបែកអត្ថបទជាប្រយោគតូចៗជាមុន ដែលអាចបន្ថែមភាពស្មុគស្មាញក្នុងការរៀបចំទិន្នន័យ។ មានប្រសិទ្ធភាពខ្ពស់បំផុតដោយទទួលបានតម្លៃ MAP(k=3) = 0.818 ពោលគឺកើនឡើង 4.74% ធៀបនឹងប្រព័ន្ធគោល។
TF-ISF-Ja (Proposed)
ប្រព័ន្ធ TF-ISF ជាមួយរង្វាស់ភាពស្រដៀង Jaccard
មានភាពប្រសើរជាងប្រព័ន្ធ Jaccard ចាស់ ដោយសារការប្តូរមកប្រើប្រព័ន្ធថ្លឹងទម្ងន់កម្រិតប្រយោគ។ ទោះបីជាប្រសើរជាងមុខបន្តិច ប៉ុន្តែនៅតែមានកម្រិតទាបបើប្រៀបធៀបជាមួយការប្រើប្រាស់រង្វាស់ Cosine។ ទទួលបានតម្លៃ MAP(k=3) = 0.761 ពោលគឺកើនឡើង 1.20% ធៀបនឹងប្រព័ន្ធគោល Jaccard។

ការចំណាយលើធនធាន (Resource Cost)៖ ការស្រាវជ្រាវនេះមិនតម្រូវឱ្យមានធនធានផ្នែករឹងធំដុំនោះទេសម្រាប់ការសាកល្បងលើសំណុំទិន្នន័យតូច ប៉ុន្តែទាមទារចំណេះដឹងផ្នែកសរសេរកូដ និងការរៀបចំទិន្នន័យភាសា (NLP)។

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

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

ការសិក្សានេះពឹងផ្អែកទាំងស្រុងលើសំណុំទិន្នន័យ MS MARCO ដែលជាទិន្នន័យស្វែងរកតាមរយៈ Bing ជាភាសាអង់គ្លេស។ សម្រាប់បរិបទប្រទេសកម្ពុជា នេះគឺជាបញ្ហាប្រឈមដ៏ធំមួយ ពីព្រោះភាសាខ្មែរមិនមានចន្លោះ (Spaces) រវាងពាក្យ ហើយទាមទារវិធីសាស្ត្រកាត់ពាក្យ (Word Segmentation) ដាច់ដោយឡែក ព្រមទាំងមិនទាន់មានបញ្ជីពាក្យអសារបង់ (Stop-words list) ស្តង់ដារដែលត្រូវបានទទួលស្គាល់ទូលំទូលាយនៅឡើយទេ។

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

ទោះបីជាមានបញ្ហាប្រឈមខាងភាសាក៏ដោយ វិធីសាស្ត្រ TF-ISF នេះមានសក្តានុពលខ្ពស់ក្នុងការអភិវឌ្ឍប្រព័ន្ធស្វែងរកឯកសារក្នុងស្រុកឱ្យកាន់តែឆ្លាតវៃ។

សរុបមក ការអនុវត្តម៉ូដែលនេះនឹងជួយសន្សំសំចៃពេលវេលា និងបង្កើនភាពត្រឹមត្រូវក្នុងការទាញយកព័ត៌មានពីបណ្តុំទិន្នន័យខ្នាតធំនៅកម្ពុជា ប្រសិនបើបញ្ហាដំណើរការភាសាខ្មែរ (Khmer NLP) ត្រូវបានដោះស្រាយ។

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

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

  1. រៀបចំឧបករណ៍កាត់ពាក្យភាសាខ្មែរ (Khmer Tokenization): ជំនួសឱ្យការប្រើប្រាស់ NLTK ដែលកាត់ពាក្យតាមចន្លោះ ត្រូវផ្តើមដំបូងដោយការតំឡើងបណ្ណាល័យភាសាខ្មែរដូចជា khmer-nltk ឬ seang នៅក្នុង Python ដើម្បីបំបែកប្រយោគ និងពាក្យឱ្យបានត្រឹមត្រូវ។
  2. បង្កើតបញ្ជីពាក្យអសារបង់ (Khmer Stop-words List): ប្រមូល និងបង្កើតបញ្ជីពាក្យដែលប្រើញឹកញាប់តែគ្មានអត្ថន័យសំខាន់ (ឧទាហរណ៍៖ នូវ, នៃ, ដោយ, ដែល) ដើម្បីចម្រាញ់ទិន្នន័យមុននឹងធ្វើការគណនាទម្ងន់ ដើម្បីសន្សំទំហំអង្គចងចាំ។
  3. អភិវឌ្ឍក្បួនដោះស្រាយ TF-ISF និង Cosine Similarity: សរសេរកូដ Python ដោយប្រើប្រាស់ NumPy និង scikit-learn ដើម្បីបំប្លែងអត្ថបទទៅជាវ៉ិចទ័រ គណនារូបមន្តប្រេកង់ប្រយោគបញ្ច្រាស (Inverse Sentence Frequency) ជំនួសឱ្យឯកសារបញ្ច្រាស និងវាស់ស្ទង់មុំរវាងវ៉ិចទ័រ (Cosine)។
  4. វាយតម្លៃប្រព័ន្ធដោយប្រើម៉ាទ្រីក MAP (Mean Average Precision): សាកល្បងប្រព័ន្ធដែលបានបង្កើតជាមួយសំណុំទិន្នន័យខ្នាតតូច (ឧទាហរណ៍៖ ឯកសារសារណារបស់និស្សិត ៥០០ ច្បាប់) រួចគណនាតម្លៃ MAP(k=3, 5, 10) ដើម្បីប្រៀបធៀបប្រសិទ្ធភាពធៀបនឹងប្រព័ន្ធចាស់។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Term frequency inverse document frequency (TF-IDF) វិធីសាស្ត្រគណនាទម្ងន់ពាក្យនៅក្នុងឯកសារដោយផ្អែកលើភាពញឹកញាប់នៃពាក្យនោះក្នុងឯកសារ (TF) និងភាពកម្ររបស់វានៅក្នុងបណ្តុំឯកសារទាំងមូល (IDF) ដើម្បីកំណត់ថាពាក្យមួយណាមានសារៈសំខាន់ និងអាចតំណាងឱ្យឯកសារនោះបាន។ ដូចជាការវាយតម្លៃភាពលេចធ្លោរបស់សិស្សម្នាក់៖ បើគេពូកែមុខវិជ្ជាមួយយ៉ាងខ្លាំង ហើយមុខវិជ្ជានោះកម្រមានអ្នកចេះ នោះសិស្សនោះនឹងមានភាពលេចធ្លោជាងគេ។
Term frequency inverse sentence frequency (TF-ISF) វិធីសាស្ត្រថ្មីដែលយកលំនាំតាម TF-IDF ប៉ុន្តែវាវាស់ស្ទង់ភាពញឹកញាប់ និងភាពកម្ររបស់ពាក្យនៅក្នុងកម្រិត "ប្រយោគ" (Sentence) ជំនួសឱ្យកម្រិត "ឯកសារ" (Document) ទាំងមូល ដើម្បីចាប់យកអត្ថន័យកាន់តែលម្អិត និងស៊ីជម្រៅ។ ដូចជាការស្វែងរកចំណុចសំខាន់ក្នុងសៀវភៅមួយក្បាលដោយអាន និងវាយតម្លៃរើសយកឃ្លាសំខាន់ៗក្នុងបន្ទាត់នីមួយៗ ជំនួសឱ្យការវាយតម្លៃជារួមទាំងទំព័រ។
Vector space model (VSM) ម៉ូដែលគណិតវិទ្យាដែលតំណាងឱ្យអត្ថបទ (សំណួរ ឬ ឯកសារ) ជាវ៉ិចទ័រនៅក្នុងលំហពហុវិមាត្រ (Multi-dimensional space) ដែលវិមាត្រនីមួយៗតំណាងឱ្យពាក្យនីមួយៗ ដើម្បីងាយស្រួលឱ្យកុំព្យូទ័រគណនាភាពស្រដៀងគ្នា។ ដូចជាការដាក់ទីតាំងផ្ទះនៅលើផែនទី ដែលផ្ទះណាមានលក្ខណៈស្រដៀងគ្នា (ឧ. មានអាងហែលទឹក មានសួនច្បារដូចគ្នា) នឹងត្រូវដាក់ឱ្យនៅជិតគ្នាតាមកូអរដោនេលើផែនទីនោះ។
Cosine similarity ការវាស់ស្ទង់ភាពស្រដៀងគ្នារវាងវ៉ិចទ័រពីរ (ឯកសារ និងសំណួរ) ដោយគណនាមុំកូស៊ីនុស (Cosine of the angle) រវាងពួកវា។ បើមុំកាន់តែតូច ឬខិតជិតសូន្យ មានន័យថាឯកសារទាំងពីរកាន់តែស្រដៀងគ្នា។ ដូចជាមនុស្សពីរនាក់កំពុងចង្អុលដៃទៅកាន់ទិសដៅតែមួយ ទោះបីជាដៃម្នាក់វែងជាងម្នាក់ទៀត (ឯកសារវែងជាង) ក៏ដោយ សំខាន់គឺទិសដៅនៃគោលគំនិតគឺដូចគ្នា។
Jaccard similarity ការគណនាភាពស្រដៀងគ្នាដោយយកចំនួនពាក្យដែលជាន់គ្នា (Intersection) រវាងឯកសារពីរ ចែកជាមួយចំនួនពាក្យសរុបបញ្ចូលគ្នា (Union) នៃឯកសារទាំងពីរនោះ។ ដូចជាការប្រៀបធៀបគ្រឿងផ្សំម្ហូបពីរមុខ៖ យកគ្រឿងផ្សំដែលដូចគ្នាមកចែកនឹងមុខគ្រឿងផ្សំសរុបទាំងអស់ដែលម្ហូបទាំងពីរមាន ដើម្បីមើលថាវាស្រដៀងគ្នាប៉ុនណា។
Tokenization ដំណើរការកាត់បំបែកអត្ថបទ ឬប្រយោគវែងៗ ទៅជាកង់ៗ ឬពាក្យតូចៗ (Tokens) ដាច់ដោយឡែកពីគ្នា ដែលជាទូទៅកាត់តាមចន្លោះ (Space) ឬសញ្ញាខណ្ឌ ដើម្បីឱ្យម៉ាស៊ីនងាយស្រួលវិភាគ។ ដូចជាការកាត់នំប៉័ងមួយដើមធំ ទៅជាចំណិតស្តើងៗ ដើម្បីងាយស្រួលញ៉ាំ ឬយកទៅចម្អិនបន្តតាមចំណែកតូចៗ។
Stemming ដំណើរការកាត់ចោលរាល់ផ្នត់ដើមឬផ្នត់ចុងនៃពាក្យ (Suffixes/Prefixes) ដើម្បីរក្សាទុកតែឫសគល់នៃពាក្យ (Root word) ក្នុងបំណងកាត់បន្ថយការភាន់ច្រឡំរបស់កុំព្យូទ័រ (ឧទាហរណ៍ការបំប្លែង "reading" និង "reads" ទៅជា "read")។ ដូចជាការបកសំបកនិងកាត់មែកដើមឈើចេញ រក្សាទុកតែគល់ឈើសុទ្ធ ដើម្បីងាយស្រួលចាត់ថ្នាក់ថាវាជាប្រភេទឈើអ្វីតែមួយមុខ។
Mean average precision (MAP) រង្វាស់សម្រាប់វាយតម្លៃគុណភាពនៃប្រព័ន្ធទាញយកព័ត៌មាន (Information Retrieval) ដោយវាស់ស្ទង់ភាពសុក្រឹតជាមធ្យម (Precision) នៃឯកសារពាក់ព័ន្ធដែលប្រព័ន្ធបានទាញយកមកបង្ហាញក្នុងចំណាត់ថ្នាក់កំពូលៗ។ ដូចជាការវាយតម្លៃអ្នកបាញ់ធ្នូ ដោយមិនត្រឹមតែមើលថាតើគាត់បាញ់ចំគោលដៅប៉ុន្មានព្រួញទេ តែមើលថាតើព្រួញដែលចំគោលដៅនោះនៅកៀកចំណុចកណ្តាលស៊ីបប៉ុនណាជាមធ្យម។

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

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

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