Original Title: SUPERVISED AND UNSUPERVISED MACHINE LEARNING TECHNIQUES FOR TEXT DOCUMENT CATEGORIZATION
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

បច្ចេកទេសរៀនដោយម៉ាស៊ីនមានការត្រួតពិនិត្យ និងគ្មានការត្រួតពិនិត្យសម្រាប់ការចាត់ថ្នាក់ឯកសារអត្ថបទ

ចំណងជើងដើម៖ SUPERVISED AND UNSUPERVISED MACHINE LEARNING TECHNIQUES FOR TEXT DOCUMENT CATEGORIZATION

អ្នកនិពន្ធ៖ Arzucan Özgür (Boğaziçi University)

ឆ្នាំបោះពុម្ព៖ 2004

វិស័យសិក្សា៖ Computer Engineering / Machine Learning

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

បញ្ហា (The Problem)៖ ការស្រាវជ្រាវនេះដោះស្រាយបញ្ហានៃការចាត់ថ្នាក់ឯកសារអត្ថបទដោយស្វ័យប្រវត្តិ ឆ្លើយតបទៅនឹងការកើនឡើងយ៉ាងឆាប់រហ័សនៃទិន្នន័យអត្ថបទឌីជីថលនៅលើបណ្តាញអ៊ីនធឺណិត។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះប្រៀបធៀបដំណើរការនៃក្បួនដោះស្រាយម៉ាស៊ីនរៀនទាំងមាន និងគ្មានការត្រួតពិនិត្យ ដោយប្រើប្រាស់សំណុំឯកសារស្តង់ដារចំនួនប្រាំ និងរង្វាស់វាយតម្លៃជាច្រើនមុខ។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
K-means & Bisecting K-means
ការចង្កោម K-means និង K-means បែងចែកជាពីរ (គ្មានការត្រួតពិនិត្យ)
មានភាពស្មុគស្មាញនៃពេលវេលាទាប (O(N)) ដែលស័ក្តិសមសម្រាប់ទិន្នន័យធំៗ។ អាចបែងចែកប្រធានបទដាច់ពីគ្នាបានល្អ និងមិនងាយរងឥទ្ធិពលពីបញ្ហា Chaining effect ដូចវិធីសាស្ត្រតាមឋានានុក្រមមួយចំនួនឡើយ។ លទ្ធផលចុងក្រោយពឹងផ្អែកយ៉ាងខ្លាំងទៅលើការជ្រើសរើសចំនុចកណ្តាលដំបូង (Initial centroids) និងការកំណត់ចំនួនចង្កោម (k) ជាមុន។ ទទួលបានពិន្ទុ F-measure និង Purity ខ្ពស់បំផុតក្នុងចំណោមបច្ចេកទេសគ្មានការត្រួតពិនិត្យ ហើយជួនកាលដំណើរការល្អជាង Naive Bayes ទៀតផង។
Agglomerative Hierarchical (Average-link)
ការចង្កោមតាមឋានានុក្រមបាតឡើងលើដោយប្រើមធ្យមភាគ (គ្មានការត្រួតពិនិត្យ)
មិនចាំបាច់កំណត់ចំនួនចង្កោមជាមុន ហើយពឹងផ្អែកលើលក្ខណៈទូទៅនៃការវាស់ស្ទង់ភាពស្រដៀងគ្នារវាងឯកសារទាំងមូលនៅក្នុងចង្កោម។ មានភាពស្មុគស្មាញនៃពេលវេលាខ្ពស់ O(N^2) ដែលធ្វើឱ្យមានភាពយឺតយ៉ាវសម្រាប់ទិន្នន័យធំៗ ហើយវាមិនត្រលប់ទៅកែប្រែចង្កោមដែលបានបង្កើតរួចនៅដំណាក់កាលកណ្តាលទេ។ ដំណើរការល្អបំផុតក្នុងចំណោមវិធីសាស្រ្តតាមឋានានុក្រម (Hierarchical) ប៉ុន្តែនៅតែចាញ់ក្បួនដោះស្រាយ K-means លើគុណភាពចង្កោមទូទៅ។
Naive Bayes (Multivariate Bernoulli)
ក្បួនដោះស្រាយ Naive Bayes ដោយប្រើម៉ូដែល Bernoulli (មានការត្រួតពិនិត្យ)
ងាយស្រួលក្នុងការគណនា និងមានល្បឿនលឿន ដោយផ្អែកលើប្រូបាប៊ីលីតេនៃការមាន ឬគ្មានពាក្យនៅក្នុងឯកសារ។ ធ្វើការសន្មតខុសការពិតថាពាក្យនីមួយៗឯករាជ្យពីគ្នាទាំងស្រុង ហើយងាយរងឥទ្ធិពលអវិជ្ជមានពីទិន្នន័យខុសប្រក្រតី (Outliers) នៅក្នុងទិន្នន័យហ្វឹកហាត់។ ទទួលបានលទ្ធផល F1-measure ទាបបំផុត (Worst performer) ក្នុងចំណោមបច្ចេកទេសមានការត្រួតពិនិត្យទាំងអស់។
Support Vector Machines (SVM)
ម៉ាស៊ីនវ៉ិចទ័រគាំទ្រ (មានការត្រួតពិនិត្យ)
ដំណើរការល្អឥតខ្ចោះលើទិន្នន័យអត្ថបទដែលមានវិមាត្រខ្ពស់ (High dimensional feature space) និងមានភាពបត់បែនតាមរយៈការប្រើប្រាស់ Kernel ផ្សេងៗ (Linear, Polynomial, RBF)។ ត្រូវការពេលវេលាយូរក្នុងការបង្ហាត់ម៉ូដែល (Training time) និងទាមទារការកំណត់ប៉ារ៉ាម៉ែត្រឱ្យបានត្រឹមត្រូវដើម្បីទទួលបានលទ្ធផលល្អបំផុត។ ទទួលបានលទ្ធផល F1-measure ខ្ពស់បំផុត (Best performer) ក្នុងចំណោមវិធីសាស្រ្តចាត់ថ្នាក់ទាំងអស់នៅគ្រប់សំណុំទិន្នន័យ។

