Original Title: Sentiment analysis of Indonesian hotel reviews: from classical machine learning to deep learning
Source: doi.org/10.26555/ijain.v7i3.737
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការវិភាគមនោសញ្ចេតនាលើការវាយតម្លៃសណ្ឋាគារនៅឥណ្ឌូនេស៊ី៖ ពីការរៀនម៉ាស៊ីនបែបបុរាណរហូតដល់ការរៀនស៊ីជម្រៅ

ចំណងជើងដើម៖ Sentiment analysis of Indonesian hotel reviews: from classical machine learning to deep learning

អ្នកនិពន្ធ៖ Retno Kusumaningrum (Universitas Diponegoro), Iffa Zainan Nisa (Universitas Diponegoro), Rizka Putri Nawangsari (Universitas Diponegoro), Adi Wibowo (Universitas Diponegoro)

ឆ្នាំបោះពុម្ព៖ 2021 International Journal of Advances in Intelligent Informatics

វិស័យសិក្សា៖ Machine Learning

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

បញ្ហា (The Problem)៖ ឯកសារនេះដោះស្រាយបញ្ហានៃការវិភាគទិន្នន័យវាយតម្លៃសណ្ឋាគារដ៏ច្រើនសន្ធឹកសន្ធាប់នៅលើប្រព័ន្ធអ៊ីនធឺណិត (Traveloka) ដើម្បីបែងចែកជាមតិវិជ្ជមាន ឬអវិជ្ជមានដោយស្វ័យប្រវត្តិ ដោយផ្តោតលើភាសាឥណ្ឌូនេស៊ីដែលមានរចនាសម្ព័ន្ធខុសពីភាសាអង់គ្លេស។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះប្រៀបធៀបដំណើរការរវាងក្បួនដោះស្រាយម៉ាស៊ីនរៀនបែបបុរាណ និងវិធីសាស្ត្ររៀនស៊ីជម្រៅ ដោយប្រើប្រាស់សំណុំទិន្នន័យវាយតម្លៃចំនួន ២៥០០។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Logistic Regression (LR) + Word2Vec
ការរៀនម៉ាស៊ីនបែបបុរាណ Logistic Regression
មានភាពងាយស្រួលក្នុងការប្រើប្រាស់ និងមានដំណើរការល្អសម្រាប់ការចាត់ថ្នាក់ទិន្នន័យជាពីរក្រុម (Binary classification)។ បង្កើតលទ្ធផលមិនល្អឥតខ្ចោះនៅពេលខ្វះខាតលក្ខណៈពិសេស (Features) ឬនៅពេលមានលក្ខណៈពិសេសច្រើនពេកនៅក្នុងអត្ថបទ។ ទទួលបានភាពត្រឹមត្រូវជាមធ្យមទាបត្រឹមតែ 54.4% ប៉ុណ្ណោះ។
Naïve Bayes (NB) + Word2Vec
ចំណាត់ថ្នាក់ Naïve Bayes
ជាវិធីសាស្ត្រសាមញ្ញដែលមានប្រសិទ្ធភាពក្នុងការទស្សន៍ទាយផ្អែកលើប្រូបាប៊ីលីតេនៃបទពិសោធន៍កន្លងមក។ ងាយរងឥទ្ធិពល និងមានភាពរសើបខ្លាំងទៅនឹងការជ្រើសរើសលក្ខណៈពិសេស (Feature selection)។ ទទួលបានភាពត្រឹមត្រូវទាបបំផុតគឺ 53.8%។
Support Vector Machine (SVM) + Word2Vec
ម៉ូដែល Support Vector Machine
មានសមត្ថភាពក្នុងការស្វែងរកបន្ទាត់ព្រំដែន (Hyperplane) ដែលផ្តល់គម្លាតអតិបរមាសម្រាប់ការបែងចែកចំណាត់ថ្នាក់។ ជួបការលំបាកក្នុងការជ្រើសរើសលក្ខណៈពិសេសជាក់លាក់សម្រាប់បញ្ចូលក្នុងម៉ូដែលដោយប្រើវិធីសាស្ត្ររៀនម៉ាស៊ីនបុរាណ។ ទទួលបានភាពត្រឹមត្រូវត្រឹមតែ 54.2%។
Convolutional Neural Network (CNN Architecture 3) + Word2Vec
បណ្ដាញសរសៃប្រសាទខួរក្បាល (CNN) ទម្រង់ស្ថាបត្យកម្មទី៣
អាចរៀន និងចាប់យកអត្ថន័យស៊ីជម្រៅនៃពាក្យបានយ៉ាងល្អិតល្អន់ តាមរយៈទម្រង់ក្បួនដោះស្រាយច្រើនស្រទាប់ និងដំណើរការលឿនជាងម៉ូដែលអត្ថបទផ្សេងទៀត (ដូចជា LSTM)។ ត្រូវការទិន្នន័យច្រើនដើម្បីដំណើរការបានល្អ (មិនសូវមានប្រសិទ្ធភាពលើទិន្នន័យតូច) និងទាមទារការកំណត់ប៉ារ៉ាម៉ែត្រឲ្យបានត្រឹមត្រូវ ដូចជាការកំណត់ Dropout ជាដើម ដើម្បីជៀសវាងការបាត់បង់អត្ថន័យ។ ទទួលបានភាពត្រឹមត្រូវខ្ពស់បំផុតរហូតដល់ 98.08% (ប្រើប្រាស់ Dropout 0.2, Tanh, Softmax និង Adam Optimizer)។

