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.
10 trang |
Chia sẻ: thanhle95 | Lượt xem: 241 | Lượt tải: 2
Bạn đang xem 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, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
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