Tải bản đầy đủ (.pdf) (82 trang)

Khóa luận nghiên cứu bài toán phân tích cảm xúc của người hùng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.08 MB, 82 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN
KHOA CƠNG NGHỆ PHẦN MỀM

LÊ SI LẮC

KHĨA LUẬN TỐT NGHIỆP

NGHIÊN CỨU BÀI TỐN
PHÂN TÍCH CẢM XÚC CỦA NGƯỜI DÙNG
A Research on Sentiment Analysis

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

TP. HỒ CHÍ MINH, 2021


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

LÊ SI LẮC - 17520669

KHĨA LUẬN TỐT NGHIỆP

NGHIÊN CỨU BÀI TỐN
PHÂN TÍCH CẢM XÚC CỦA NGƯỜI DÙNG
A Research on Sentiment Analysis


KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

GIẢNG VIÊN HƯỚNG DẪN
TS. NGUYỄN LƯU THÙY NGÂN

TP. HỒ CHÍ MINH, 2021


DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ……………………
ngày ………………….. của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
1. …………………………………………. – Chủ tịch.
2. …………………………………………. – Thư ký.
3. …………………………………………. – Ủy viên.
4. …………………………………………. – Ủy viên.


iv

LỜI CẢM ƠN
Lời đầu tiên, tôi xin chân thành cảm ơn cơ Nguyễn Lưu Thùy Ngân vì sự tận
tình hướng dẫn, định hướng cùng những phản biện nhằm giúp tôi đạt được kết
quả tốt nhất cho khóa luận. Nếu khơng có sự hướng dẫn từ cơ, mục tiêu của khóa
luận sẽ khơng thể hồn thành.
Bên cạnh đó, tơi mong muốn cảm ơn sự hỗ trợ của anh Đặng Văn Thìn (nghiên
cứu viên của The UIT Natural Language Processing Group) vì sự hỗ trợ khơng
ngừng nghỉ cùng những đóng góp nhất định giúp tơi hồn thiện thật tốt đề tài
khóa luận.
Tơi cũng xin gửi lời cảm ơn đến Phịng thí nghiệm Truyền thông Đa phương

tiện trường Đại học Công nghệ thông tin và đồng thời là Seedcom Group đã nhiệt
tình hỗ trợ tôi về cả kiến thức và trang thiết bị trong q trình làm khóa luận.
Điều quan trọng nhất, tơi chân thành cảm ơn gia đình vì đã là điểm tựa vững
chắc trong thời gian tôi thực hiện nghiên cứu này.
Tôi xin chân thành cảm ơn.


v

Mục lục
TĨM TẮT KHỐ LUẬN
1

2

3

MỞ ĐẦU
1.1 Đặt vấn đề . . . . . . . . . . . . . .
1.2 Đối tượng và phạm vi nghiên cứu
1.2.1 Đối tượng nghiên cứu . . .
1.2.2 Phạm vi nghiên cứu . . . .
1.3 Mục tiêu của nghiên cứu . . . . . .
1.3.1 Kết quả của nghiên cứu . .
1.4 Phát biểu bài toán . . . . . . . . . .
1.5 Cấu trúc khóa luận . . . . . . . . .

xiv

.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

TỔNG QUAN
2.1 Tổng quan về phân tích cảm xúc . . . . .
2.2 Tình hình nghiên cứu . . . . . . . . . . . .
2.2.1 Tình hình nghiên cứu trên thế giới
2.2.2 Tình hình nghiên cứu trong nước .
2.2.3 Nhận xét . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.

1
1
3
3
3
3
4
6
6


.
.
.
.
.

8
8
10
10
12
14