ការចំណាយលើធនធាន (Resource Cost)៖ ឯកសារនេះមិនបានបញ្ជាក់លម្អិតអំពីតម្លៃ ឬការចំណាយផ្នែករឹង (Hardware) នោះទេ ប៉ុន្តែបានបញ្ជាក់ពីការប្រើប្រាស់ឧបករណ៍ និងបណ្ណាល័យកូដមួយចំនួនសម្រាប់ការស្រាវជ្រាវនេះ។

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

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

ការសិក្សានេះត្រូវបានធ្វើឡើងដោយប្រើប្រាស់ទិន្នន័យវាយតម្លៃសណ្ឋាគារចំនួន ២៥០០ ពីគេហទំព័រ Traveloka ជាភាសាឥណ្ឌូនេស៊ីទាំងស្រុង។ នេះមានសារៈសំខាន់សម្រាប់ប្រទេសកម្ពុជា ព្រោះទោះបីជាវាមិនមែនជាភាសាខ្មែរក៏ដោយ វាបង្ហាញពីរបៀបដែលបច្ចេកទេស Word2Vec និង CNN អាចដោះស្រាយបញ្ហាការយល់អត្ថន័យនៃភាសាអាស៊ី ដែលមានរចនាសម្ព័ន្ធខុសពីភាសាអង់គ្លេស។

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

វិធីសាស្ត្រក្នុងការស្រាវជ្រាវនេះមានសក្ដានុពលខ្ពស់ណាស់សម្រាប់យកមកអនុវត្តនៅក្នុងប្រទេសកម្ពុជា ជាពិសេសដើម្បីពង្រឹងគុណភាពសេវាកម្ម។