ការចំណាយលើធនធាន (Resource Cost)៖ ការស្រាវជ្រាវនេះមិនបានរៀបរាប់លម្អិតអំពីតម្លៃធនធានកុំព្យូទ័រទេ ប៉ុន្តែវាទាមទារសមត្ថភាព CPU និង RAM មធ្យមសម្រាប់ការគណនា O(N^2) និងកម្មវិធីកូដសម្រាប់ដំណើរការទិន្នន័យ។

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

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

ការសិក្សានេះប្រើយ៉ាងតឹងរ៉ឹងនូវសំណុំទិន្នន័យភាសាអង់គ្លេសពីទសវត្សរ៍ 1980 និង 1990 (ដូចជាទីភ្នាក់ងារព័ត៌មាន Reuters, LA Times) ដែលមានរចនាសម្ព័ន្ធវេយ្យាករណ៍ច្បាស់លាស់។ សម្រាប់ប្រទេសកម្ពុជា នេះគឺជាបញ្ហាប្រឈមធំមួយ ពីព្រោះភាសាខ្មែរគ្មានការដកឃ្លារវាងពាក្យ (No word boundary) ដែលទាមទារឱ្យមានឧបករណ៍កាត់ពាក្យ (Word Segmentation) និងសំណុំទិន្នន័យភាសាខ្មែរផ្ទាល់ខ្លួនទើបអាចអនុវត្តប្រកបដោយប្រសិទ្ធភាព។

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

ទោះបីជាភាសាខុសគ្នាក៏ដោយ គោលគំនិតនៃក្បួនដោះស្រាយម៉ាស៊ីនរៀនទាំងនេះមានតម្លៃខ្ពស់សម្រាប់ការរៀបចំប្រព័ន្ធគ្រប់គ្រងទិន្នន័យនៅកម្ពុជា។

