1. Trang chủ
  2. » Cao đẳng - Đại học

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

10 93 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 2,46 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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.

Trang 1

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 Thu 1 Phùng Thị Thu Trang 2

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

Trang 3

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 để

Trang 4

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:

Trang 5

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

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

Trang 7

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

Trang 9

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

Trang 10

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

Ngày đăng: 22/05/2020, 00:51

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w