TỔNG QUAN VỀ CÁC BỘ NGỮ LIỆU PHÂN TÍCH CẢM XÚC PHẢN
HỒI
3.1 Giới thiệu về bộ dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Vietnamese Language and Speech Processing Sentiment Analysis(VLSP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2 Hotel Sentiment Analysis (HSA) . . . . . . . . . . . . . . . .
3.1.3 Vietnamese Students’ Feedback Corpus (UIT-VSFC) . . . . .
3.1.4 Vietnamese Sentiment Analysis (VS) . . . . . . . . . . . . . .

15
16
16
17
18
19



vi
3.2
4

5

6

Tiền xử lý dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

LÝ THUYẾT
4.1 Mơ hình BERT . . . . . . . . . . . . . . . . . . . . .
4.2 Các biến thể của BERT dành cho tiếng Việt . . . .
4.3 Kỹ thuật làm giàu dữ liệu (Data augmentation) . .
4.3.1 Character Augmenter . . . . . . . . . . . .
4.3.2 Word Augmenter . . . . . . . . . . . . . . .
4.3.3 Contextual Word Embeddings Augmenter

.
.
.
.
.
.

.
.
.
.
.

.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.


.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

20
22

22
23
24
25
25
26

KẾT QUẢ THỰC NGHIỆM
5.1 Kết quả . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1 Thực nghiệm trên bài toán SA . . . . . . . . . . . . . . . . . .
5.1.1.1 VS . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1.2 UIT_VSFC . . . . . . . . . . . . . . . . . . . . . . .
5.1.1.3 VLSP . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1.4 HSA . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.2 Thực nghiệm khi sử dụng bổ trợ mơ hình ngơn ngữ (Language Model) . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.3 Đánh giá tính hiệu quả của kỹ thuật làm giàu dữ liệu . . . .
5.1.3.1 Thực nghiệm đánh giá trên mơ hình truyền thống
5.1.3.2 Độ chuẩn xác về nguồn dữ liệu được sinh ra . . . .
5.2 Ứng dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1 Đặc tả phần mềm (Software Requirement Specification) . .
5.2.1.1 Objective . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1.2 Thiết kế . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.2 Công nghệ . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.2.1 Dash . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.2.2 Dash Bootstrap . . . . . . . . . . . . . . . . . . . . .
5.2.2.3 Selenium . . . . . . . . . . . . . . . . . . . . . . . .

28
28
28

28
32
35
38
41
44
44
46
50
50
50
51
53
53
53
54

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
6.1 Hạn chế . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Hướng phát triển tương lai . . . . . . . . . . . . . . . . . . . . . . .

55
56
56


vii
A Q TRÌNH HUẤN LUYỆN MƠ HÌNH NGƠN NGỮ (LANGUAGE
MODEL)
A.1 Dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

A.2 Trích xuất tập từ vựng . . . . . . . . . . . . . . . . . . . . . . . . . .
A.3 Bổ sung tập từ vựng trích xuất và tiến hành huấn luyện mơ hình
ngơn ngữ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

59

B CÔNG BỐ KHOA HỌC

60

58
58
58


viii

Danh sách hình vẽ
1.1

2.1

2.2

3.1
3.2

3.3

3.4


Minh họa hệ thống đánh giá nhà hàng bởi người dùng trên trang
web Yelp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Biểu đồ trình bày các cấp độ trong ngơn ngữ học gồm các cấp độ
phổ biến: Ngữ âm học (Phonetics), Âm vị học (Phonology), Hình
thái học (Morphology), Cú pháp (Syntax), Ngữ nghĩa học (Semantics) và Ngữ dụng học (Pragmatics). . . . . . . . . . . . . . . . . . .
Mô tả ba nhiệm vụ của ABSA: Mục đích của bài tốn trích xuất mục
tiêu ý kiến, trong trường hợp này là "sushi" và "phục vụ". Đối với
bài tốn xác định thực thể khía cạnh (aspect category detection), đã
được thiết đặt các danh mục xác định trước, nhiệm vụ là xác định:
thực thểkhía cạnh, khía cạnh của "sushi" là "Food" và thực thể biểu
thị của khía cạnh là "Quality". Xác định cảm xúc của một khía cạnh
mục tiêu (sentiment polarity) - tích cực hoặc tiêu cực. . . . . . . . .
Tỉ lệ thời gian dành cho các giai đoạn để xây dựng một hệ thống
khoa học ngữ liệu. Nguồn: báo cáo về học ngữ liệu 2016 [5]. . . . .
Bộ dữ liệu VLSP (a) Phân bố nhãn của tập dữ liệu tương ứng trên
tập huấn luyện và tập kiểm tra (b) Tỉ lệ đồ dài của câu ứng với mỗi
nhãn có trong dữ liệu. . . . . . . . . . . . . . . . . . . . . . . . . . .
Bộ dữ liệu HSA (a) Phân bố nhãn của tập dữ liệu tương ứng trên
tập huấn luyện và đánh giá (b) Tỉ lệ đồ dài của câu ứng với mỗi
nhãn có trong dữ liệu. . . . . . . . . . . . . . . . . . . . . . . . . . .
Bộ dữ liệu UIT-VSFC (a) Phân bố nhãn của tập dữ liệu tương ứng
trên tập huấn luyện, kiểm thử và đánh giá (b) Tỉ lệ đồ dài của câu
ứng với mỗi nhãn có trong dữ liệu. . . . . . . . . . . . . . . . . . . .

5

9

10


15

17

18

19


ix
3.5

Bộ dữ liệu VS (a) Phân bố nhãn của tập dữ liệu tương ứng trên tập
huấn luyện, kiểm thử và đánh giá (b) Tỉ lệ đồ dài của câu ứng với
mỗi nhãn có trong dữ liệu. . . . . . . . . . . . . . . . . . . . . . . . .

20

4.1
4.2
4.3

Kiến trúc của mơ hình BERT được trình bày trong [9]. . . . . . . . .
Biểu diễn giá trị của từ. . . . . . . . . . . . . . . . . . . . . . . . . . .
Mô tả BERT Fill-Mask. . . . . . . . . . . . . . . . . . . . . . . . . . .

23
26
27


5.1
5.2
5.3
5.4
5.5
5.6

Mô tả sử dụng mơ hình ngơn ngữ. . . . . . . . . . . . . . . . . . . .
Thống kê số lượng câu bình luận theo độ dài câu. . . . . . . . . . .
Dữ liệu được sinh ra trên bộ bộ ngữ liệu UIT_VSFC . . . . . . . . .
Dữ liệu được sinh ra trên bộ bộ ngữ liệu HSA . . . . . . . . . . . . .
Dữ liệu được sinh ra trên bộ bộ ngữ liệu KSE . . . . . . . . . . . . .
Thông tin về độ dài trung bình của các bình luận đồng thời là tập
từ vựng phổ cập trong dữ liệu thu thập . . . . . . . . . . . . . . . .
Thông tin chi tiết về kết quả dự đoán trên tập dữ liệu . . . . . . . .

41
42
47
48
49
52
52

A.1 Mô phỏng bài toán Masked Language Model . . . . . . . . . . . . .

59

5.7



x

Danh sách bảng
3.1

5.1

5.2

5.3

5.4

Thống kê tóm tắt cho kho ngữ liệu thử nghiệm. N: kích thước dữ
liệu. c: Số lớp mục tiêu. l pre−avg : Trung bình độ dài câu trước khi
quá trình tiền xử lý. l pre−max : Độ dài câu dài nhất trước quá trình
tiền xử lý. lavg : Trung bình độ dài câu sau khi quá trình tiền xử lý.
lmax :Độ dài câu dài nhất sau quá trình tiền xử lý. |V |: Kích thước từ
vựng. Test: Kích thước tập đánh giá (CV có nghĩa là đánh giá thông
qua kiểm chéo (cross-validation). . . . . . . . . . . . . . . . . . . . .
Kết quả của PhoBERTBase kết hợp với bốn mức độ làm giàu ngữ
liệu (data augmentation) trên bộ dữ liệu VS [46]. Chúng tơi tiến
hành tính tốn chỉ số Macro F1 -score của [46] dựa trên thống kê kết
quả của 3 nhãn dữ liệu. Theo đơn vị %. . . . . . . . . . . . . . . . . .
Thống kê về tính hiệu quả của mỗi mức độ làm giàu ngữ liệu dựa
trên kết quả từ bốn tỉ lệ ngữ liệu mới được sinh ra (10%, 20%, 30%
và 40%) thông qua độ lệch chuẩn và giá trị trung bình trên bộ dữ
liệu VS [46]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Kết quả của PhoBERTBase kết hợp với bốn mức độ làm giàu ngữ
liệu (data augmentation) trên bộ dữ liệu UIT-VSFC [29]. Chúng tơi
tiến hành tính tốn chỉ số Macro F1 -score dựa trên thống kê kết quả
của 3 nhãn dữ liệu. Theo đơn vị %. . . . . . . . . . . . . . . . . . . . .
Thống kê về tính hiệu quả của mỗi mức độ làm giàu ngữ liệu dựa
trên kết quả từ bốn tỉ lệ ngữ liệu mới được sinh ra (10%, 20%, 30%
và 40%) thông qua độ lệch chuẩn và giá trị trung bình trên bộ dữ
liệu UIT-VSFC [29]. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

30

31

33

34


xi
5.5

Kết quả của PhoBERTBase kết hợp với bốn mức độ làm giàu ngữ
liệu (data augmentation) trên bộ dữ liệu VLSP [27]. Chúng tơi tiến
hành tính tốn chỉ số Macro F1 -score dựa trên thống kê kết quả của
3 nhãn dữ liệu. Theo đơn vị %. . . . . . . . . . . . . . . . . . . . . . .
5.6 Thống kê về tính hiệu quả của mỗi mức độ làm giàu ngữ liệu dựa
trên kết quả từ bốn tỉ lệ ngữ liệu mới được sinh ra (10%, 20%, 30%
và 40%) thông qua độ lệch chuẩn và giá trị trung bình trên bộ dữ

liệu VLSP [27]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.7 Kết quả của PhoBERTBase kết hợp với bốn mức độ làm giàu ngữ
liệu (data augmentation) trên bộ dữ liệu HSA [11]. Chúng tơi tiến
hành tính tốn chỉ số Macro F1 -score dựa trên thống kê kết quả của
3 nhãn dữ liệu. Theo đơn vị %. . . . . . . . . . . . . . . . . . . . . . .
5.8 Thống kê về tính hiệu quả của mỗi mức độ làm giàu ngữ liệu dựa
trên kết quả từ bốn tỉ lệ ngữ liệu mới được sinh ra (10%, 20%, 30%
và 40%) thông qua độ lệch chuẩn và giá trị trung bình trên bộ dữ
liệu HSA [11]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.9 Tổng quan về tính hiệu quả của mỗi phương pháp làm giàu dữ liệu
(theo thứ tự giảm dần.) . . . . . . . . . . . . . . . . . . . . . . . . . .
5.10 Kết quả khi sử dụng PhoBERTBase kết hợp huấn luyện trên mơ hình
ngơn ngữ (Language Model) nhằm cải thiện dữ liệu sinh ra với kỹ
thuật Fill-Mask so với kết quả chỉ sử dụng PhoBERTBase trên bộ dữ
liệu VS [46]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.11 Kết quả khi sử dụng PhoBERTBase kết hợp huấn luyện trên mơ hình
ngơn ngữ (Language Model) nhằm cải thiện dữ liệu sinh ra với kỹ
thuật Fill-Mask so với kết quả chỉ sử dụng PhoBERTBase trên bộ dữ
liệu UIT_VSFC [29] . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.12 Kết quả khi sử dụng PhoBERTBase kết hợp huấn luyện trên mơ hình
ngơn ngữ (Language Model) nhằm cải thiện dữ liệu sinh ra với kỹ
thuật Fill-Mask so với kết quả chỉ sử dụng PhoBERTBase trên bộ dữ
liệu VLSP [27]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

37

39


40
41

42

42

43


xii
5.13 Kết quả khi sử dụng PhoBERTBase kết hợp huấn luyện trên mơ hình
ngơn ngữ (Language Model) nhằm cải thiện dữ liệu sinh ra với kỹ
thuật Fill-Mask so với kết quả chỉ sử dụng PhoBERTBase trên bộ dữ
liệu HSA [11]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.14 Kết quả so sánh khi sử dụng mơ hình SVM [14] và SVM kết hợp
với ba kỹ thuật làm giàu dữ liệu đạt được hiệu quả tốt nhất ở mỗi
mức (dựa trên Bảng 5.2) trên bộ dữ liệu VS [46]. Theo đơn vị %. . . .
5.15 Kết quả so sánh khi sử dụng mơ hình SVM [14] và SVM kết hợp
với ba kỹ thuật làm giàu dữ liệu đạt được hiệu quả tốt nhất ở mỗi
mức (dựa trên Bảng 5.4) trên bộ dữ liệu UIT-VSFC [29]. . . . . . . .
5.16 Kết quả so sánh khi sử dụng mơ hình SVM [14] và SVM kết hợp
với ba kỹ thuật làm giàu dữ liệu đạt được hiệu quả tốt nhất ở mỗi
mức (dựa trên Bảng 5.6) trên bộ dữ liệu VLSP [27]. . . . . . . . . . .
5.17 Kết quả so sánh khi sử dụng mơ hình SVM [14] và SVM kết hợp
với ba kỹ thuật làm giàu dữ liệu đạt được hiệu quả tốt nhất ở mỗi
mức (dựa trên Bảng 5.8) trên bộ dữ liệu HSA [11]. . . . . . . . . . .

43


45

45

45

46


xiii

Danh mục từ viết tắt
CNN
EA
NLP
HSA
VLSP
UIT-VSFC
VS
SOTA
GA
SA
NAS
CBOW
SG
SVM
WB
ReLU
tf


Convolution Neural Network
Evolutionary Algorithms
Natural Language Processing
Hotel Sentiment Analysis
Vietnamese Language Sentiment Analysis
UIT Vietnamese Student Feedback Corpus
Vietnamese Sentiment Analysis
State of the art
Genetic Algorithm
Sentiment Analysis
Neural Architecture Search
Continuous Bag-of-Words
Skip-gram
Support Vector Machine
Word Embedding
Rectifier Linear Unit
TensorFlow


xiv

TĨM TẮT KHỐ LUẬN
Phân tích cảm xúc người dùng là một bài tốn quen thuộc trong lĩnh vực xử
lý ngơn ngữ tự nhiên. Bài tốn có đầu vào là dữ liệu văn bản, đầu ra sẽ là cảm xúc
của đầu vào, có thể là tích cực, tiêu cực hay trung tính.
Khóa luận tốt nghiệp này là q trình nghiên cứu áp dụng các kỹ thuật làm
giàu dữ liệu và mô hình PhoBERTBase vào bài tốn Phân tích cảm xúc người dùng
trên đa dạng bộ dữ liệu với các văn cảnh khác nhau (từ giáo dục, đến sử dụng
dịch vụ nhà hàng/khách sạn và mua sắm trên các sàn thương mại điện tử). Cùng
với đó, nghiên cứu đã tiến hành đánh giá kết quả đạt được một cách chi tiết và

toàn diện trên 5 thang đo khác nhau gồm Accuracy, Balance Acc, Weighted F1,
Macro F1, Micro F1 (đã được chứng minh tính hiệu quả ở nhiều nghiên cứu trước
đó [17, 3]). Mặt khác, trong nghiên cứu này, chúng tôi tiến hành đánh giá chi tiết
và tồn diện về tính hiệu quả của kỹ thuật này trên mơ hình truyền thống SVM
và tính chuẩn xác của ngữ liệu được sinh ra - trên 3 văn cảnh khác nhau gồm tổng
quát, mang tính chủ đề, và phức tạp. Mặt khác, nghiên cứu cũng tiến hành huấn
luyện cải thiện mơ hình ngơn ngữ (language model) - trên bộ dữ liệu gồm 5 triệu
câu để thực hiện được một phần nội dung mình muốn cải thiện sắp tới cho mơ
hình PhoBERTBase .
Cùng với đó, một chương trình minh họa về bài tốn này đã được triển khai,
cho phép người dùng trực tiếp tự động thu thập các bình luận trên trang bán hàng
của mình (hiện chỉ hỗ trợ Shopee) và tạo báo cáo tổng quan về đánh giá của người
dùng dành cho thương hiệu của mình (brand image/sentiment index/audience
scale).
Trong tiến trình thực nghiệm, chúng tơi cũng đã tiến hành đánh giá, so sánh
với những kết quả tốt nhất ứng với mỗi dữ liệu.


1

Chương 1

MỞ ĐẦU
Trong chương này, nhóm sẽ giới thiệu tổng quan về bài tốn Phân tích cảm
xúc và những thành cơng nhất định khi tiếp cận bài tốn này với các kiến trúc
mạng học sâu.

1.1

Đặt vấn đề


Trong khoảng những năm gần đây, với sự phát triển mạnh mẽ và vượt bậc của
Internet và nhu cầu tham khảo các phản hồi của những khách hàng trước đó khi
mua sắm trực tuyến ngày càng tăng. Thế nên, những trang mạng hiện nay được
phát triển cho phép các người dùng có thể chia sẻ những trải nghiệm, đánh giá,
nhận xét và phản hồi về các loại hình dịch vụ, sản phẩm của các doanh nghiệp, tổ
chức. Khi người dùng quyết định lựa chọn mua một sản phẩm hay dịch vụ nào đó
khơng những xem xét các thông tin về sản phẩm, dịch vụ đó mà cịn có xu hướng
quan tâm đến phản hồi của những người dùng khác. Khi tiến hành tham khảo
các đánh giá, phản hồi của những người dùng khác thì các khách hàng thường có
xu hướng đưa ra các quyết định lựa chọn dịch vụ, sản phẩm phù hợp và đáng tin
cậy hơn. Cùng với đó, các doanh nghiệp, dịch vụ và các tổ chức cũng tiến hành
thu thập các thông tin phản hồi của người dùng về các sản phẩm, dịch vụ của
họ để đưa ra các hướng đi đúng đắn hơn. Tuy nhiên, với lượng lớn các thông tin
phản hồi của người dùng về dịch vụ, sản phẩm nào đó thì người dùng và các
doanh nghiệp, tổ chức khó có thể mà quan tâm được hết. Để giải quyết vấn đề
này, các doanh nghiệp, tổ chức và người dùng cần một hệ thống có thể phân tích
tự động được tất cả các phản hồi và tóm tắt lại được tất cả các phản hồi để khách
hàng, doanh nghiệp tham khảo và đưa ra các quyết định nhanh chóng.


Chương 1. MỞ ĐẦU

2

Mặt khác, việc phân tích tích đánh giá phản hồi của các bạn sinh viên trong
quá trình học tập cũng đóng góp một vai trị quan trọng không kém. Tuy nhiên,
phần lớn các phản hồi chỉ dừng lại ở mức khảo sát và đánh giá một cách tổng
quát chứ chưa thực sự nắm hiểu sâu được vấn đề.
Hiện nay, những thông tin mà các hệ thống được sử dụng để phân tích các

phản hồi của người dùng trên các trang mạng thường chỉ quan tâm đến các thang
điểm mà người dùng đánh giá về các sản phẩm, dịch vụ đó. Tuy nhiên, các thang
điểm đánh giá phản hồi thì khơng thể hiện khách quan mức độ hài lịng của
người dùng bằng những câu văn, những đoạn bình luận.
Do đó, một số hệ thống cũng đã được xây dựng để tiến hành phân tích các
câu văn bình luận của người dùng. Ví dụ, đối với câu bình luận của người dùng
về nhà hàng như “Đồ ăn thì rất là ngon ln đó, dịch vụ tốt nữa nhưng có nhược
điểm thì hơi khó tìm một tý”. Đối với hệ thống phân tích ý kiến thì với câu bình
luận như thế của người dùng thì hệ thống sẽ trả về là tích cực.
Đối với lĩnh vực nhà hàng, trước khi khách hàng tiến hành đặt mua đồ ăn,
thức uống hay chọn nhà hàng cho các buổi tiệc thì người dùng cũng chú trọng
đến các phản hồi của những khách hàng trước đó để cân nhắc trong việc lựa
chọn. Ngồi ra, với lĩnh vực nhà hàng, người dùng còn quan tâm cụ thể đến từng
khía cạnh vấn đề để đưa ra quyết định lựa chọn như chất lượng thức ăn, nước
uống, dịch vụ, không gian, giá cả,. . . v.v chứ không đơn thuần chỉ quan tâm đến
tổng quan của nhà hàng. Bằng việc phân tích chi tiết trạng thái của các khía cạnh,
chúng ta có thể khai thác được nhiều thông tin từ đánh giá của người dùng. Nhận
thấy tầm quan trọng của việc đi sâu vào phân tích các khía cạnh, chúng ta cần một
hệ thống có thể thực hiện bài tốn phân tích ý kiến theo khía cạnh của bình luận
người dùng ở trên miền dữ liệu nhà hàng.
Hiện nay, bài tốn phân tích ý kiến theo người dùng được quan tâm ở rất
nhiều lĩnh vực khác nhau, từ giáo dục đến khảo sát ý kiến xã hội học và hơn hết
là lĩnh vực dịch vụ/kinh doanh. Hầu hết các bộ ngữ liệu cũng như các thuật toán
được xây dựng và thử nghiệm trên nhiều ngôn ngữ khác nhau như tiếng Anh,
tiếng Trung Quốc...v.v. Tuy nhiên đối với tiếng Việt, chưa có nhiều bộ ngữ liệu
được xây dựng để phục vụ cho cộng đồng nghiên cứu.


Chương 1. MỞ ĐẦU


1.2
1.2.1

3

Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu

Đối tượng quan trọng đầu tiên trong nghiên cứu này, đó là các câu bình luận
của người dùng/các bạn sinh viên. Các câu bình luận/phản hồi này được khai
thác từ những phản hồi của người dùng trên các trang mạng về các địa điểm ăn
uống như: nhà hàng, quán ăn, tiệm bánh,...v.v. Và đồng thời là các phản hồi từ
việc mua/sử dụng dịch vụ cũng như khảo sát của các bạn sinh viên trong quá
trình học tập.

1.2.2

Phạm vi nghiên cứu

Phạm vi được tiến hành nghiên cứu này là những bình luận của người dùng
trên các trang mạng về các địa điểm ăn uống như nhà hàng, quán ăn, quán bánh,
quán cafe,. . . v.v. Và phản hồi của các bạn sinh viên trong quá trình tham gia học
tập. Đối với nghiên cứu này, tôi thực hiện trên bài tốn phân tích cảm xúc bình
luận/phản hồi của người dùng.

1.3

Mục tiêu của nghiên cứu

Trong nghiên cứu này, tôi tiến hành nghiên cứu, tìm hiểu và giải quyết các

mục tiêu chính như sau:
• Nghiên cứu và thực nghiệm kiến trúc mạng học sâu mang tính chất phức
tạp và địi hỏi nhiều tài nguyên trong quá trình thực hiện – nhưng mang lại
nhiều kết quả nổi bật – PhoBERTBase . Đồng thời là áp dụng các kĩ thuật làm
giàu dữ liệu (data augmentation) như dùng từ đồng nghĩa (synonym replace), fill-mask BERT 1 , back translate (dịch ngược),.. đã được chứng minh
tính hiệu quả ở nhiều nghiên cứu khác nhau [38, 40, 13, 50].
• Phân tích và so sánh hiệu quả giữa các mơ hình học sâu theo hướng có sử
dụng kĩ thuật làm giàu dữ liệu với các mơ hình nghiên cứu hiện tại.
1 />
mask.html


Chương 1. MỞ ĐẦU

4

• Đánh giá một cách tổng quan mức độ cải thiện của các kỹ thuật làm giàu dữ
liệu khơng chỉ ở mơ hình phức tạp - địi hỏi nhiều tài nguyên huấn luyện
(như PhoBERTBase ) mà còn ở các mơ hình truyền thống.
• Xây dựng chương trình minh họa cho phép đơn vị kinh doanh thu thập
bình luận của khách hàng khi trải nghiệm sử dụng dịch vụ và tạo thống kê
tổng quan.
• Đánh giá mức độ hiệu quả của mơ hình khi mở rộng huấn luyện trên mơ
hình ngơn ngữ (language model) so với trực tiếp sử dụng PhoBERTBase .

1.3.1

Kết quả của nghiên cứu

Với những nội dụng được thực thi trong nghiên cứu này, tôi đạt được những

kết quả như sau:
• Thực nghiệm sử dụng mơ hình PhoBERTBase trên 4 bộ dữ liệu, thuộc 3 ngữ
cách khác nhau (từ giáo dục cho đến sử dụng dịch vụ/khách sạn và mua
sắm trên các nền tảng e-com).
• Thực nghiệm kết hợp mơ hình PhoBERTBase với các mức độ làm giàu ngữ
liệu khác nhàu từ mức độ ký tự, cho đến từ và ngữ cảnh (với lần lượt các tỉ
lệ là 10-20-30-40%).
– Mức độ ký tự: kĩ thuật thêm - xóa - thay thế ký tự ngẫu định.
– Mức độ từ: thay thế từ đồng nghĩa (synonym replacement).
– Mức độ ngữ cảnh: contextual word embedding và dịch ngược (đơn và
chuỗi trên hai ngôn ngữ tiếng Anh và tiếng Trung Quốc Phổ Thơng).
• Đánh giá tính hiệu quả của kỹ thuật làm giàu dữ liệu dựa trên
– Kết quả của bài tồn thực nghiệm phân tích cảm xúc người dùng (sentiment analysis).
– Kết quả đạt được khi sử dụng mô hình truyền thống SVM.
– Đánh giá khách quan từ độ chuẩn xác của dữ liệu sinh ra (ở 3 văn cảnh
khác nhau, gồm tổng quan, mang tính chủ đề và phức tạp).


Chương 1. MỞ ĐẦU

5

• Cải thiện kết quả của kĩ thuật làm giàu dữ liệu ở mức độ ngữ cảnh, cụ thể là
contextual word embedding. Bằng việc, huấn luyện mô hình ngơn ngữ trên
tập dữ liệu gồm 5 triệu câu (từ các bình luận của người dùng để lại trên các
nền tảng như Agoda, Booking, Mytour, và Foody).
• Xây dựng mô phỏng - website, cho phép người dùng tự động trực tiếp thu
thập các bình luận từ trang bán hàng của mình (hiện tại chỉ hỗ trợ Shopee).
Tiến hành tạo báo cáo tự động, phân tích insights dựa trên các bình luận thu
thập được. Các thơng tin trong báo cáo gồm, tỉ lệ tích cực/tiêu cực/trung

tính từ các bình luận của người dùng nhận diện về thương hiệu (brand
image), thống kê độ dài ngắn của các câu bình luận, từ khóa được người
dùng nhắc về thương hiệu. Đồng thời là bảng kết quả chi tiết về các bình
luận đã thu thập được.
• Cho phép người dùng tải lên dữ liệu cá nhân mình thu thập được trước đó
(chỉ hỗ trợ định dạng file pickle).

HÌNH 1.1: Minh họa hệ thống đánh giá nhà hàng bởi người dùng
trên trang web Yelp2 .
2 Yelp:

/>

Chương 1. MỞ ĐẦU

1.4

6

Phát biểu bài toán

Trong nghiên cứu này, tơi tiến hành tìm hiểu và nghiên cứu bài tốn phân tích
bình luận/đánh giá của người dùng/các bạn sinh viên trên bốn bộ dữ liệu khác
nhau.
Bài toán xác định trạng thái cảm xúc, từ câu bình luận của người dùng và các
trạng thái cảm xúc được quan tâm đến trong nghiên cứu này là tích cực (positive),
trung tính (neutral) và tiêu cực (negative).
Nói một cách ngắn gọn, Phân tích cảm xúc - bài tốn chính trong đề tài này
được phát biểu như sau:
• Đầu vào: Câu bình luận của người dùng về dịch vụ, sản phẩm trong nhà

hàng, quán ăn, và đồng thời là những phản hồi của các bạn sinh viên trong
q trình học tập
• Đầu ra: Cảm xúc tương ứng được đề cập trong câu bình luận của người
dùng
Trong khóa luận này, nhóm đã có thực nghiệm nhất định tạo tiền đề áp dụng
kĩ thuật làm giàu dữ liệu trong lĩnh vực Xử lý ngôn ngữ tự nhiên nói chung và
bài tốn Phân tích cảm xúc nói riêng.

1.5

Cấu trúc khóa luận

Khóa luận được chia thành 6 Chương, cấu trúc được trình bày như sau.
• Chương 1: Mở đầu. Trình bày lý do chọn nghiên cứu, đối tượng và phạm vi
nghiên cứu, mục tiêu cũng như kết quả đạt được.
• Chương 2: Tổng quan. Giới thiệu khái niệm về bài tốn phân tích cảm xúc
người dùng, phân tích các hướng nghiên cứu đã được thực hiện trong và
ngoài nước liên quan đến bài tốn này. Trình bày bài tốn trong nghiên cứu
này tiến hành nghiên cứu và thực hiện.
• Chương 3: Trình bày khái lược về bốn bộ dữ liệu được sử dụng trong nghiên
cứu. Đồng thơi phân tích tổng quan về các bộ dữ liệu và tiến trình tiền xử
lý dữ liệu trước khi huấn luyện mơ hình.


Chương 1. MỞ ĐẦU

7

• Chương 4: Mơ hình phân tích cảm xúc người dùng. Đồng thời, trình bày cơ
sở lý thuyết của các phương pháp được sử dụng để tiến hành thử nghiệm.

Trong đó, bao gồm PhoBERTbase và các biến thể cho tiếng Việt.
• Chương 5: Thử nghiệm và kết quả thử nghiệm. Trình bày quá trình cài đặt
thử nghiệm, các bảng thơng số và phân tích kết quả giữa các thử nghiệm.
• Chương 6: Kết luận và hướng phát triển. Tổng kết các kết quả quan trọng đã
đạt được trong nghiên cứu, những hạn chế chưa được giải quyết và hướng
phát triển trong tương lai.


8

Chương 2

TỔNG QUAN
Trong chương này, chúng tơi tiến hành trình bày tổng qt bài tốn phân tích
cảm xúc người dùng (sentiment analysis - SA) là một trong số hai bài tốn con
của phân tích khía cạnh cảm xúc (aspect-based sentiment analysis - ABSA). Đối
với bài tốn SA thơng thường, từ một câu bình luận của người dùng, kết quả trả
về là các trạng thái cảm xúc tương ứng đối với câu đó. Và, đối với bài tốn ABSA,
phải tiến hành phân tích chi tiết các khía cạnh được đề cập đến trong câu bình
luận và cả trạng thái cảm xúc tương ứng cho từng khía cạnh đó.

2.1

Tổng quan về phân tích cảm xúc

Trong những năm gần dây, Phân tích cảm xúc (SA) được cộng đồng nghiên
cứu thuộc lĩnh vực NLP được đơng đảo cộng đồng trong lẫn ngồi nước rất quan
tâm. Đây là quá trình xác định và phân loại văn bản thành các cảm xúc khác nhau
— ví dụ, cảm xúc tích cực, tiêu cực hoặc trung tính — hoặc cảm xúc — chẳng hạn
như vui, buồn, tức giận hoặc ghê tởm — để xác định thái độ của con người đối

với chủ thể hoặc thực thể cụ thể.
Phân tích cảm xúc cũng là một trong những cơng tác quan trọng trong lĩnh
vực NLP. Nó khơng chỉ có ý nghĩa quan trọng trong học thuật, nghiên cứu mà
cịn có ý nghĩa cực kì thiết yếu trong các ngành cơng nghiệp – dịch vụ, cụ thể là
việc nhận biết hành vi và thái độ của khách hàng về sản phẩm và dịch vụ mà họ
sử dụng.
Với ngành công nghiệp - dịch vụ nói chung, SA được sử dụng như một cơng
cụ mạnh mẽ để tự động hóa quy trình phân tích và đánh giá ý kiến của người
dùng. Đối với lĩnh vực nhà hàng - khách sạn nói riêng, các ý kiến người dùng đó


Chương 2. TỔNG QUAN

9

thường được thu thập từ các trang mạng xã hội, hoặc các trang thu thập nhận xét
của khách hàng về chất lượng cũng như mức độ hài lịng.
Hiện nay, bài tốn phân tích cảm xúc có ba cấp độ chính đó là cấp độ câu
văn (sentence-level), văn bản (document-level), và khía cạnh (aspect-level). Ở cấp
độ câu văn, mục tiêu của bài toán là phân loại một câu văn thành các lớp tiêu
cực (negative), tích cực (positive), hoặc trung tính (neutral). Cấp độ văn bản được
dùng để xác định mức độ cảm xúc của một đoạn văn (gồm hai hay nhiều câu
văn) là tiêu cực, tích cực, hay trung tính. Và cấp độ khía cạnh được dùng để xác
định mức độ cảm xúc cho mỗi khía cạnh của thực thể đề cập trong một văn bản.
Trong phạm vi của khóa luận, giới hạn nghiên cứu nhóm sẽ chỉ nằm ở mỗi khía
cạnh cấp độ câu văn.

HÌNH 2.1: Biểu đồ trình bày các cấp độ trong ngơn ngữ học gồm các
cấp độ phổ biến: Ngữ âm học (Phonetics), Âm vị học (Phonology),
Hình thái học (Morphology), Cú pháp (Syntax), Ngữ nghĩa học (Semantics) và Ngữ dụng học (Pragmatics) 1 .


Đối với Bài tốn phân tích cảm xúc, chúng sẽ thuộc cấp độ ngữ dụng học
(Pragmatics) và ngữ nghĩa học (Semantics). Chúng ta có thể thấy rằng vị trí của
bài tốn này nằm ở vị trí nào trong lĩnh vực NLP - một nhánh của chun ngành
khoa học máy tính, đó là vị trí với vai trị là một ứng dụng trong lĩnh vực NLP.
1 Giới

thiệu về ngôn ngữ - Lumen: />boundless-psychology/chapter/introduction-to-language/


Chương 2. TỔNG QUAN

10

HÌNH 2.2: Mơ tả ba nhiệm vụ của ABSA: Mục đích của bài tốn
trích xuất mục tiêu ý kiến, trong trường hợp này là "sushi" và "phục
vụ". Đối với bài tốn xác định thực thể khía cạnh (aspect category
detection), đã được thiết đặt các danh mục xác định trước, nhiệm vụ
là xác định: thực thểkhía cạnh, khía cạnh của "sushi" là "Food" và
thực thể biểu thị của khía cạnh là "Quality". Xác định cảm xúc của
một khía cạnh mục tiêu (sentiment polarity) - tích cực hoặc tiêu cực.

2.2
2.2.1

Tình hình nghiên cứu
Tình hình nghiên cứu trên thế giới

Từ những năm 2000 cho đến nay, phân tích ý kiến cũng như phân tích ý kiến
theo khía cạnh đã và đang thu hút được các nhà nghiên cứu quan tâm, phát triển

và đưa vào ứng dụng thực tế. Khái niệm phân tích cảm xúc (sentiment analysis)
xuất hiện lần đầu tiên trong cơng trình của Nasukawa và Yi [24]. Khái niệm phân
tích ý kiến (opinion mining) xuất hiện lần đầu tiên trong cơng trình của Dave,
Lawrence and Pennock [8]. Tuy nhiên, nghiên cứu được xem là đầu tiên đặt nền
móng cho phân tích ý kiến là nghiên cứu của Pang và các cộng sự [32]. Kể từ đó
các nghiên cứu trong bài toán này ngày càng được quan tâm và phát triển.
• Cơng trình [32] đã tiến hành nghiên cứu về phân tích ý kiến từ các phản
hồi của người dùng đối với miền dữ liệu điện ảnh (movie domain) với hai
phân lớp được quan tâm đến trong nghiên cứu là tích cực và tiêu cực. Ba
phương pháp máy học (Naive bayes, maximum entropy classification và
support vector machine) được sử dụng để giải quyết vấn đề phân loại các ý
kiến trong nghiên cứu này.


Chương 2. TỔNG QUAN

11

• Năm 2010, Thet và các cộng sự [42] tiến hành thực hiện nghiên cứu không
chỉ quan tâm đến việc phân tích ý kiến mà cịn phân tích chi tiết các định
hướng cảm xúc và sức mạnh của cảm xúc của đánh giá đối với các khía cạnh
khác nhau trong miền dữ liệu điện ảnh. Phương pháp được đề xuất là sử
dụng điểm số cảm xúc của bộ SentiWordNet để tiến hành tính tốn cảm xúc
cho các khía cạnh khác nhau.
• Cơng trình của Kim Schouten và Flavius Frasincar [37] giới thiệu tổng quan
về bài toán phân tích ý kiến trên khía cạnh. Trong cơng trình này, tác giả
đưa ra các bài toán con của bài toán phân tích ý kiến theo khía cạnh, cách
phương pháp đánh giá và khảo sát các mơ hình và kết quả thử nghiệm được
đề xuất đưa vào nghiên cứu trước đó đối với các bài tốn con khác nhau.
• Haque và cộng sự [18] đã sử dụng các bài đánh giá sản phẩm của Amazon

trong ba lĩnh vực: điện thoại di động và phụ kiện, âm nhạc và thiết bị điện
tử. Họ đã phân loại cảm xúc thông qua Linear SVM, Multinomial Naăve
Bayes, Stochastic Gradient Descent, Random Forest, Hi quy logistic và Cây
quyết định. Và SVM thu được kết quả phân loại tốt nhất với độ chính xác
94,02% đối với các đánh giá ở lĩnh vực âm nhạc.
• Singla và cộng sự [39] đã thực hiện phân tích tình cảm các đánh giá về điện
thoại di động trên Amazon, họ đã phân loại văn bản thành các phân cực bao
gồm tích cực và tiêu cực, và cảm xúc tức giận, mong đợi, sợ hãi, vui vẻ, buồn
bã, ghê tởm, ngạc nhiên và tin tưởng. Việc phân loại được thực hiện thông
qua SVM với đến độ chính xác là 84,85%. Và, kết quả mang lại, thương hiệu
Samsung nhận được nhiều phản hồi tích cực nhất từ khách hàng. Những
kết quả này rất hữu ích cho các nhà sản xuất vì họ có thể làm việc trên các
phản hồi để cải thiện chất lượng sản phẩm.
Để đáp ứng cho công tác nghiên cứu đối với bài toán, nhiều bộ ngữ liệu ở các
miền dữ liệu khác nhau và trên các ngôn ngữ khác nhau đã được xây dựng:
• Bộ ngữ liệu của Marianna Apidianaki và các cộng sự [35] xây dựng trên hai
miền dữ liệu nhà hàng và viện bảo tồn trên ngơn ngữ tiếng Pháp. Trong
cơng trình này, bộ ngữ liệu được xây dựng ở cấp độ câu với 2365 câu đối
với lĩnh vực nhà hàng và 655 câu đối với lĩnh vực viện bảo toàn. Đồng thời,


×