ការរួមបញ្ចូលគ្នារវាងការចាត់ចង្កោមគ្មានការត្រួតពិនិត្យ (K-means) ដើម្បីស្វែងរកប្រធានបទថ្មីៗ និងប្រើ SVM សម្រាប់ការចាត់ថ្នាក់ច្បាស់លាស់ នឹងជួយពន្លឿនការធ្វើឌីជីថាវូបនីយកម្មឯកសារនៅកម្ពុជា។

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

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

  1. ជំហានទី១៖ ការរៀបចំ និងសម្អាតទិន្នន័យអត្ថបទ (Text Preprocessing): រៀនបច្ចេកទេសលុបសញ្ញាខុសៗគ្នា និងពាក្យជំនួយ (Stopwords)។ សម្រាប់ភាសាអង់គ្លេស សូមប្រើ NLTKspaCy។ សម្រាប់ភាសាខ្មែរ ត្រូវរៀនកាត់ពាក្យ (Word Segmentation) ដោយប្រើប្រាស់ឧបករណ៍ដូចជា khmer-nltkKhmerCut ជាមុនសិន។
  2. ជំហានទី២៖ ការបំប្លែងអត្ថបទទៅជាវ៉ិចទ័រ (Text Vectorization): ស្វែងយល់ពីរបៀបតំណាងឯកសារជាលេខ។ សូមអនុវត្តសរសេរកូដ Python ដោយប្រើប្រាស់បណ្ណាល័យ Scikit-learn ជាពិសេសមុខងារ TfidfVectorizer ដើម្បីបំប្លែងអត្ថបទទៅជាម៉ាទ្រីសទម្ងន់ TF-IDF។
  3. ជំហានទី៣៖ ការអនុវត្តក្បួនដោះស្រាយគ្មានការត្រួតពិនិត្យ (Unsupervised Clustering): យកទិន្នន័យដែលជាវ៉ិចទ័រទៅសាកល្បងចាត់ក្រុមដោយមិនប្រាប់ប្រភេទជាមុន។ សូមប្រើប្រាស់ KMeans ពី sklearn.cluster ហើយសាកល្បងផ្លាស់ប្តូរចំនួនចង្កោម (k) ដើម្បីស្វែងយល់ពីភាពខុសគ្នានៃលទ្ធផល។
  4. ជំហានទី៤៖ ការអនុវត្តក្បួនដោះស្រាយមានការត្រួតពិនិត្យ (Supervised Classification): រៀបចំទិន្នន័យដែលមានស្លាក (Labeled data) ដើម្បីបង្ហាត់ម៉ូដែល។ សូមប្រៀបធៀបដំណើរការរវាង MultinomialNB និងម៉ាស៊ីនវ៉ិចទ័រគាំទ្រ SVC (Support Vector Classification) ដែលមាននៅក្នុង Scikit-learn
  5. ជំហានទី៥៖ ការវាយតម្លៃម៉ូដែល (Model Evaluation): វាស់ស្ទង់ប្រសិទ្ធភាពនៃម៉ូដែលដែលអ្នកបានបង្កើត។ សូមប្រើប្រាស់មុខងារវាស់ស្ទង់ដូចជា f1_score, precision_score, និង recall_score ពី sklearn.metrics ដើម្បីរកមើលថាតើក្បួនដោះស្រាយមួយណាស័ក្តិសមបំផុតសម្រាប់កិច្ចការរបស់អ្នក។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
