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.
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
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:
- so_sanh_mot_so_phuong_phap_hoc_may_giai_quyet_bai_toan_phan.pdf