ជារួម ការផ្លាស់ប្តូរពីការប្រើប្រាស់ម៉ូដែលរៀនម៉ាស៊ីនបែបបុរាណ មកប្រើប្រាស់បណ្ដាញសរសៃប្រសាទខួរក្បាល (CNN) អាចជួយឱ្យស្ថាប័នពាណិជ្ជកម្មនៅកម្ពុជាវិភាគអារម្មណ៍អតិថិជនបានយ៉ាងជាក់លាក់ និងទាន់ពេលវេលា។

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

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

  1. ការប្រមូល និងសម្អាតទិន្នន័យ (Data Collection & Preprocessing): ប្រើប្រាស់ឧបករណ៍ ScrapySelenium ដើម្បីទាញយកទិន្នន័យវាយតម្លៃពីគេហទំព័រនានា រួចធ្វើការសម្អាតអត្ថបទ (Case folding, Tokenization, Stop-word removal)។ សម្រាប់ភាសាខ្មែរ គួរប្រើប្រាស់ឧបករណ៍កាត់ពាក្យដូចជា Khmer Word Segmentation
  2. ការបំប្លែងពាក្យទៅជាវ៉ិចទ័រ (Word Embedding Training): សិក្សា និងអនុវត្តការប្រើប្រាស់ម៉ូដែល Word2Vec ដោយកំណត់ប៉ារ៉ាម៉ែត្រ Skip-gram architecture, Hierarchical softmax និងមានទំហំវ៉ិចទ័រ ១០០ ដើម្បីបំប្លែងពាក្យទៅជាលេខដែលម៉ាស៊ីនអាចយល់បាន តាមរយៈបណ្ណាល័យ Gensim
  3. ការអភិវឌ្ឍម៉ូដែលវាយតម្លៃ (Model Generation): ចាប់ផ្តើមបង្កើតម៉ូដែលចំណាត់ថ្នាក់ដោយសាកល្បងប្រើ scikit-learn សម្រាប់ Logistic Regression និង SVM រួចឈានទៅការបង្កើតស្ថាបត្យកម្ម CNN ច្រើនស្រទាប់ដោយប្រើប្រាស់ TensorFlowKeras
  4. ការកែតម្រូវប៉ារ៉ាម៉ែត្រ (Hyperparameter Tuning): ប្រើប្រាស់ GridSearchCV សម្រាប់ម៉ូដែលបុរាណ និងធ្វើការផ្លាស់ប្តូរតម្លៃនៅក្នុង CNN (ឧ. កំណត់ Dropout=0.2, ប្រើ Tanh ជា Convolution Activation, Softmax សម្រាប់ Output និង Adam Optimizer) ដើម្បីបង្កើនភាពត្រឹមត្រូវ។
  5. ការវាយតម្លៃ និងការសាកល្បង (Evaluation & Validation): ប្រើប្រាស់វិធីសាស្ត្រ 10-Fold Cross-validation ដើម្បីវាយតម្លៃប្រសិទ្ធភាពនៃម៉ូដែល ដោយប្រៀបធៀបលើកម្រិតភាពត្រឹមត្រូវ (Accuracy), Precision, Recall, និង F-measure រួចជ្រើសរើសម៉ូដែលដែលល្អបំផុតសម្រាប់ដាក់ឱ្យប្រើប្រាស់ជាក់ស្តែង។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Convolutional Neural Network (CNN) វិធីសាស្ត្ររៀនស៊ីជម្រៅ (Deep Learning) ដែលប្រើប្រាស់ស្រទាប់ក្បួនដោះស្រាយច្រើនតម្រួតគ្នា ដើម្បីទាញយកលក្ខណៈពិសេស (Features) ពីទិន្នន័យ ដូចជាអត្ថបទ ឬរូបភាព ដោយស្វ័យប្រវត្តិ។ ក្នុងការសិក្សានេះ វាជួយចាប់យកអត្ថន័យនៃពាក្យក្នុងបរិបទនៃប្រយោគ។ ដូចជាមនុស្សអានសៀវភៅដោយមើលពាក្យម្តងមួយក្រុមៗ ដើម្បីយល់ន័យរួមនៃឃ្លាទាំងមូល មិនមែនគ្រាន់តែមើលពាក្យមួយៗដាច់ពីគ្នានោះទេ។
