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ó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.

pdf 10 trang yennguyen 5020
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

Tóm tắt nội dung 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

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
104
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
106
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 
luận được nhập từ đầu vào.
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, 
w
0
 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, , nếu thì câu đầu vào được dự 
đoán thuộc lớp tiêu cực, ngược lại nếu 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): để phân biệt 
được dữ liệu. Khi đó dấu của hàm ước lượng 
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 để 
107
MA THị HồNG THu, PHùNG THị THu 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:
108
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 
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à nút mạng thứ j của tầng l. 
Còn 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 
và 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 
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 
Hình 4. Ví dụ về một mạng NN
110
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.
Mã nguồn của chương trình được cung cấp tại địa chỉ: https://tinyurl.com/y2tgsfxn
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 
112
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.
[6] Kỹ thuật trích chọn đặc trưng tf-idf, https://en.wikipedia.org/wiki/Tf%E2%80%93idf
[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.
[11] Bộ cơ sở dữ liệu Foody.vn, Link: https://github.com/congnghia0609/ntc-scv/tree/
master/data.
113
MA THị HồNG THu, PHùNG THị THu 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

File đính kèm:

  • pdfso_sanh_mot_so_phuong_phap_hoc_may_giai_quyet_bai_toan_phan.pdf