TF×IDF Weighting ជារូបមន្តសម្រាប់គណនាទម្ងន់ឬសារៈសំខាន់នៃពាក្យមួយនៅក្នុងឯកសារ ដោយផ្អែកលើភាពញឹកញាប់ដែលពាក្យនោះលេចឡើងក្នុងឯកសារ (Term Frequency) ធៀបនឹងភាពកម្ររបស់វានៅក្នុងសំណុំឯកសារទាំងអស់ (Inverse Document Frequency)។ ដូចជាការវាយតម្លៃមនុស្សម្នាក់ដោយមើលលើជំនាញពិសេសកម្រមានដែលគេចេះ ជំនួសឲ្យការវាយតម្លៃលើជំនាញទូទៅដែលអ្នកណាក៏ចេះ។
Support Vector Machines ជាក្បួនដោះស្រាយម៉ាស៊ីនរៀនមានការត្រួតពិនិត្យ ដែលស្វែងរកបន្ទាត់ ឬប្លង់ (Hyperplane) ដ៏ល្អបំផុតដើម្បីខណ្ឌចែកទិន្នន័យជាក្រុមផ្សេងៗគ្នា ដោយរក្សាគម្លាត (Margin) ធំបំផុតរវាងក្រុមទាំងនោះ។ ដូចជាការគូសបន្ទាត់ព្រំដែននៅកណ្តាលផ្លូវឲ្យបានធំទូលាយបំផុត ដើម្បីកុំឲ្យឡានដែលបើកបរនៅគន្លងសងខាងប៉ះគ្នា។
K-Means Clustering ជាបច្ចេកទេសរៀនដោយគ្មានការត្រួតពិនិត្យ ដែលបែងចែកទិន្នន័យទៅជា K ចង្កោម ដោយចាប់ផ្តើមពីការជ្រើសរើសចំណុចកណ្តាល ហើយចាត់ថ្នាក់ទិន្នន័យនីមួយៗទៅកាន់ទីតាំងកណ្តាល (Centroid) ដែលនៅជិតវាបំផុត។ ដូចជាការចាត់តាំងសិស្សឱ្យអង្គុយជុំវិញតុប្រធានក្រុមណាដែលនៅជិតពួកគេជាងគេ។
Cosine Similarity ជារង្វាស់គណិតវិទ្យាដែលប្រើដើម្បីវាស់ភាពស្រដៀងគ្នារវាងឯកសារពីរ ដោយគណនាមុំកូស៊ីនុសរវាងវ៉ិចទ័រនៃឯកសារទាំងពីរនោះនៅក្នុងលំហវិមាត្រ ជំនួសឲ្យការវាស់ប្រវែងរបស់វា។ ដូចជាការវាស់ស្ទង់ថាតើមនុស្សពីរនាក់ដើរក្នុងទិសដៅតែមួយឬអត់ ទោះបីជាម្នាក់ដើរបានឆ្ងាយជាងម្នាក់ទៀតក៏ដោយ។
Stemming ជាដំណើរការកាត់ចុង ឬបុព្វបទនៃពាក្យ ដើម្បីបំប្លែងពាក្យទាំងនោះទៅជាឫសគល់ដើមតែមួយ (ឧទាហរណ៍៖ ពាក្យ computers, computing ត្រូវបានកាត់បន្សល់ត្រឹមឫស comput) ដើម្បីកាត់បន្ថយទំហំទិន្នន័យ។ ដូចជាការកាត់មែកឈើដែលលូតលាស់ចេញពីគល់តែមួយ ដើម្បីសម្គាល់ថាវាជាដើមឈើប្រភេទតែមួយ។
Agglomerative Hierarchical Clustering ជាវិធីសាស្ត្រចាត់ចង្កោមពីបាតឡើងលើ ដែលចាប់ផ្តើមដោយចាត់ទុកឯកសារនីមួយៗជាចង្កោមដាច់ដោយឡែកពីគ្នា ហើយបន្ទាប់មកបញ្ចូលចង្កោមដែលស្រដៀងគ្នាជាងគេបញ្ជូលគ្នាជាបន្តបន្ទាប់រហូតដល់នៅសល់ចង្កោមធំតែមួយ។ ដូចជាការផ្គុំរូបដុំតូចៗ (Lego) បញ្ចូលគ្នាជាបណ្តើរៗដើម្បីបង្កើតជារូបរាងធំមួយ។
Dimensionality Reduction ជាបច្ចេកទេសកាត់បន្ថយចំនួនអថេរ ឬលក្ខណៈពិសេស (Feature) នៅក្នុងសំណុំទិន្នន័យ ដោយរក្សាទុកតែព័ត៌មានដែលសំខាន់បំផុត គោលបំណងដើម្បីពន្លឿនការគណនានិងបង្កើនភាពត្រឹមត្រូវនៃម៉ូដែល។ ដូចជាការសង្ខេបសៀវភៅក្រាស់មួយក្បាលឱ្យនៅសល់តែចំណុចសំខាន់ៗ ដើម្បីងាយស្រួលអាននិងយល់បានលឿន។
F-measure ជារង្វាស់ស្តង់ដារសម្រាប់វាយតម្លៃភាពត្រឹមត្រូវនៃម៉ូដែលចំណាត់ថ្នាក់ ដែលបានមកពីការគណនាមធ្យមភាគអាម៉ូនិក (Harmonic mean) ដោយផ្សំបញ្ចូលគ្នានូវរង្វាស់ Precision (ភាពជាក់លាក់) និង Recall (សមត្ថភាពស្វែងរកត្រូវ)។ ដូចជាការឱ្យពិន្ទុអ្នកបាញ់ធ្នូ ដោយពិចារណាទាំងលើការបាញ់ចំគោលដៅ (មិនខុស) និងសមត្ថភាពបាញ់ត្រូវគោលដៅទាំងអស់ដែលមាន។

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

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

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