Word2Vec ម៉ូដែលបំប្លែងពាក្យទៅជាវ៉ិចទ័រ (លេខដែលកុំព្យូទ័រយល់បាន) ដែលអាចរក្សាទំនាក់ទំនងអត្ថន័យរវាងពាក្យផ្សេងៗ។ វាជួយដោះស្រាយបញ្ហាពាក្យមានន័យដូចគ្នា (Synonyms) និងទាក់ទងគ្នាដោយបង្ហាញវាជាចំណុចក្បែរគ្នាក្នុងលំហវ៉ិចទ័រ។ ដូចជាការគូសផែនទី ដែលពាក្យមានអត្ថន័យស្រដៀងគ្នា (ឧទាហរណ៍៖ "ល្អ" និង "អស្ចារ្យ") ត្រូវបានដាក់ឱ្យនៅទីតាំងជិតគ្នា។
Logistic Regression (LR) ក្បួនដោះស្រាយម៉ាស៊ីនរៀនបែបបុរាណដែលប្រើប្រាស់សមីការគណិតវិទ្យាដើម្បីទស្សន៍ទាយប្រូបាប៊ីលីតេនៃទិន្នន័យ (ថាតើវាជាចំណាត់ថ្នាក់ A ឬ B)។ ក្នុងការស្រាវជ្រាវនេះ វាកំពុងត្រូវបានប្រើដើម្បីបែងចែកមតិយោបល់ជាវិជ្ជមាន ឬអវិជ្ជមាន។ ដូចជាការថ្លឹងទម្ងន់នៃពាក្យនីមួយៗក្នុងប្រយោគលើជញ្ជីងមួយ ប្រសិនបើទម្ងន់ពាក្យល្អច្រើនជាង ជញ្ជីងនឹងលម្អៀងទៅរក "វិជ្ជមាន"។
Hyperparameter Tuning ដំណើរការកែតម្រូវការកំណត់តម្លៃផ្សេងៗ (Parameters) នៃម៉ូដែលរៀនម៉ាស៊ីនមុនពេលចាប់ផ្តើមបង្វឹក (Training) ដើម្បីស្វែងរកការកំណត់ណាដែលផ្តល់លទ្ធផល និងភាពត្រឹមត្រូវខ្ពស់បំផុត។ ដូចជាការសាកល្បងចុចប៊ូតុងកែតម្រូវកម្រិតសំឡេង និងបាសនៅលើម៉ាស៊ីនចាក់ភ្លេង ដើម្បីរកមើលកម្រិតណាដែលស្តាប់ទៅពិរោះបំផុត។
10-Fold Cross-validation បច្ចេកទេសវាយតម្លៃម៉ូដែល ដោយបែងចែកទិន្នន័យទាំងមូលជា ១០ ចំណែកស្មើៗគ្នា ហើយធ្វើការបង្វឹក (Train) លើ ៩ ចំណែក និងសាកល្បង (Test) លើ ១ ចំណែកចុងក្រោយ ដោយឆ្លាស់គ្នាគ្រប់ទាំង ១០ ដង ដើម្បីធានាថាលទ្ធផលមិនលម្អៀង។ ដូចជាការឱ្យសិស្ស ១០ ក្រុមធ្វើតេស្តសាកល្បង ដោយរាល់ពេលប្រឡងមាន ៩ ក្រុមរៀន និង ១ ក្រុមប្រឡង ផ្លាស់ប្តូរគ្នារហូតដល់គ្រប់ក្រុមទាំងអស់បានប្រឡង ដើម្បីវាយតម្លៃសមត្ថភាពពិតប្រាកដ។
Dropout បច្ចេកទេសនៅក្នុងបណ្ដាញសរសៃប្រសាទ (Neural Networks) ដែលធ្វើការបិទ (Ignore) កោសិកា (Neurons) មួយចំនួនដោយចៃដន្យក្នុងអំឡុងពេលបង្វឹក ដើម្បីការពារកុំឱ្យម៉ូដែលចងចាំទិន្នន័យទន្ទេញចាំមាត់ពេក (Overfitting)។ ដូចជាការបិទភ្នែកម្ខាងនៅពេលហ្វឹកហាត់លេងកីឡា ដើម្បីបង្ខំឱ្យរាងកាយចេះសម្របខ្លួន និងមិនពឹងផ្អែកតែលើភ្នែកម្ខាងទាំងស្រុង។
Preprocessing ជំហាននៃការរៀបចំ និងសម្អាតទិន្នន័យឆៅជាមុន (ដូចជាការបំបាត់សញ្ញាខណ្ឌ, លុបពាក្យមិនសូវមានន័យ, និងបំប្លែងតួអក្សរធំទៅតូច) មុនពេលបញ្ចូលវាទៅក្នុងម៉ូដែលវិភាគ។ ដូចជាការលាងសម្អាត និងហាន់បន្លែសាច់ជាមុនឱ្យបានស្អាតបាត មុននឹងចាប់ផ្តើមចម្អិនម្ហូប។
Softmax អនុគមន៍គណិតវិទ្យា (Activation Function) ដែលប្រើនៅស្រទាប់ចុងក្រោយនៃបណ្ដាញសរសៃប្រសាទ ដើម្បីបំប្លែងលទ្ធផលលេខឱ្យទៅជាប្រភាគនៃប្រូបាប៊ីលីតេ (បូកចូលគ្នាស្មើ ១ ជានិច្ច) ដើម្បីងាយស្រួលក្នុងការធ្វើចំណាត់ថ្នាក់ច្រើនក្រុម។ ដូចជាការគណនាភាគរយនៃការបោះឆ្នោត ដែលបេក្ខជនទាំងអស់ទទួលបានភាគរយខុសៗគ្នា ប៉ុន្តែសរុបទាំងអស់ត្រូវតែស្មើ ១០០%។

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

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

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