So sánh một số phương pháp học máy giải quyết bài toán phân tích cảm xúc trong câu

So SÁNH MỘT SỐ PHƯƠNG PHÁP HỌC MÁY  
GIẢI QUYẾT BÀI ToÁN PHÂN TÍCH CẢM XÚC  
TRoNG CÂU  
Ma Thị Hồng Thu1  
Phùng Thị Thu Trang2  
Tóm tắt: Phân tích cảm xúc trong câu đang là một trong những bài toán quan trọng  
của lĩnh vực xử lý ngôn ngữ tự nhiên. Đã có rất nhiều các phương pháp học máy được đề  
xuất để giải quyết bài toán này. Tuy nhiên, các phương pháp đó chỉ thực hiện ở những bộ  
dữ liệu nhỏ và ít so sánh đánh giá với các phương pháp khác. Trong bài báo này, chúng  
tôi đưa ra 5 phương pháp học máy khác nhau và so sánh chúng trên cùng bộ cơ sở dữ  
liệu Foody.vn. Các đặc trưng được đưa vào 5 phương pháp lần lượt là 1000, 1500 và  
2000 đặc trưng. Sau khi so sánh, kết quả cho thấy sự khác biệt về độ chính xác giữa các  
phương pháp là không nhiều (khoảng 2%) và độ chênh lệnh kết quả giữa các đặc trưng  
khác nhau trong khoảng 4%. Có thể thấy rằng, việc lựa chọn phương pháp học máy phức  
tạp hay đơn giản không ảnh hưởng nhiều đến kết quả của bài toán mà còn phụ thuộc vào  
lượng đặc trưng được sử dụng.  
Từ khóa: Phân tích cảm xúc câu, học máy, trí tuệ nhân tạo, học sâu, xử lý ngôn  
ngữ tự nhiên  
1. Giới thiệu  
Phân tích cảm xúc trong câu đang là một trong những nhiệm vụ cơ bản của lĩnh vực  
xử lý ngôn ngữ tự nhiên và đã thu hút một lượng lớn các nhà nghiên cứu trong thời gian  
gần đây. Mỗi ngày trôi qua có hàng triệu các bình luận được đăng lên các mạng xã hội hay  
các trang web bán hàng trực tuyến của các siêu thị điện máy, nhà hàng, khách sạn… Một  
yêu cầu thiết yếu được đặt ra là gán nhãn cho các bình luận/ý kiến của người dùng đó về  
một lớp nhất định. Số lượng các lớp này có thể ít hoặc nhiều tùy thuộc vào nhu cầu của  
người sử dụng. Trong phạm vi bài báo này, chúng tôi sử dụng hai lớp là tích cực và tiêu  
cực. Hay nói cách khác, các bình luận/ý kiến mang tính chất khen ngợi, ca tụng, hài lòng  
sẽ được đưa vào lớp tích cực, và ngược lại những bình luận mang tính phê bình, phàn nàn,  
khiếu nại sẽ được phân loại vào lớp tiêu cực. Nhiệm vụ của bài toán phân tích cảm xúc  
trong câu là từ các câu bình luận đầu vào, hãy phân loại chúng thành hai lớp tích cực hoặc  
tiêu cực, mỗi câu chỉ thuộc một lớp duy nhất.  
Ngày nay, các mô hình học máy ngày càng đa dạng từ đơn giản đến phức tạp và  
được áp dụng ở khắp lĩnh vực, đặc biệt là xử lý ngôn ngữ tự nhiên. Đối với bài toán phân  
tích cảm xúc trong câu cũng đã được nghiên cứu và đề xuất khá nhiều phương pháp. Đối  
1. Đại học Tân Trào  
2. Đại học Thái Nguyên  
104  
SO SáNH MỘT SỐ PHươNG PHáP HỌC MáY...  
Phần tiếp theo của bài báo được tổ chức như sau: Phần 2 nêu mô hình tổng quan  
của các phương pháp học máy. Các kết quả thực nghiệm và so sánh được đề cập ở phần  
3. Cuối cùng là kết luận và tài liệu tham khảo.  
2. Một số phương pháp học máy  
Hình 2 là mô hình tổng quan cho các phương pháp học máy giải quyết bài toán phân  
tích cảm xúc trong câu. Trong đó:  
- Đầu vào: là các câu bình luận dưới dạng văn bản đã được tiền xử lý như: loại bỏ  
các ký hiệu đặc biệt, các biểu tưởng cảm xúc, các từ dừng, ...  
- Trích chọn đặc trưng: là các thao tác nhằm xử lý trên các câu để lọc ra được các  
đặc trưng trong câu. Trong bài báo này, chúng tôi sử dụng kỹ thuật tf-idf [6].  
- Đầu ra: là phân lớp tích cực hoặc tiêu cực của mô hình học máy ứng với câu bình  
Hình 2. Mô hình tổng quan giải quyết bài toán phân tích cảm xúc trong câu  
2.1. Hồi quy tuyến tính (Linear Regression)  
Phân tích hồi quy tuyến tính là một phương pháp phân tích quan hệ giữa biến phụ  
thuộc y với một hay nhiều biến độc lập x. Đây được coi là mô hình cơ bản và đơn giản  
nhất trong học máy. Ý tưởng của mô hình là xây dựng một hàm tuyến tính bằng cách  
kết hợp các biến đầu vào sao cho  
y [7].  
Trong đó,  
,
…,  
(với ví dụ trên k = 3) được gọi là các tham số của mô hình,  
w0 còn được gọi là bias. là các đặc trưng được đưa vào mô hình. y là đại diện cho các  
lớp của đầu ra, với bài toán này, y = 0 tương ứng với tiêu cực, y = 1 tương ứng với tích cực.  
là kết quả dự đoán của mô hình học máy,  
đoán thuộc lớp tiêu cực, ngược lại nếu  
, nếu  
thì câu đầu vào được dự  
thì câu đó được kết luận thuộc lớp tích cực.  
Ưu điểm:  
- Đơn giản, dễ cài đặt và sử dụng.  
Nhược điểm:  
- Dễ nhạy cảm với nhiễu.  
- Không biểu diễn được các mô hình phức tạp.  
2.2. Máy vectơ hỗ trợ (SVM)  
Như đã biết, với bài toán phân loại nhị phân tuyến tính ta cần vẽ được mặt phân tách  
(với không gian 2 chiều thì mặt phẳng này là đường phân tách):  
được dữ liệu. Khi đó dấu của hàm ước lượng  
để phân biệt  
sẽ thể hiện được điểm dữ liệu x nằm ở cụm dữ liệu nào. SVM chính là một biện pháp để  
106  
MA THHNG THu, PHùNG THTHu TRANG  
thực hiện được phép lấy mặt phẳng như vậy [7].  
Một máy vector hỗ trợ thực hiện phân loại bài viết thành 2 lớp tích cực và tiêu cực  
bằng cách lập bản đồ phi tuyến của tập dữ liệu huấn luyện thành một không gian đặc trưng  
đa chiều. Sau đó, xây dựng một siêu phẳng (ranh giới quyết định) N-chiều để tách bộ dữ  
liệu thành hai cụm tích cực và tiêu cực.  
Hình 3. Ví dụ về 2 đường thẳng khác nhau cho phép tách bộ dữ liệu thành 2 cụm  
Hình 3 cho thấy một bộ dữ liệu tuyến tính được tách biệt trong một không gian 2  
chiều với hai cách khác nhau để phân biệt chúng. Chất lượng của siêu phẳng này được  
quyết định bởi một khoảng cách (được gọi là biên) của điểm dữ liệu gần nhất của mỗi lớp  
đến mặt phẳng này. Khoảng cách biên càng lớn thì sự phân chia các điểm ra thành hai lớp  
càng tốt, nghĩa là sẽ đạt được kết quả phân loại tốt.  
Đối với bài toán phân tích tình cảm trong câu, mỗi bình luận đầu vào sẽ cho n đặc  
trưng thông qua kỹ thuật tf-idf. Do đó, các câu này sẽ được biểu diễn thành các điểm dữ  
liệu trong không gian n chiều. Nhiệm vụ của chúng ta là sử dụng SVM để xây dựng 2 siêu  
phẳng làm biên tương ứng cho 2 lớp tích cực và tiêu cực sao cho khoảng cách biên này  
là lớn nhất.  
Ưu điểm:  
- Hiệu quả trong không gian sâu.  
- Vẫn hiệu quả trong trường hợp kích thước không gian lớn hơn số mẫu.  
- Dễ tùy chỉnh với nhiều hàm kernel khác nhau.  
Nhược điểm:  
- Nếu sử dụng số lượng đặc trưng lớn hơn nhiều số lượng mẫu sẽ dễ xảy ra hiện  
tượng over-fitting.  
- Các SVM không trực tiếp cung cấp các ước tính xác suất, chúng được tính toán  
bằng cách sử dụng five-fold cross-validation.  
2.3. Mạng nơron nhiều tầng (Multi Layer Perceptron)  
Mạng neural network (NN) là sự kết hợp của của các tầng perceptron hay còn được  
gọi là perceptron đa tầng (multilayer perceptron) như trong hình 4.  
Một mạng NN sẽ có 3 kiểu tầng:  
107  
SO SáNH MỘT SỐ PHươNG PHáP HỌC MáY...  
* Tầng vào (input layer): Là tầng bên  
trái cùng của mạng thể hiện cho các đầu vào  
của mạng. Đối với bài toán này, tầng đầu  
vào chính là n đặc trưng của mỗi câu sau  
khi áp dụng kỹ thuật trích chọn đặc trưng.  
* Tầng ra (output layer): Là tầng bên  
phải cùng của mạng thể hiện cho các đầu ra  
của mạng. Đối với bài toán này, chúng ta có  
1 nút đầu ra thể hiện cho kết quả dự đoán  
Hình 4. Ví dụ về một mạng NN  
tích cực hoặc tiêu cực của mô hình.  
* Tầng ẩn (hidden layer): Là tầng nằm giữa tầng vào và tầng ra thể hiện cho việc  
suy luận logic của mạng.  
Tất cả các nốt mạng (nơ-ron) được kết hợp đôi một với nhau theo một chiều duy  
nhất từ tầng vào tới tầng ra. Hay nói cách khác, việc suy luận trong mạng NN là suy luận  
tiến (feedforward) như trong công thức (2) và (3) [7][8]:  
(2)  
(3)  
Trong đó, n(l) là số lượng nút ở tầng l tương ứng và  
là tham số trọng lượng của đầu vào đối với nút mạng thứ i của tầng l+1  
là độ lệch (bias) của nút mạng thứ i của tầng l+1. Đầu ra của nút mạng này được  
là nút mạng thứ j của tầng l.  
Còn  
và  
biểu diễn bằng  
ứng với hàm kích hoạt  
tương ứng.  
Ưu điểm:  
- Đơn giản, dễ cài đặt.  
- Có thể sử dụng để giải quyết nhiều bài toán dạng phân lớp trong học máy.  
Nhược điểm:  
- Khi số lượng hidden layers lớn lên, số lượng hệ số cần tối ưu cũng lớn lên và mô  
hình sẽ trở nên phức tạp. Sự phức tạp này ảnh hưởng tới hai khía cạnh:  
* Thứ nhất, tốc độ tính toán sẽ bị chậm đi rất nhiều.  
* Thứ hai, nếu mô hình quá phức tạp, nó có thể biểu diễn rất tốt training data, nhưng  
lại không biểu diễn tốt test data.  
2.4. Mạng nơron tích chập (Convolutional Neural Network)  
Mạng nơron tích chập (CNN) là một loại mạng neuron đặc biệt để xử lý dữ liệu có  
cấu trúc dạng lưới. Chẳng hạn, dữ liệu dạng chuỗi thời gian (time-series) có thể được xem  
là lưới 1 chiều chứa các mẫu được lấy tại các khoảng thời gian nhất định, hay dữ liệu hình  
108  
SO SáNH MỘT SỐ PHươNG PHáP HỌC MáY...  
chúng được điều chỉnh cẩn thận bởi các nhóm được gọi là cổng (gate). Hiện nay, có nhiều  
biến thể của LSTM được đề xuất như: Bi-LSTM, GRu, …  
Trong bài toán này, đầu vào và đầu ra của mạng LSTM được thiết lập tương tự như  
mạng CNN.  
Ưu điểm:  
- Thường được áp dụng cho các đối tượng văn bản hoặc âm thanh vì có khả năng  
ghi nhớ tốt.  
- Không cần phải huấn luyện nó để có thể nhớ được, Do đó, giải quyết được vấn đề  
phụ thuộc xa mà RNN không làm được.  
Nhược điểm:  
- Phức tạp hơn mạng RNN do đó tốc độ thường chậm hơn.  
- Do có một tập các công thức, khiến cho LSTM trở nên khá khó hiểu.  
3. Thực nghiệm  
3.1. Bộ cơ sở dữ liệu Foody.vn và các thiết lập  
Foody.vn là trang web được Công ty Cổ phần FOODY xây dựng nhằm mục đích  
tìm kiếm và đánh giá các nhà hàng, khách sạn, địa điểm du lịch… ở Việt Nam một cách  
chi tiết, thuận lợi cho người sử dụng. Hiện tại trên Foody.vn đang lưu trữ hơn 38 triệu  
người sử dụng, hơn 1 triệu bình luận, hơn 500 nghìn check-in và hơn 9 triệu ảnh.  
Bô cơ sử dữ liệu Foody.vn được lấy từ các bình luận của trang web foody.vn. Với  
việc phân loại cảm xúc tích cực và tiêu cực được dựa trên số điểm trung bình của mỗi bình  
luận. Theo đó, các bình luận tiêu cực được lấy mức điểm đánh giá từ 0,1 tới 5,7 điểm. Còn  
các bình luận tích cực được lấy mức điểm từ 8,5 tới 10,0.  
Tổng số lượng mẫu của trong cả data_train và data_test là 50.000 mẫu dữ liệu bình  
luận (review). Được phân chia như sau:  
* Số lượng mẫu tập train là 30.000 bình luận.  
* Số lượng mẫu tập validation là 10.000 bình luận.  
* Số lượng mẫu tập test là 10.000 bình luận.  
Để tải bộ dữ liệu này, bạn đọc có thể truy cập website tại [11]:  
Để so sánh các phương pháp học máy với nhau, chúng tôi sử dụng thuật toán tf-idf  
để trích chọn ra các đặc trưng trong các bình luận. Tất cả các mô hình học máy đều được  
chúng tôi cài đặt bằng ngôn ngữ python trên cùng một máy tính với cấu hình CPu 3.6GHz  
x 8, RAM 20GB, hệ điều hành ubuntu 16.04.  
3.2. Kết quả và thảo luận  
Theo như hình 6, có thể thấy rằng số lượng các đặc trưng được trích rút trong các  
câu tăng lên thì độ chính xác của các phương pháp cũng tăng lên. Phương pháp đơn giản  
110  
SO SáNH MỘT SỐ PHươNG PHáP HỌC MáY...  
TÀI LIỆU THAM KHẢo  
[1] V. Hatzivassiloglou and J. M. Wiebe, "Effects of adjective orientation and gradability  
on sentence subjectivity," in Proceedings of the 18th conference on Computational  
linguistics-Volume 1, 2000, pp. 299-305.  
[2] P. D. Turney, "Thumbs up or thumbs down?: semantic orientation applied to  
unsupervised classification of reviews," in Proceedings of the 40th annual meeting  
on association for computational linguistics, 2002, pp. 417-424  
[3] Phan Dang-Hung, Cao Tuan-Dung (2014), “Applying skip-gram word estimation and  
SVM-based classification for opinion mining Vietnamese food places text reviews”,  
Proceedings of the Fifth Symposium on Information and Communication Technology  
(SoICT) ACM, Ha Noi, pp. 232 – 239.  
[4] Duyen Nguyen. Thi, Ngo. Xuan Bach, Tu. Minh Phuong, "An empirical study on  
sentiment analysis for Vietnamese", Advanced Technologies for Communications  
(ATC) International Conference on. IEEE, 2014.  
[5] Q. Vo, H. Nguyen, B. Le and M. Nguyen (2017), “Multi-channel LSTM-CNN model  
for Vietnamese sentiment analysis”, 9th International Conference on Knowledge and  
Systems Engineering (KSE), Hue, pp. 24-29.  
[7] Vũ Hữu Tiệp (2018), “Machine Learning cơ bản”, Nhà xuất bản khoa học và kỹ thuật.  
[8] Bishop, Christopher M. (2006), “Pattern recognition and Machine Learning”, Nhà  
xuất bản Springer.  
[9] Yoon Kim (2014), “Convolutional neural networks for sentence classification”,  
Proceedings of the 2014 Conference on Empirical Methods in Natural Language  
Processing (EMNLP), Qatar, pp. 1746–1751.  
[10] Hochreiter và Schmidhuber (1997), “Long Short Term Memory networks”, Journal  
of Neural Computation, MIT Press, 9(8):1735 – 1780.  
master/data.  
112  
MA THHNG THu, PHùNG THTHu TRANG  
Title: A CoMPARISoN oF MACHINE LEARNING APPRoACHES To  
SENTIMENT ANALYSIS IN SENTENCES  
MA THI HONG THu  
Tan Trao University  
PHuNG THI THu TRANG  
Thai Nguyen University  
Abstract: Sentiment analysis is one of the most important problems in natural  
language processing. There have been many machine learning approaches proposed to  
solve this problem. However, these approaches only work on small datasets and they are  
less compared to others. This paper presents 5 different machine learning approaches  
and makes a comparison between them on the same database of Foody.vn. 1000, 1500  
and 2000 specificities are respectively incorporated into these five approaches to draw  
distinctions. The results show that the difference in accuracy and results between these  
approaches is not much, about 2% and 4 % respectively. It can be seen that the outcome  
of the problem is not affected by the choice of a complex or simple machine learning  
approach, but it depends on the sum of specificity used.  
Keywords: Sentiment analysis, machine learning, artificial intelligence, deep  
learning, natural language processing  
113  
pdf 10 trang Hứa Trọng Đạt 09/01/2024 640
Bạn đang xem tài liệu "So sánh một số phương pháp học máy giải quyết bài toán phân tích cảm xúc trong câu", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfso_sanh_mot_so_phuong_phap_hoc_may_giai_quyet_bai_toan_phan.pdf