Các bình luận khiếm nhã của học sinh trong một giờ học online Đối với các bài toán nghiên cứu về lĩnh vực nhận diện bình luận xúc phạm, có 2 hướng nghiên cứu chủ yếu là nghiên cứu về bộ
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHO HO CHÍ
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THONG TIN
HEL,
H
LƯU THANH SƠN
PHÁT HIỆN TỰ ĐỘNG CÂU BÌNH LUẬN CÓ XÚC PHẠM
CHO DU LIEU MẠNG XÃ HỘI TIENG VIỆT
LUẬN VĂN THẠC SĨNGÀNH KHOA HỌC MÁY TÍNH
MÃ SỐ: 8480101
Trang 2LUU THANH SON
PHAT HIEN TU DONG CAU BINH LUAN CO XUC PHAM
CHO DU LIEU MẠNG XÃ HOI TIENG VIỆT
LUAN VAN THAC SINGANH KHOA HOC MAY TINH
MA SO: 8480101
NGƯỜI HƯỚNG DAN KHOA HỌC
TS NGUYEN LƯU THUY NGÂN
TP HỒ CHÍ MINH - NAM 2021
Trang 3LỜI CAM ĐOANTôi xin cam đoan:
Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực
tiếp của TS Nguyễn Lưu Thùy Ngân
Mọi tham khảo trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên côngtrình, và thời gian công bố
Moi sao chép không hợp lệ và vi phạm quy chế đào tạo tôi xin chịu hoàn toàn
Trang 4LỜI CẮM ƠN
Đầu tiên, tôi xin chân thành gửi lời cảm ơn sâu sắc đến TS Nguyễn Lưu ThùyNgân, người cô đã định hướng và truyền cảm hứng cho tôi trên con đường nghiêncứu khoa học, rèn luyện cho tôi các kỹ năng đọc hiểu và viết báo cáo, cũng như luôn
bên cạnh động viên và giúp đỡ tôi khi gặp khó khăn trong quá trình thực hiện luận
văn và làm nghiên cứu khoa học.
Xin chân thành cảm ơn Quý Thầy Cô tại Trường Đại học Công nghệ Thông tin
-Dai học Quốc gia Thành phố Hồ Chí Minh vì đã truyền đạt rất nhiều kiến thức quýbáu trong suốt quá trình học cao học tại Trường
Ngoài ra, tôi xin gửi lời cảm ơn chân thành đến các anh chị trong nhóm nghiêncứu về Xử lý ngôn ngữ tự nhiên của Trường Đại học Công nghệ Thông tin - Đại họcQuốc gia Thành phó Hồ Chí Minh (NLP@UIT) vì đã có những ý kiến đóng góp rất
bổ ích trong quá trình tôi làm luận văn và sinh hoạt chuyên môn tại nhóm nghiên
Trang 5MỤC LỤC
Lời cam đoan
Lời cảm ơn
Mục lục
Danh mục các bảng
Danh mục các hình vẽ và đồ thị
Chương 1 Tổng quan
11
12
1.3
Mục tiêu và phạm vinghiénettu
12.1 Mục tê @£ é À
1.2.2 Phạmvinghincứu
Các đóng góp của luận văn
-Chương 2 Cơ sở lý thuyết 21 22 23 24 25 2.6 Định nghĩa về bình luận xúc phạm
-Bộ dữ liệu dùng cho bình luận xúc phạm
Bài toán phân loại văn
bản -Quy trình xây dựng bộ dữ liệu
Vector biểu diễn từ cho văn bản
Độ đo đánh giá Ốc Ặ eee Chương 3 Xây dựng bộ dữ liệu 3.1 3.2 Mô tả bài toán phát hiện câu bình luận có xúc pham .
Xây dựng bộ dữ liệu
3.2.1 Côngcụ gánnhãn eee 3.2.2 Hướng dẫn
gánnhãn -3.23 Quy trình gánnhãn
ii
iii
vi
vii
Bw 0 0
ce © MDD A
Trang 6MỤC LỤC
Em: Ha eee
Chương 4 Phương pháp máy học dùng cho bài toán nhận diện bình luận
xúc phạm
4.1 Các mô hình học sâu cho phân loại văn bản
4.1.1 Mô hình TextCNN
4.1.2 Mô hình Gated Recurrent Units
4.2 Các mô hình học chuyển tiếp cho phân loại văn bản
4.2.1 Mô hình đangônngữ
4.2.2 Mô hình đơn ngôn ngữ
4.3 Phương pháp khắc phục tình trạng mat cân bằng dữ liệu
4.3.1 Phương pháp tăng cường dữ liệu EDA
4.3.2 Phương pháphọc kếthợp
-Chương 5 Thử nghiệm và kết quả 5.1 Chuẩn bị dữliệu Ặ eee eee eee 5.2 Thiết lập thôngsố Ặằằằằ 5.3 Kétquathiinghiém 2.2.0 0000000000000
5.3.1 nghiệm Cae eee 5.3.2 Thửnghiệm2
5.3.3 Thửnghiệm3
5.3.4 Thửnghiệm4
54 Phântíchlỗi ee eee Chương 6 Ung dụng minh hoa 6.1 Kiến trúc tổng quan của chương
trình -6.2 Giao diện của chương trình
6.3 Đánh giá chương trình minhhoa
Chương 7 Kết luận và hướng phát triển
JA KẾtluận eee
7.2 Hướng pháttriển eee
31 31 31 32 34 37
38
38
39
42
44
45 45 45 46 48 50 52
54
54
55
56
Trang 7MỤC LỤC
Tài liệu tham khảo
Phụ lục A Các yếu tố ảnh hưởng trong quá trình gán nhãn
A.1 Phân tích một số trường hợp khó gan nhãn trong bộ dữ liệu
A.2 Su ảnh hưởng của ngữ cảnh trong quá trình gán nhãn
Trang 8DANH MUC CAC BANG
Khảo sát tổng quan về các bộ dữ liệu hiện có
Minh hoạ về mô hình chuỗi cho một câu bình luận trong bộ dữ liệu
Ma trận nhầm lẫn đối với 3 nhãn trên bộ dữ liệu
Một số bình luận ví dụ thuộc các nhãn trong bộ dữ liệu
Thống kê số lượng dữ liệu theo từng nhãn giữa 2 người gán nhãn
Độ đồng thuận thu được giữa các cặp người gán nhãn
Một số bình luận khó gan nhãn trong bộ dữ liệu
Độ đồng thuận thu được giữa các cặp người gán nhãn khi có yếu tố
ngữ cảnh từ bài viet ch
Một số ví dụ về bình luận đã được gán nhãn trong bộ dữ liệu
"Thống kê một số đặc điểm về câu bình luận trên bộ dữ liệu
Vi dụ về tăng cường dữ liệu bằng phương phipEDA
So sánh các thông số về đặc điểm của tập huấn luyện trước và sau khi
tăng cườ gJdữ liễuạm cm /
Kết quả thử nghiệm của các mô hình trên bộ dữ liệu ViHSD_
Kết quả thử nghiệm của các mô hình khi không có các bước tiền xử
lý trên bộ dữ liệu ViIHSD
Kết quả thử nghiệm của mô hình m-bert-uncased và PhoBERT khi
không sử dụng các thao tác tiền xử lý dữ liệu tương ứng
Kết quả thử nghiệm của các mô hình trên bộ dữ liệu sau khi đã tăng
cường dữ liệu trên tập huấn luyện
-Kết quả dự đoán theo độ do fl của các mô hình ứng với từng nhãn
trước và sau khi tăng cường dữ liệu
Kết quả dự đoán của mô hình đối với từng nhãn
Một số kết quả dự đoán sai trong bộ dữ liệu bởi các mô hình phân loại
Một số câu bình luận gây nhầm lẫn trong quá trình gan nhãn
A.2_ Các câu bình luận được gan nhãn khi biết nội dung bài viết
14 17
42 46
Trang 921
22
23
24
25
3.1
3.2
3.3
3.4
3.5
41
42
43
44
45
46
47
4.8
4.9
DANH MỤC CÁC HÌNH VE VÀ ĐỒ THỊ
Các bình luận khiếm nhã của học sinh trong một giờ học online
Mô hình phân loại văn bản có giám sát .
Quy trình MATTER
[17] -Quy trình MATTER cải tiến (Finlayson và Erjavec) [I5]
Giao diện công cụ gán nhãn Doccano cho bài toán phân loại cảm xúc Trich xuất đặc trưng của một câu bình luận thành một Vector Công cu gan nhãn cho bộ dữ liệu - Google Trang tinh,
Quy trình thực hiện gán nhãn cho bộ dữ liệu
Phân bố nhãn của từng tập dữ liệu trong bộ dữ liệu
Phân bồ dữ liệu theo độ dài câu bình luận trên tập huấn luyện, tập phát triển và tập kiểm tra
'Wordcloud trên các tập huấn luyện, phát triển và kiểm tra
Kiến trúc của mô hình Text-CNN |39]
Minh hoạ kiến trúc của RNN-encoder-decoder [40]
Kiến trúc của một tế bao ô nhớ trong mô hình GRU [41]
Kiến trúc tổng quan của mô hình BERT [42]
Biểu diễn văn bản đầu vào cho mô hình BERT [42]
Biểu diễn văn bản đầu vào cho mô hình XLM-R [45]
Phân bố dữ liệu theo nhãn trên tập huấn luyện trước và sau khi tăng cường dữ liệu Ặ Q Q Q Q Q S eee Wordcloud tập huấn luyện trước và sau khi tăng cường dữ ligu
Phân bồ dữ liệu theo độ dài câu trên tập huấn luyện trước và sau khi tăng cường dữ liệu - -
4.10 Minh hoa cho phương pháp Hard voting trong mô hình kết hợp [51] 6.1 6.2 Kiến trúc tổng quan của chương trình
Giao diện chính của chương trình minh hoạ
1 12
13
15
20
24
29
30
30
32 33 33 35 36
37
4I
4I
42 43 54 55
Trang 10Chương 1 TỔNG QUAN
1.1 Đặt vấn đề
Theo thống kê của trang web Statista!, năm 2019 có khoảng hơn 90% người dùng
tại Việt Nam sử dụng mạng xã hội Facebook và 89% người dùng sử dụng mạng xã
hội Youtube Số lượng người dùng mạng xã hội tại Việt Nam được dự báo sẽ đạt
52 triệu vào năm 2023 Còn theo thống kê của Nguyen và các đồng sự [1], người
dùng Facebook tại Việt Nam bỏ ra khoảng 2.5 giờ một ngày để tham gia mạng xã
hội Bên cạnh các tiện lợi của mạng xã hội như kết nối các người dùng với nhau vàtạo ra không gian mở, mạng xã hội cũng tiềm ẩn nhiều rủi ro, đặc biệt là van đề xúc
phạm trên mạng xã hội.
Sự xúc phạm trên mạng xã hội được thể hiện thông qua các bình luận xúc phạm
của người dùng trên mạng xã hội đối với một bài viết cụ thể Các bình luận xúc
phạm là các bình luận có chứa các yếu tố công kích, gây rối và sử dụng ngôn từ
khiếm nhã hoặc tục tiu, nhằm vào một cá nhân, tổ chức hay thậm chí là một cộngđồng người Hậu quả của sự xúc phạm trên mạng xã hội là gây tổn thương về mặttâm lý cho cá nhân bị xúc phạm, hạ nhục và gây mắt uy tín của một tổ chức, haythậm chí là tạo tâm lý hoang mang, thù ghét giữa các nhóm người hay cộng đồngvới nhau Đặc biệt, với sự phát triển nhanh chóng của mạng xã hội, số lượng ngườidùng tham gia ngày càng nhiều, dẫn đến việc các bài viết và bình luận nhằm côngkích, đả kích một cá nhân, tổ chức hay một cộng đồng được lan truyền rất nhanh vàkhó kiểm soát, thường gây hậu quả nghiêm trọng cho xã hội thực tế
Để hạn chế sự ảnh hưởng của các bình luận xúc phạm độc hai, các nhà trị cáctrang bài viết trên mạng xã hội (fanpage admin) thường sẽ lọc và kiểm duyệt các bình
luận trước khi cho đăng lên mạng xã hội, đặc biệt là các fanpage có nhiều người dùng
tương tác Tuy nhiên, với số lượng bài đăng và bình luận rất nhiều của người dùng,cần phải có một công cụ hỗ trợ nhận diện tự động các bình luận xúc phạm cho các
nhà quản trị fanpage, từ đó, các nhà quản trị có thể xem xét ẩn đi hoặc xoá bỏ các
bình luận xấu và độc hại, góp phần giữ cho không gian mạng xã hội trong sạch vàthân thiện cho người dùng trao đổi và giao lưu trực tuyến
Thrtps://www statista.com/statistics/941843/
Trang 11CHƯƠNG 1 TONG QUAN
Thay cmay ơi
xem ĐI THAY.
tử từ thay ơi
xem ĐI THAY
00099996 Hello chào mững cái streamer đến vs
Hình 1.1 Các bình luận khiếm nhã của học sinh trong một giờ học online
Đối với các bài toán nghiên cứu về lĩnh vực nhận diện bình luận xúc phạm, có
2 hướng nghiên cứu chủ yếu là nghiên cứu về bộ dữ liệu cho bài toán, và nghiêncứu về các phương pháp máy học áp dụng cho bài toán Đối với nghiên cứu về bộ
dữ liệu, các tác giả tiền hành thu thập, và xây dựng bộ dữ liệu về các bình luận củangười dùng trên mạng xã hội, sau đó tiến hành phân tích các đặc điểm và khía cạnhngôn ngữ của các bình luận xúc phạm Các bộ dữ liệu có thể được xây dựng trên
một ngôn ngữ cụ thể như Tiếng Anh [2], Tiếng Việt [3] hoặc là đa ngôn ngữ [4]
Đối với phương pháp tiếp cận cho bài toán, có rất nhiều phương pháp như tiếp cậntheo luật (rule-based), máy hoc (machine learning), và học sâu (deep learning) [5] Bên cạnh đó, các thách thức chính dat ra cho bài toán nhận diện bình luận xúcphạm bao gồm: độ đồng thuận thấp khi gán nhãn cho dữ liệu, sự phụ thuộc vào vănhóa khi xác định bình luận xúc phạm đối với các ngôn ngữ khác nhau, sự đa dạng
về mặt ngôn ngữ khi sử dụng trên mạng xã hội, và cuối cùng là nhận diện ngôn ngữ
xúc phạm được ẩn trong văn bản (sự xúc phạm không được thể hiện tường minh, màthể hiện thông qua phép ẩn dụ, hoặc cách nói hàm ý)
Trang 121.2 MỤC TIÊU VÀ PHAM VI NGHIÊN CUU
1.2 Mục tiêu và phạm vi nghiên cứu
1.21 Mục tiêu
Mục tiêu đặt ra của đề tài: “Phát hiện tự động câu bình luận có tính xúc phạm cho
dữ liệu mạng xã hội Tiếng Việt” là nghiên cứu xây dựng một bộ dữ liệu về các câu
bình luận xúc phạm và thử nghiệm bộ dữ liệu trên các phương pháp máy học dùng
để phân lớp văn bản Cụ thể là:
* Xây dựng quy trình gán nhãn, xây dựng phương pháp đánh giá chất lượng bộ
dif liệu các câu bình luận mang tính xúc phạm trên mạng xã hội.
* Tìm hiểu, thử nghiệm, đánh giá các mô hình máy học và học sâu dùng trongphân lớp văn bản để áp dụng cho bài toán phát hiện tự động câu bình luận có
tính xúc phạm trên mạng xã hội Tiếng Việt
1.2.2 Pham vi nghiên cứu
Luận văn tập trung nghiên cứu về bài toán phát hiện tự động câu bình luận có tính
xúc phạm trên mạng xã hội Facebook và Youtube, do đó có hai phạm vi chính mà
đề tài tập trung như sau:
Về bộ dữ liệu: Chúng tôi tiến hành thu thập các bình luận của người dùng từmạng xã hội Facebook và Youtube, sau đó, chúng tôi tiền hành xây dựng hướng dẫn
gan nhãn, quy trình gan nhãn cho bộ dữ liệu Trong quá trình xây dựng bộ dữ liệu,
chúng tôi có tham khảo một số công trình trước đó về xây dựng bộ dữ liệu bình luậnxúc phạm trên mang xã hội Bang 1.1 tóm tắt một số công trình nghiên cứu về dữliệu bình luận xúc phạm trước đó.
Về phương pháp tiếp cận: Trên lĩnh vực nhận diện các bình luận xúc phạm, các
mô hình học sâu (deep learning) như CNN và LSTM cho kết quả vượt trội so với các
mô hình truyền thống như SVM hay Logistic Regression [6] Mặt khác, sự xuất hiệncủa các mô hình học chuyển tiếp (transfer learning) cũng đem lại kết quả rất khả
quan cho bài toán nhận diện bình luận xúc phạm trên mạng xã hội [7] Do đó, chúng
tôi chọn phương pháp tiếp cận học sâu (deep learning) và phương pháp học chuyểntiếp (transfer learning) để áp dụng cho bài toán nhận diện bình luận xúc phạm trên
Trang 13CHƯƠNG 1 TONG QUAN
mang xã hội cho Tiếng Việt
1⁄3 Các đóng góp của luận văn
Luận văn này có các đóng góp chính như sau:
* Xây dựng quy trình gan nhãn, xây dựng phương pháp đánh giá chất lượng bộ
di liệu các câu bình luận mang tính xúc phạm trên mạng xã hội.
* Phân tích sự ảnh hưởng của ngữ cảnh đối sự đồng thuận của các người gánnhãn trong quá trình gan nhãn, từ đó dé xuất hướng cải tiền độ đồng thuận
* Đánh giá hiệu năng của các mô hình máy học bao gồm TextCNN, GRU, các
mô hình học chuyển tiếp đa ngôn ngữ gồm BERT, XLM-R, DistilBERT, vàcác mô hình học chuyển tiếp đơn ngôn ngữ cho tiếng Việt gồm PhoBERT vàBERT4news.
* Đánh giá sự ảnh hưởng của các phương pháp tăng cường dữ liệu đối với các
mô hình máy học trên bộ dữ liệu.
* Đánh giá sự ảnh hưởng của các thao tác tiền xử lý như tách từ, loại bỏ từstopwords, loại bỏ emoji và các ký tự đặc biệt đối với hiệu năng của các môhình phân lớp trên bộ dữ liệu.
+ Dé xuất mô hình kết hợp nhằm nâng cao hiệu quả phân loại cho bài toán nhận
điện câu bình luận có tính xúc phạm.
Ngoài ra, luận văn này cũng có một công bố khoa học đã được chấp nhận ở hộinghị khoa học quốc tế như sau:
Son T Luu, Kiet Van Nguyen, Ngan Luu-Thuy Nguyen, A Large-scale Dataset for
Hate Speech Detection on Vietnamese Social Media Texts, The 34th International
Conference on Industrial, Engineering & Other Applications of Applied Intelligent
Systems (IEA/AIE 2021)
Trang 141.3 CÁC ĐÓNG GÓP CỦA LUẬN VĂN
Bảng 1.1 Khảo sát tổng quan về các bộ dữ liệu hiện có
Bộ dữ liệu (tác | Ngôn ngữ Nhãn Số lượng
Zampieri và | Tiếng Anh Nhãn phân cap, gom Binary | 14,100
các đồng sự (Offensive, Not), Within
Of-(2019) [11] fensive (Target, Not), Within
Target (Individual, Group, Other)
Fortuna và các | Tiêng BO Dao | Nhãn phan cap: gom 2 nhãn: | 3,059
đồng sự (2019) | Nha Hate và Not Trong nhãn Hate
[12] phân cắp ra làm 81 thuộc tính
khác nhau.
CONAN Đa ngôn ngữ: | Nhãn phân cap: gom 2 nhãn | 1,719
(2019) [4] Tiếng Anh, | là Islamophobic và not Trong
Tiếng Pháp, và | nhãn Islamophobic chia ratiếng Ý làm 8 thuộc tính khác nhau,
tương ứng với chủ thể xúcphạm mà câu bình luận đề cậpđến
VLSP Hate | Tiêng Việt 3 nhãn: clean, offensive và | 25,431
speech detec- hate
tion — (2020)
B]
Coltekin và các | Tiêng Tho Nhĩ | Nhãn phân cap, gom 2 nhãn | 36,232
đồng sự (2020) | Kỳ là Hate và Not Within Hate
[13] (Group, Individual), Within
Hate (Agressive, Not) Basile và các | Tiêng Anh và | Nhan phân cap, gom 3 | 13,000
Trang 15Chương 2 CƠ SỞ LÝ THUYET
Trong chương này, chúng tôi trình bày định nghĩa về bình luận xúc phạm trênmạng xã hội cùng các yếu tố và đặc điểm của bình luận xúc phạm Để giải quyếtcho bài toán bình luận xúc phạm thì bộ dữ liệu dùng cho việc huấn luyện các môhình máy học để nhận diện được bình luận xúc phạm đóng vai trò then chốt Do
đó, chúng tôi trình bày quy trình MATTER cải tiến của tác giả Finlayson và Erjavec[15] để xây dựng bộ dữ liệu Bên cạnh đó, chúng tôi trình bày các kỹ thuật trích xuấtđặc trưng bằng vector nhúng từ để có thể mã hoá và trích xuất các đặc trưng từ vănbản thô và các phương pháp máy học nhằm xây dựng mô hình phát hiện tự động các
câu bình luận có xúc phạm Cuối cùng, chúng tôi trình bày các độ đo dùng để đánh
giá tính hiệu quả của các mô hình máy học.
2.1 Định nghĩa về bình luận xúc phạm
Theo tác giả Fortuna và Nunes [Š], bình luận xúc phạm (hate speech) được định
nghĩa là "bình luận mà trong ngôn ngữ có yếu tố công kích (attack) hoặc hạ nhục
(diminishes), cổ xúy cho bạo lực và thù ghét giữa các cá nhân, tổ chức hoặc một
cộng đồng dựa vào các đặc điểm về ngoại hình, giới tính, tôn giáo, đức tin hoặcnhững yếu tố khác liên quan đặc điểm riêng của từng cá nhân hay tổ chức Yếu tốxúc phạm có thể được thể hiện bằng nhiều hình thức khác nhau Thậm chí là khôi
hài quá mức cũng được xem là xúc phạm".
Theo định nghĩa ở trên, một bình luận xúc phạm thường có 4 đặc điểm như sau:
* Có đối tượng xúc phạm cụ thể Đối tượng có thể là một cá nhân, hoặc mộtnhóm người hay thậm chí là một cộng đồng người Các yếu tổ xúc phạm baogồm ngoại hình, đức tin, tôn giáo, xuất thân, dân tộc, giới tính, xu hướng tìnhdục, và các khía cạnh khác liên quan.
* Cổ xúy hoặc kích động bạo lực
s Công kích, hạ nhục.
Trang 162.1 ĐỊNH NGHĨA VỀ BÌNH LUẬN XUC PHAM
khác.
Để nhận dạng được câu bình luận mang tính xúc phạm, các hệ thống cần phải
hiểu và trích xuất được các đặc trưng chính của một câu bình luận xúc phạm Theo.tác giả Fortuna và Nunes [5], cách tiếp cận đối với bài toán nhận diện bình luận xúcphạm kế thừa các phương pháp từ bài toán khai phá văn bản (text mining) Trong
bài toán khai phá văn bản, phân tích cảm xúc (sentiment analysis) là kỹ thuật cũngđược áp dụng khá thường xuyên nhằm rút trích và hiểu được cảm xúc của con người
từ văn bản.
Tuy nhiên, theo tác giả Schmidt và Wiegand [16], điểm khác biệt lớn nhất giữaphân tích cảm xúc và nhận diện bình luận xúc phạm là bài toán nhận diện bình luậnxúc phạm sẽ nghiên về dự đoán cảm xúc tiêu cực nhiều hơn so với bài toán phân loại
cảm xúc bình thường Cảm xúc tiêu cực được thể hiện qua sự thù ghét, công kích và
bạo lực được đề cập hoặc thể hiện trong ý nghĩa của câu bình luận
Bên cạnh đó, bài toán nhận diện bình luận xúc phạm sẽ có 2 dạng tiếp cận: dạngđơn tác vụ (single-step) và dang đa tác vụ (multi-step) Đối với bài toán đơn tác vụ,
kỹ thuật phân tích cảm xúc sẽ tìm ra số các đặc trưng về các cảm xúc tích cực và tiêucực trong câu bình luận để từ đó kết luận mức độ tiêu cực trong câu bình luận Đối
với bài toán đa tác vụ, kỹ thuật phân tích cảm xúc sẽ làm nhiệm vụ xác định cảm xúc
tiêu cực trong bài toán trước tiên, sau đó sẽ đi tìm các minh chứng để chứng minh sựxúc phạm trong câu bình luận dựa vào các tiêu chí đã đề cập Như vậy, bài toán nhận
điện bình luận xúc phạm sẽ sử dụng bài toán phân tích cảm xúc (sentiment analysis)
như là kỹ thuật hỗ trợ trong việc nhận diện các đặc trưng chính của các bình luận
xúc phạm Bài toán nhận diện bình luận xúc phạm, cũng như bài toán phân tích cảm
xúc đều dựa trên nên tảng là bài toán phân lớp văn bản (text classification)
Mặt khác, đối với bài toán nhận diện bình luận xúc phạm thì các bộ dữ liệu làmột trong các yếu tố rất quan trọng để có thể phân tích đặc điểm và xây dựng các
mô hình dự đoán các bình luận mang tính xúc phạm một cách tự động [5] Đối với
việc xây dựng bộ dữ liệu thì quy trình xây dựng bộ dữ liệu và hướng dẫn gán nhãn
(annotation guidelines) đóng vai trò quyết định đến chất lượng của một bộ dữ liệu[17, 16] Do đó, việc xây dựng bộ dữ liệu đóng vai trò quyết định đối với bài toán
Trang 17CHƯƠNG 2 CƠ SỞ LÝ THUYET
2.2 Bộ dữ liệu dùng cho bình luận xúc phạm
Dựa theo nhãn của bình luận trong bộ dữ liệu, chúng tôi chia ra làm hai loại: bộ dữ
liệu có nhãn phẳng (flat labels) và bộ dữ liệu có nhãn phân cấp (hierarchical labels) Đối với bộ dữ liệu có nhãn phẳng, thì mỗi câu bình luận sẽ chỉ thuộc về một nhãnnhất định nào đó trong tập nhãn, và các nhãn này là phân biệt với nhau, không cómối liên hệ Ngược lại, đối với các bộ dữ liệu có nhãn phân cấp, mỗi một nhãn banđầu sẽ có các nhãn con (sub-labels) để định nghĩa hoặc chỉ định một tính chất hay sựkiện liên quan đến nhãn chính Các nhãn con này có mồi liên hệ đối với nhãn cha.Theo tác giả Cerri và các đồng sự [18], các bộ dữ liệu có nhãn phân cấp sẽ thểhiện rõ hơn mối quan hệ giữa các đối tượng và thành phần trong câu bình luận đối
với nhãn chính Do đó, các bộ dữ liệu được xây dựng theo các nhãn phân cấp sẽ có
ngữ nghĩa rõ hơn so với các bộ dữ liệu được xây dựng theo dạng nhãn phẳng Lấy ví
dụ về bộ dữ liệu của tác giả Davidson và các đồng sự [8], bộ dữ liệu này thuộc dang
nhãn phẳng Mỗi bình luận trong bộ dữ liệu sẽ thuộc về một trong ba nhãn: hate
-nếu như câu bình luận có yếu tô xúc phạm, offensive néu như câu bình luận có yếu
tố tiêu cực, và clean néu như câu bình luận không có yếu tổ xúc phạm
Tuy nhiên, với bộ dữ liệu của tác giả Zamperi và các đồng sự [11], thì ngoài 2nhãn ban đầu là offensive - câu bình luận có tính xúc phạm, và non-offensive - câubình luận không xúc phạm, đối với nhãn offensive sẽ gồm 2 nhãn con là: target -
xúc phạm có chủ đích, và untarget xúc phạm không chủ đích Trong nhãn target
-xúc phạm có chủ đích, tác giả lại chia ra làm 3 nhãn con khác là: individual - -xúc
phạm cá nhân, group directed - xúc phạm đến tổ chức, và other - xúc phạm đến các
đối tượng khác như: tôn giáo, sự kiện, và cộng đồng Như vậy, đối với bộ dữ liệu
của tác giả Zampieri và các đồng sự [11], việc chia nhãn ban đầu là offensive thành
3 cấp khác nhau giúp cho bộ dữ liệu có ý nghĩa rõ ràng hơn so với bộ dữ liệu của tác
giả Davidson [8], khi mà một bình luận được xác định là xúc phạm trên nhiều yếu
tố khác nhau Tuy nhiên, đối với các bộ dữ liệu có nhãn phân cấp, việc xây dựng
hướng dẫn gán nhãn cũng như quy trình gán nhãn sẽ khó hơn so với các bộ dữ liệu
nhãn phẳng.
Trang 182.3 BÀI TOÁN PHAN LOẠI VĂN BAN
2.3 Bài toán phân loại văn bản
Bài toán phân loại văn bản được định nghĩa theo tác giả Aggarwal và Zhai [19] như
sau: Cho tập dữ liệu văn bản huấn luyện X = {x1,29, , z„}, với mỗi điểm dữ liệua; € X được gán một nhãn ¿; € {1 k} Dữ liệu huấn luyện được sử dụng để xâydựng một mô hình phân lớp M Mô hình M được dùng để dự đoán nhãn cho mộtđiểm dữ liệu mới chưa biết trước Mô hình phân lớp M được biểu diễn như sau:
0h X +b= (2.1)
Trong đó, w là trong số học, b là trong số tự do, X tập các văn bản đầu vào, y là tapnhãn ứng với mỗi văn bản Nhiệm vụ của mô hình phân lớp M là tìm kiếm một bộtham số tối ưu (w,b) sao cho, với một văn bản đầu vào chưa biết trước x’, khi di qua
mô hình M sẽ dự đoán ra được nhãn y’ của văn bản.
Hình 2.1! trình bày mô hình về phân loại văn bản, thuộc loại học máy có giám
sát Theo Hình 2.1, có 2 bước chính trong bài toán phân loại:
* Bước huấn luyện: Dữ liệu huấn luyện gồm văn bản đầu vào X được biến đổi
và trích xuất đặc trưng, cùng với nhãn y được đưa vào mô hình huấn luyện M
để huấn luyện
» Bước dự đoán: Dữ liệu dự đoán gồm văn bản đầu vào X’, sau khi qua bước
Trang 19CHƯƠNG 2 CƠ SỞ LÝ THUYET
biến đổi và trích xuất đặc trưng được dưa vào mô hình phân lớp M để dự đoánnhãn y'.
Để xây dựng mô hình huấn luyện, trên lĩnh vực nhận diện bình luận xúc phạm,
có các phương pháp máy học như sau: Phương pháp máy học truyền thống sử dụng
SVM [20] và Logistic Regression [21], các phương pháp học sâu [22] và phương
dang khác nhau để tạo thành các vector đặc trưng như sau:
* Bag of words: Kỹ thuật biểu diễn các văn bản dưới dạng một tập hợp các từ
(word) Các từ trong tập túi từ sau đó sẽ được gán một trọng số nhất định Cónhiều kỹ thuật khác nhau để đánh trọng số cho một từ Tuy nhiên, kỹ thuậtTF-IDF được giới thiệu bởi Salton và các đồng sự [23] được xem như kỹ thuậtphổ biến để đánh trọng số cho các từ
* Sequence: Kỹ thuật này sẽ biểu diễn các văn bản dưới dạng các chuỗi các từ
khác nhau Sự xuất hiện của một từ ở vi trí t sẽ phụ thuộc vào từ ở vị trí £ — 1trước đó Một chuỗi, ví dụ như ABCD sẽ được biểu diễn ở dạng một vector
<A,B,C,D>.
2.4 Quy trình xây dựng bộ dữ liệu
Đối với với các bài toán học máy có giám sát, đòi hỏi dữ liệu phải được gán nhãn
trước đó Việc gán nhãn dữ liệu được thực hiện một cách thủ công bởi con người.
Nhãn của dữ liệu sẽ quyết định bài toán đang giải quyết Tác giả Pustejovsky vàStubbs [17] đề xuất quy trình gán nhãn dữ liệu MATTER gồm 5 bước như Hình 2.2
Trang 202.4 QUY TRÌNH XÂY DỰNG BỘ DỮ LIỆU
Cải thiện \ Gin nhãn
Revise) (Annotate
Đánh giá
(Evalue (in Tel)
Hình 2.2 Quy trình MATTER [17].
*® M- Model: Mô tả bài toán và xây dựng hướng dẫn gán nhãn Trong hướng
dẫn gán nhãn cần trình bày ý nghĩa cụ thể của từng nhãn Các nhãn phải được
mô tả rõ ràng và tường minh nhằm hạn chế các nhập nhằng trong quá trình gánnhãn Ngoài ra, để minh họa cho các trường hợp khó, cần có thêm các ví dụ
cụ thể cho từng nhãn
* A - Annotate: Tiến hành thuê một nhóm các người gán nhãn và huấn luyện
cho người gán nhãn theo hướng dẫn gán nhãn Sau khi huấn luyện, những
người gán nhãn được cho gán nhãn trực tiếp trên dữ liệu Trong quá trình gánnhãn cần theo dõi để đảm bảo tiền độ cũng như độ đồng thuận của các ngườigán nhãn để có thể kịp thời chỉnh sửa và cập nhật hướng dẫn gán nhãn nếu cóvấn đề phát sinh Độ đo Cohen's Kappa [24] được sử dụng để đánh giá chất
lượng của hướng dẫn gán nhãn và quy trình gán nhãn thông qua việc đánh giá
độ đồng thuận (inter-annotator agreement - IAA) giữa các người gán nhãn vớinhau.
* T - Train và T - Test: Dữ liệu sau khi gán nhãn xong sẽ được sử dụng đề huấn
luyện các mô hình máy học nhằm đánh giá hiệu năng của các mô hình máy
học trên bộ dữ liệu Việc huấn luyện mô hình trên bộ dữ liệu sẽ chứng minh
được tính hiệu quả quy trình gán nhãn của bộ dữ liệu trong việc xây dựng mô.
hình máy học Đối với việc huấn luyện và kiểm thử, dữ liệu cần được phânchia thành các tập huấn luyện (training set), tập phát triển (development set),
Trang 21CHƯƠNG 2 CƠ SỞ LÝ THUYET
và tập kiểm tra (test set)
+ E- Evaluation: Sau khi đã huấn luyện mô hình, cần đánh giá các mô hìnhbằng các độ đo khác nhau Đối với bài toán phân lớp, các độ đo thường dùng
là: Precision, Recall, Accuracy va Fl score Ngoài ra, phân tích 16i (error
analysis) cũng là công đoạn quan trọng trong việc đánh giá hiệu nang của mô.
hình.
* R- Revise: Dựa vào kết quả thu được và kết qua phân tích lỗi để tiền hành cảitiến lại quy trình gán nhãn
Trong quy trình MATTER, còn có một chu trình con mô tả mối quan hệ giữa
mô tả bài toán và gán nhãn gọi là MAMA (Model-Annotate-Model-Annotate) Quy
trình MAMA thể hiện việc xây dựng hướng dẫn gán nhãn và gán nhãn là một vòng
lặp liên tục nhằm cải tiến chất lượng của quy trình gán nhãn
Bên cạnh đó, tác giả Finlayson và Erjavec [15] đã đề xuất việc cải thiện mô hình
MATTER hiện tại bằng cách thêm vào 3 bước: Ý tưởng (Idea), Công cụ (Procure)
và Phân phối (Distribute) Hình 2.3 mô tả quy trình MATTER cải tiến của Finlayson
và Erjavec Các bước cải tiền của quy trình MATTER gồm:
Chu trình MAMA
Ý tưởng Mô tả bài Công cụ Gán nhãn
(Idea) toán (Model) (Procure) (Annotate)
Cải thiện (Revise)
Công bố Đánh giá Huan luyện
(Distribute) (Evaluate) (Train/test)
Hinh 2.3 Quy trinh MATTER cai tién (Finlayson va Erjavec) [15]
Trang 222.4 QUY TRÌNH XÂY DỰNG BỘ DỮ LIỆU
cho bộ dữ liệu, cần phải lên ý tưởng cho bài toán, và tham khảo các công trình
trước đó về xây dựng dữ liệu có liên quan tới bài toán đang làm, từ đó kế thừahướng dẫn gán nhãn của các công trình trước cho dữ liệu sắp làm
* Công cu (Procure): Trước khi tiến hành gán nhãn, cần tham khảo các công
cụ gán nhãn hiện có hỗ trợ cho bài toán, hoặc là tự xây dựng các công cụ
gan nhãn riêng cho bài toán đang làm Google trang tính (Google sheet) là
một trong những công cụ đơn giản, được sử dụng rất phổ biến có thể hỗ trợcho việc gán nhãn đối với các bài toán đơn giản như phân lớp văn bản (text
classification) Ngoài ra, các công cụ như Label Studio”, Doccano là hai
công cụ mã nguồn mở hỗ trợ gan nhãn cho nhiều bài toán phức tạp hơn như:
phân loại ảnh (image classification), phân đoạn ảnh (image segmentation), gan
nhãn chuỗi (sequence labeling), và hỗ trợ xây dựng hướng dẫn gán nhãn trực
tiếp trên công cụ
Fair dramaflove story movie that focuses on the lives of blue collar people finding
"new life thru new love The acting here is good but the film fll in
cinematography.screenplay.drecting and editing The story/scrint is only average
at best This film willbe enjoyed by Fonda and De Niro fans and by people who
love middle age love stores where inthe coartship ison a more wiser and
subject matter regarding literacy.
Hình 2.4 Giao diện công cu gan nhãn Doccano cho bài toán phân loại cảm xúc
* Công bố (Distribute): Sau khi dữ liệu đã được gan nhãn và đạt được chất lượngmong muốn, dữ liệu sẽ được công bồ cho cộng đồng thông qua các trang chia
sẻ dữ liệu Một số nền tảng chia sẻ dữ liệu nổi tiếng là Kaggle* và UCI Š
*https://labelstud.io/
3https://github.com/doccano/doccano
https: //www.kaggle.com/
Shttps://archive.ics.uci.edu/ml/datasets.php
Trang 23CHƯƠNG 2 CƠ SỞ LÝ THUYET
2.5 Vector biểu diễn từ cho văn bản
Trước khi đưa vào mô hình huan luyện, các văn bản thô phải được đưa dạng các mô
hình chuỗi (sequence) để có thể xử lý Mô hình chuỗi (sequence model) có dạng
một danh sách có thứ tự gồm các phan tử như sau: X =< z\,zs zr >, với T là
độ dài của chuỗi Các phan tử x; X có thể là một giá trị cụ thể, hoặc thậm chí làmột vector Đối với bài toán phân loại, mỗi chuỗi sẽ chỉ mang một giá trị nhãn nhất
định [25]
Ví dụ 1: Câu bình luận "Sao t gửi đc bây" được mô hình về dạng chuỗi như sau:
Bảng 2.1 Minh hoạ về mô hình chuỗi cho một câu bình luận trong bộ dữ liệu
Tokens | Sao | t | gửi | đc | bây
xX mì |#2 | #3 | 24] #s
Các vector biểu diễn từ là một công cụ quan trọng trong xử lý ngôn ngữ tự nhiên,
giúp thể h én được ý nghĩa của một từ đối với ngữ cảnh (context) xung quanh nó
Ngữ cảnh ở đây có thể là một câu, một từ, hay thậm chí là một đoạn văn bản hay một
miễn tri thức cụ thể (ví dụ: miền tri thức về báo chí, miền tri thức về đánh giá sảnphẩm điện thoại, miền tri thức về bình luận trên mang xã hội, ) Thao tác chuyểnmột từ (hay một tiếng) thành một vector trong một không gian ngữ cảnh cụ thể được
gọi là nhúng từ (word embedding).
Để xây dựng được các vector biểu diễn từ, trước tiên phải xây dựng được tập từ
vựng Tập từ vựng được xây dựng dựa trên các văn bản trong bộ dữ liệu ban đầu
Dé chuyển văn bản thô ban đầu thành danh sách các từ vựng (như trong Bang 2.1),cần phải dùng đến các công cụ tách từ (word segmentation) Đối với ngôn ngữ tiếng
Việt, có các bộ tách từ sau được sử dụng: pyvi5, VnCoreNLP [26], RDRSegmenter[27], và Underthesea’
Sau khi đã chuyển văn bản thô thành danh sách các từ, các từ trong văn ban sẽđược chuyển thành vector có số chiều nhất định Các giá trị trọng số của vector thể
hiện mức độ quan trọng của từ đó trong một ngữ cảnh cụ thể Có 2 dạng vector
khi biểu diễn cho một từ bao gồm: vector thưa (sparse vector) và vector đầy (dense
Trang 242.5 VECTOR BIỂU DIỄN TỪ CHO VĂN BAN
vector) Theo Jurafsky và Martin [28], vector dầy (dense vector) sẽ biểu diễn đượcngữ nghĩa của từ tốt hơn so với vector thưa Các phương pháp dùng để tính toán
trọng số của từ bao gồm: TF-IDF va cosine similarity [23, 29], Skipgram và CROW
[30] Tập hợp các vector của các từ trong tập từ vựng sau khi biểu diễn thành vector
được gọi là bộ vector nhúng từ (word embeddings).
Ví dụ 2: Câu bình luận "Sao t gửi đc bây" ở Ví dụ 1 được chuyển thành dạng
vector đặc trưng như Hình 2.5 Ứng với mỗi từ trong câu bình luận sẽ có một vectorgồm các giá trị v1, v2, vp, với D là số chiều của vector trong bộ vector nhúng từ.Như vậy, đối với văn bản đầu vào, sau khi được tách từ, mỗi từ sẽ được ánh xạ vào.một vector cụ thể trong bộ vector nhúng từ (word embeddings) Kết quả cuối cùng
sẽ là một ma trận gồm các vector nhúng từ, mỗi vector thể hiện cho mỗi từ trong văn
bản Hình 2.5 minh hoạ tác vụ mã hoá văn bản đầu vào thành các vector đặc trưng
Các vector đặc trưng này sẽ được đưa vào mô hình phân lớp để huấn luyện và dự
đoán.
Hình 2.5 Trích xuất đặc trưng của một câu bình luận thành một Vector
Để xây dựng ma trận vector biểu diễn từ cho văn bản, có hai cách như sau:
* Xây dựng bộ vector biểu diễn từ (word embeddings) từ bộ dữ liệu dùng dé
huấn luyện cho tác vu/bai toán hiện tại Tuy nhiên, các bộ dữ liệu dùng chocác tác vụ cụ thể thường có kích thước giới hạn, không đủ lớn để huấn luyện
Trang 25CHƯƠNG 2 CƠ SỞ LÝ THUYET
cho các mô hình học sâu để có thể nắm bắt được ngữ nghĩa của các từ Hơn
nữa, việc huấn luyện các bộ vector biểu diễn từ trên bộ dữ liệu có kích thướcgiới hạn thường sẽ dễ xảy ra tình trạng quá khớp (overfiting) khi áp dụng vào
dữ liệu thực tế do tính đa dang của dữ liệu [31]
* Sử dụng bộ vector biểu diễn từ được xây dựng sẵn (pre-trained word dings) Các bộ vector biểu diễn từ này thường được huấn luyện trên các bộ
embed-dữ liệu có kích thước lớn và rất lớn (thường từ vài triệu cho tới vài tỉ) Trên
dữ liệu tiếng Việt có các bộ vector biểu diễn từ được xây dựng sẵn của tác giảXuan-Son Vu và các đồng sự [32] trên miền dữ liệu Wikipedia tiếng Việt, bộvector biểu diễn từ của tác giả Grave và các đồng sự [33] được xây dựng trênmiền dữ liệu Wikipedia và Common Crawl với hơn 157 ngôn ngữ (bao gồm cảtiếng Viét), và PhoBERT [34]
Trong dé tài này, chúng tôi sử dụng bộ vector biểu diễn từ của tác giả Grave
và các đồng sự [33] để huấn luyện cho các mô hình học sâu (được trình bày trongChương 4) do bộ vector biểu diễn từ này cho kết quả tốt hơn so với các bộ vector
biểu diễn từ còn lại khi thử nghiệm cho cùng bài toán nhận diện bình luận xúc phạm
trên tiếng Việt trong công trình của tác giả Huynh và các đồng sự [35]
2.6 Độ đo đánh giá
Các mô hình phân lớp sau khi được huấn luyện sẽ được dùng để dự đoán nhãn cho
dữ liệu đầu vào Dé đánh giá được một mô hình phân lớp có tốt hay không, ta sẽ sosánh kết quả dự đoán bao gồm các nhãn được dự đoán bởi mô hình phân lớp và kếtquả thực (gold label) của dữ liệu dựa trên các độ đo cụ thể để kết luận độ hiệu quảcủa mô hình phân lớp Theo Jurafsky và Martin [28], đối với các bài toán phân lớp,
có 2 độ đo chính dùng để đánh giá mô hình là: Precision va Recall
Ý nghĩa của độ đo Precision là khả năng dự đoán chính xác của mô hình đối vớimột nhãn trên tổng số nhãn dự đoán được Còn Recall là khả năng dự đoán chínhxác của mô hình đối với một nhãn trên tổng số nhãn thực tế của dữ liệu Accuracy
Trang 262.6 ĐỘ ĐO ĐÁNH GIÁ
nghĩa của các độ đo trên bộ dữ liệu, chúng tôi sử dụng ma trận nhầm lẫn (confusion
matrix) như sau:
Bảng 2.2 Ma trận nhầm lẫn đối với 3 nhãn trên bộ dữ liệu
Nhãn thật clean | offensive | hate
Dé do lường khả năng dự đoán chính xác của mô hình, độ do Accuracy được sử
dụng, bằng cách tính xác suất số lượng các nhãn được dự đoán đúng của mô hìnhtrên tổng số dữ liệu dự đoán Độ đo Accuracy được trình bày theo công thức 2.4.Tuy nhiên, theo Jurasky và Martin [28], đối với các bài toán mà dữ liệu bị mất cânbằng ở các nhãn, thì độ đo Accuracy không thể hiện được hết khả năng dự đoánchính xác của mô hình Do đó, đối với các bộ dữ liệu bị mắt cân bằng giữa các nhãn,
độ đo FI được sử dụng để đo lường hiệu suất dự đoán của mô hình trên từng nhãn
Độ do FI được trình bày trong công thức 2.5.
Trang 27CHƯƠNG 2 CƠ SỞ LÝ THUYET
precisionclean + precisionos [ensiue + precisionnate
Trang 28Chương 3 XÂY DỰNG BỘ DỮ LIỆU
Trong chương này, chúng tôi mô tả chỉ tiết quá trình xây dựng bộ dữ liệu của
chúng tôi Quá trình xây dựng bộ dữ liệu được tham khảo từ quy trình MATTER,
trong đó gồm các bước chính như: mô tả bài toán, xây dựng hướng dẫn gán nhãn,quy trình gán nhãn và phương pháp tính độ đồng thuận giữa các người gán nhãn đểđảm bảo chất lượng của quy trình gán nhãn Kết thúc quá trình xây dựng bộ dữ liệu,chúng tôi có được bộ dữ liệu sẵn sàng để huấn luyện và đánh giá trên các mô hìnhmáy học.
3.1 Mô tả bài toán phát hiện câu bình luận có xúc phạm
Bài toán phát hiện tự động câu bình luận có xúc phạm được mô tả như sau: Cho mộtbình luận bất kỳ từ các trang mạng xã hội, hãy dự đoán xem bình luận đó có mang
yếu tố xúc phạm hay không, từ đó đưa ra các biện pháp thích hợp cho các bình luậnnhư xoá bỏ, ẩn bình luận hoặc cắm người dùng của bình luận đó tham gia vào cuộc
trao đổi trên không gian mạng
Input: Một câu bình luận cu thể
Output: Nhãn của câu bình luận, thuộc một trong 3 nhãn: bình thường (clean),
tiêu cực (offensive) và xúc phạm (hate).
Ví dụ:
Input: "M thật quá đáng !"
Output: Bình thường (clean).
Để có thể huấn luyện cho mô hình nhận diện các bình luận có xúc phạm hay
không, dữ liệu huấn luyện cho mô hình cần phải được gán nhãn Đối với bài toánnhận diện câu bình luận xúc phạm tự động trên tiếng Việt, chúng tôi tham khảo
nhãn từ bộ dữ liệu tương tự trên tiếng Anh là bộ dữ liệu nhận diện bình luận độc hại
tự động của Davidson và các đồng sự [8] và bộ dữ liệu tiếng Việt trước đó của tác
giả Xuan-Son Vu [3] để xây dựng bộ nhãn cho việc phân loại bình luận xúc phạm
Có tổng cộng 3 nhãn gồm: bình thường (CLEAN), tiêu cực (OFFENSIVE) và xúc
phạm (HATE) Ý nghĩa của 3 nhãn này sẽ được trình bày chỉ tiết trong phần Hướng
dẫn gán nhãn
Trang 29CHƯƠNG 3 XÂY DỰNG BO DU LIEU
Luận văn chọn 2 nguồn chính để thu thập dữ liệu là Facebook và Youtube, vì
đây là hai mang xã hội được người Việt Nam sử dụng phổ biến nhất (theo trang webStatista! Luận văn chọn các trang Facebook và Youtube có nhiều lượt tương tác đểthu thập các bình luận của người dùng Sau khi thu thập, để đảm bảo quyển bảo
mật và riêng tư của người dùng, chúng tôi loại bỏ user_id và tên tài khoản (account
name) của các bình luận, chỉ giữ lại nội dung câu bình luận.
3.2 Xây dựng bộ dữ liệu
3.2.1 Công cu gan nhãn
Chúng tôi sử dụng Google Trang tính ? (Google Sheet) để làm công cụ gán nhãn
Dữ liệu trong trang tính được tổ chức thành từng tập tin bảng tính khác nhau Chúng
tôi chia dữ liệu ban đầu ra làm 4 phần và tiến hành gửi từng phần cho từng người gánnhãn khác nhau Sau khi gán xong, chúng tôi tổng hợp lại các tập tin bảng tính đểtạo thành bộ dữ liệu hoàn chỉnh Trong mỗi tập tin bảng tinh, dữ liệu văn bản về các
bình luận được tổ chức thành từng dòng như trong Hình 3.1 Mỗi người gán nhãn sẽ
gán nhãn trực tiếp trong tập tin bảng tính
Trang 303.2 XÂY DỰNG BỘ DỮ LIỆU
3.2.2 Hướng dẫn gán nhãn
Trong bộ dữ liệu, mỗi câu bình luận sẽ được gán thành một trong ba nhãn như sau:
bình thường (CLEAN), tiêu cực (OFFENSIVE) va HATE (xúc phạm) Ý nghĩa chỉtiết của từng nhãn được trình bày như sau:
* CLEAN: Nhãn bình thường Bình luận thuộc nhãn này là các bình luận sạch,
không chứa các từ nhạy cảm, thô tục và mang hàm ý xúc phạm người khác.
Ví dụ: câu bình luận M.n ơi cho mik hỏi mik theo déi cô mà mik hk pit cô
là con gái thiệt hả m.n là câu bình luận thuộc nhãn bình thường, do câu này
không chứa các từ ngữ hay nội dung mang yếu tố xúc phạm hay kích động thù
han
* OFFENSIVE: Nhãn tiêu cực Bình luận thuộc nhãn này là các bình luận có
chứa các từ mang nội dung nhạy cảm như chửi thể, nói tục, nhưng không ámchỉ đến một cá nhân hay tổ chức nào
Vi dụ: câu bình luận Hủy cái dmm :v là câu bình luận mang tính chất tiêu cực,
do trong câu bình luận có chứa cum từ cái dmm mang ý nghĩa thù ghét, tiêu
cực Tuy nhiên, câu bình luận này không đề cập đến một người hay tổ chức nào
cụ thể Mặt khác, câu bình luận Cay vi nhi kk là câu bình luận cũng mang tính
chất tiêu cực do có chứa từ vi mang nội dung tục tiu và gây rối, nhưng không
dé cập đến đến một người hay đối tượng cu thể
¢ HATE: Nhãn xúc phạm Bình luận thuộc nhãn nay là các bình luận có tính
chất xúc phạm, miệt thị người khác Đây là các bình luận xấu, độc hại, có ảnhhưởng đến môi trường trong sạch của mạng xã hội Có 3 trường hợp xảy ra chobình luận dạng này:
Trường hợp 1: Bình luận dùng các từ ngữ thô tục, nhạy cảm và xúc phạm
trực tiếp đến một cá nhân hay tổ chức
Ví dụ: Câu bình luận Con bé này nên xuống địa ngục quá tém là câu bình luận
xúc phạm, do có chủ thé con bé đề cập đến một người cu thể, và có yếu tố kíchđộng thù hằn, xúc phạm thông qua cụm từ nén xudng địa ngục Mặt khác, câu
Trang 31CHƯƠNG 3 XÂY DỰNG BO DU LIEU
bình luận Một lữ ăn bám là câu bình luận xúc phạm do có yếu tố kích động thù
han thông qua cụm từ dn bám và dé cập trực tiếp đến một nhóm người cụ thểthông qua cum từ ii người.
Trường hợp 2: Bình luận có ý xúc phạm và miệt thị, nhưng được thể hiệnmột cách ẩn ý, không dùng các từ thô tục và nhạy cảm
Ví dụ: Câu bình luận <tén người> khi bạn cmt nhưng lại quên lắp não :v làcâu bình luận có tính xúc phạm, do có đề cập đến một chủ thể là bạn, và cụm
từ mang ý nghĩa công kích là quén lắp não Tuy nhiên, cụm từ công kích nayđược thể hiện dưới dạng ẩn ý
Trường hợp 3: Bình luận có ý xúc phạm và miệt thị người khác, nhưngđược thể hiện dưới dạng ẩn dụ Đây là trường hợp khó nhận biết do người đọccần kiến thức và kinh nghiệm để phát hiện được ý nghĩa xúc phạm được ẩntrong câu bình luận.
Ví dụ: câu bình luận Bơm chủ nghĩa dân tộc như bơm ma túy Càng ngày càng
nhiễu, ngày càng trầm trọng là câu bình luận xúc phạm, nhưng được thể hiện
dưới dạng ẩn dụ
Bên cạnh đó, Bang 3.1 trình bày một số ví dụ khác về việc gan nhãn cho các câubình luận trong bộ dữ liệu dựa theo các tiêu chí như đã đề cập trong hướng dẫn gánnhãn.
Trang 323.2 XÂY DỰNG BỘ DỮ LIỆU
Bảng 3.1 Một số bình luận ví dụ thuộc các nhãn trong bộ dữ liệu
STT | Bình luận Nhãn
1 | M.n ơi cho mik | CLEAN Bình luận này không có ý xúc phạm
hỏi mik theo dõi hay chỉ trích bất cứ ai, và trong bình
cô mà mik hk luận cũng không có các từ mang ý
pít cô là con gái nghĩa thô tục hay độc hại.
thiệt hả m.n
2_ | Do khing OFFENSIVE | Bình luận này được phân loại thành
tiêu cực vì, trong bình luận, có một
từ mang ý nghĩa tiêu cực là “khàng” Tuy nhiên, câu bình luận này hoàn toàn
không ám chỉ hay xúc phạm đến một
cá nhân hay tổ chức nào
3 | Dm Co a mới | HATE Bình luận này được phân loại thành
không ổn Mày nhãn xúc phạm vì có chứa các từ nhạy
rình mày chịch cảm và tiêu cực như Dm, chịch và
riết ổn cái lol cái lol, và xúc phạm trực tiếp đến một
cá nhân cụ thể
4 |G đấy ngột ngạt | HATE Bình luận này được phân loại thành
quá thì đưa nó nhãn xúc phạm vì có ý nghĩa tiêu cựcqua <LOC> cho về phân biệt vùng miền Mặc dù câu
nó thoáng mát bình luận này không chứa những từ
nhạy cảm, nhưng lại mang ý nghĩa xúc
phạm kỳ thị vùng miễn, và ý nghĩa nàykhông được thể hiện tường minh
Sau khi đã xây dựng xong hướng dẫn gán nhãn, chúng tôi tiến hành chọn mộtnhóm các người gán nhãn, và bắt đầu xây dựng quy trình gán nhãn dữ liệu.
3.23 Quy trình gán nhãn
Quy trình gán nhãn cho bộ dữ liệu gồm 2 bước chính, được mô tả trong Hình 3.2:
* Bước 1: Huấn luyện Ở bước này, các người gán nhãn sẽ đọc hướng dẫn gannhãn, và tiến hành gán trên một mẫu khoảng 300 câu bình luận được lấy rangẫu nhiên từ bộ dữ liệu Mỗi người gán nhãn sẽ gán độc lập trên 300 câu Đểđánh giá chất lượng gán nhãn của các người gán nhãn, chúng tôi sử dụng độ
đo Cohen’s Kappa (x) [24] để đo độ đồng thuận của các cặp người gán nhãn.Nếu độ đồng thuận quá thấp, chúng tôi sẽ tiền hành cập nhật lại hướng dẫn gánnhãn, và phổ biến lại cho người gán nhãn để họ gán tốt hơn ở lần sau Theo tác
Trang 33CHƯƠNG 3 XÂY DỰNG BO DU LIEU
giả Eugenio [36], độ do Kappa trên 0.5 được coi là chấp nhận
'Ð din gin nhãn ~ ‘Pha hudn luyện người gắn nhãn
Tiga gin nhấn mẫn
—— | (@ing dé hain uyện dữ |_-] Tínhtoánđộ đồng thuận
it Tiêu gia nhấn)
Người gán nhãn
Huấn luyện lại những người gắn nhãn Chưa đạt
Có “Xuất hiện) Có “Xuất hiện Gin đề en bộ
(in nhân nhấn khác Gần nhãn nhãn khác Gin đồng loạt trên bộ dt
nhau? nhạy? liệu
Độ đẳng thuận đạt yêu cầu?
"ha tiến hành gán nhãn 2 người gan nhãn N
Hình 3.2 Quy trình thực hiện gan nhãn cho bộ dữ liệu.
* Bước 2: Gan nhãn Bước này sẽ tiến hành cho các người gán nhãn gán đồngloạt trên toàn bộ dữ liệu Chúng tôi cho các người gán nhãn lần lượt gán nhãn
cho các câu bình luận trong bộ dữ liệu Các người gán nhãn gán độc lập với
nhau Nếu một câu bình luận có 2 người gán nhãn cùng gán một nhãn, thìchúng tôi công nhận nhãn đó cho câu bình luận Ngược lại, nếu hai người gán
hai nhãn khác nhau cho câu bình luận, chúng tôi sẽ cho người gán nhãn thứ bagán nhãn cho câu bình luận Kết quả cuối cùng sẽ được xác định theo phươngpháp lấy kết quả theo đa số (major voting) Trong trường hợp cả ba người gánnhãn déu gan nhãn khác nhau cho một câu bình luận, chúng tôi sẽ cho mộtngười gán nhãn thứ tư vào gán nhãn cho câu bình luận đó Nhãn cuối cùng cho.câu bình luận sẽ lấy theo số đông của cả bốn người gán nhãn Bằng phương
pháp này, chúng tôi đảm bảo mỗi câu bình luận được gán nhãn khách quan, và
không bị thiên kiến bởi người gán nhãn
3.2.4 Độ đồng thuận trong gán nhãn
Trang 343.2 XÂY DỰNG BỘ DỮ LIỆU
lượng của bộ dữ liệu phụ thuộc vào người gán nhãn và quy trình gán nhãn Để đánh
giá chất lượng của quy trình tạo dữ liệu, chúng tôi sử dụng độ đo Cohen’s Kappa («)
để đánh giá độ đồng thuận của 2 người gán nhãn (giả sử 2 người gán nhãn cùng gán
độc lập) Công thức Cohen’s Kappa được mô tả như sau:
@.1)
Trong đó:
* po: Xác suất để 2 người gán nhãn cùng gán một nhãn giống nhau (xác suấtđồng thuận)
* pe: Xác suất gán nhãn đúng trên một nhãn.
Để minh hoạ rõ hơn cho việc tính độ đồng thuận, chúng tôi lấy ví dụ về phần gánnhãn giữa 2 người gán nhãn trên mẫu dữ liệu gồm 202 điểm dữ liệu như sau Giả sử
2 người gán nhãn được đánh ký hiệu lần lượt là A và B Bảng 3.2 thống kê số lượng
dé liệu đồng thuận và bat đồng thuận giữa 2 người gán nhãn như sau:
Bảng 3.2 Thống kê số lượng dữ liệu theo từng nhãn giữa 2 người gán nhãn
Aclean | offensive | hate
Xác suất gán nhãn theo từng nhãn được tính như sau:
Pe = Pelean + Pof fensive + Phate
Trang 35CHƯƠNG 3 XÂY DỰNG BO DU LIEU
trình bay trong Bảng 3.3 Lay trung bình độ đồng thuận của các cặp người gan nhãn,chúng tôi thu được độ đồng thuận trên bộ dữ liệu là: « = 0.53
Bảng 3.3 Độ đồng thuận thu được giữa các cặp người gán nhãn
Al) A2 | A3 | A4
All - | 0.46| 0.51 | 0.65
A2] - - 0.47 | 0.53 AB; - | - | - | 055
A4l- | - | -
|-Theo thang đo của tác giả Landis và Koch [37], độ đồng thuận của bộ dữ liệu ởmức vừa phải (Moderate), và ở mức được chấp nhận theo tác giả Eugenio [36]
3.2.5 Thảo luận
Trong quá trình gan nhãn cho các câu bình luận, chúng tôi nhận thay đặc điểm của
các câu bình luận trên mạng xã hội của người dùng khác so với ngôn ngữ chính quy
thường dùng, và tạo ra các thách thức nhất định trong quá trình gán nhãn Các thách
thức cụ thể như sau:
1 Dữ liệu chứa rất nhiều từ viết tắt, những từ láy, và tiếng lóng Ví dụ như các
từ "k", "Mik", D.m, cái lol, hay là chịch Đây là những từ thường chỉ xuất hiệntrên mạng xã hội Do đó, để nhận biết được các từ trên, những người gán nhãncần phải biết được ý nghĩa của các từ trên
2 Trong một số trường hợp, chủ thể đề cập đến trong câu bình luận cần phải dựavào ngữ cảnh cụ thể trong bài viết hoặc trước đó mới có thể hiểu được chủ thể
3 sân hà ậ Án đà on
mà câu bình luận muôn đề cập.
3 Một số câu bình luận xúc phạm được thể hiện không tường minh Người viếtbình luận cố ý che giấu các câu từ có ý nghĩa xúc phạm, và thể hiện nó dướidạng ẩn dụ, hoặc cách nói so sánh Đây là dạng bình luận xúc phạm khó Để
có thể nhận biết và gán nhãn các câu bình luận loại này đòi hỏi người gán nhãnphải đọc kỹ, và thậm chí phải có kiến thức về mạng xã hội mới có thể nhận
Trang 363.2 XÂY DỰNG BỘ DỮ LIỆU
Bảng 3.4 Một số bình luận khó gán nhãn trong bộ dữ liệu
# | Bình luận
Thich chửi k ông già
Phang cho chiéc dép bây h
Vi pr cho game ma chửi học trò chắc đập ông quá ba gà
M chửi học trò ?
w]e]
ale
Dựa theo các câu bình luận ở Bang 3.4, rất dé nhận thấy rằng, các câu bình luận
số 1 và số 2 có yêu tố của ngôn từ xúc phạm Tuy nhiên, đối tượng lại không được
dé cập cụ thể trong câu Điều này dẫn đến sự nhập nhằng khi gán nhãn giữa nhãnoffensive và hate do không thể xác định được rõ ràng đối tượng xúc phạm Điều nàycho thấy rằng, sự xuất hiện của ngữ cảnh có vai trò nhất định trong việc xác địnhchủ thể hay đối tượng xúc phạm mà các câu bình luận nhắm vào
Để xem xét sự ảnh hưởng của ngữ cảnh trong quá trình gán nhãn đến độ đồngthuận của những người gán nhãn, chúng tôi tiến hành thu thập 206 bình luận trênmạng xã hội, cùng với nội dung của bài viết kèm theo Sau đó, chúng tôi tiến hànhcho cả 4 người gán nhãn độc lập nhau, và tính độ đồng thuận trên từng cặp ngườigán nhãn với nhau Bảng 3.5 trình bày độ đồng thuận giữa những người gán nhãnvới nhau khi gán nhãn có yêu tố ngữ cảnh từ nội dung bài viết kèm theo
Bảng 3.5 Độ đồng thuận thu được giữa các cặp người gán nhãn khi có yếu tổ ngữcảnh từ bài viết
Al | A2 | A3 | A4
Al | - | 0.50 | 0.57 | 0.52
A2] - - | 0.50 | 0.65
A3] - - - | 0.52 A4] - - - -
Độ đồng thuận cuối cùng thu được giữa các cặp người gán nhãn với nhau là
„ = 0.54 Như vậy, độ đồng thuận giữa những người gan nhãn với nhau có cải thiện
khi thêm vào yếu tố ngữ cảnh là bài viết chứa các bình luận Mặc dù sự cải thiện về
độ đồng thuận là không nhiều, ngữ cảnh lại đóng vai trò quan trọng trong việc gán
nhãn cho các bình luận, đặc biệt là trong quá trình gán nhãn cho các bình luận xúc
phạm [38] Theo tác giả Pavlopoulos và các đồng sự [38], ngữ cảnh có ảnh hưởng
Trang 37CHƯƠNG 3 XÂY DỰNG BO DU LIEU
dén quá trình gán nhãn, không ảnh hưởng tới hiệu năng của các mô hình phân lớp
cho bài toán nhận diện bình luận xúc phạm.
Mặt khác, để có thể cải thiện độ đồng thuận của bộ dữ liệu hiện tại, cần phải tiếptục huấn luyện lại những người gán nhãn, và cập nhật lại hướng dẫn gán nhãn hiệntại để xử lý cho các trường hợp khó theo quy trình MAMA để có thể đạt được chấtlượng gán nhãn tốt hơn
3.3 Bộ dữ liệu
Bộ dữ liệu về bình luận xúc phạm trên mạng xã hội gồm 33,400 câu bình luận, mỗi
câu bình luận được gán một trong ba nhãn: bình thường (clean), tiêu cực (offensive)
và xúc phạm (hate) Bảng 3.6 trình bày một số ví dụ về các câu bình luận đã được
gan nhãn trong bộ dữ liệu của chúng tôi.
Bảng 3.6 Một số ví dụ về bình luận đã được gán nhãn trong bộ dữ liệu
# Bình luận Nhãn
1 | Nhanh thực sự sẽ ] Ẳ clean
2_ | Dm chứ biết làm gì offensive
3 | Nó học cách của thằng anh nó đó, hèn, khôn nạn hate
4 | <person name> người ư? sinh vật hạ dang chứ ngươi ai lam | hate
thế
5 | Dm vel offensive
6 | Toang qua thay ơiiii :))) clean
Bảng 3.7 trình bày các thông số tổng quan trên bộ dữ liệu, bao gồm số lượngbình luận, số lượng từ vựng và độ dài trung bình ở từng nhãn Từ vựng trong bộ dữ
liệu của chúng tôi được tính dựa trên đơn vị là từ Độ dài trung bình ở mỗi nhãn
được tính bằng cách lấy tổng số từ vựng chia cho tổng số câu trong bộ dữ liệu.
Dựa theo Bảng 3.7, chúng tôi nhận thấy rằng, đa phần các câu bình luận đều tập
trung về nhãn bình thường (clean) Điều này cho thấy bộ dữ liệu bị lệch về nhãn
clean rất nhiều Tuy nhiên, độ dài trung bình của các câu bình luận có tính xúcphạm (hate) lại nhiều hơn so với các câu bình luận bình thường (clean) và tiêu cực(offensive).
Trang 383.3 BỘ DỮ LIỆU
Bang 3.7 Thống kê một số đặc điểm về câu bình luận trên bộ dữ liệu
Nhãn clean | Nhãn offensive | Nhãn hate | Tổng cộng
Số lượng bình luận | 27,624 2,262 3,514 33,400
So lượng từ vung 25,802 5,366 9,565 29,183
DO dai trung binh | 44.82 44.11 84.16 48.91
câu bình luận
Ngoài ra, chúng tôi tiến hành phân chia bộ dữ liệu của chúng tôi ra làm 3 tập
khác nhau: tập huấn luyện (train), tập phát triển (development) và tập kiểm tra (test)theo tỉ lệ 7-1-2 Việc phân chia này đảm bảo tỉ lệ phân bố giữa các nhãn trong mỗitập dữ liệu như mô tả trong Hình 3.3 và tỉ lệ phân bé theo độ dài câu bình luận như
mô tả trong Hình 3.4 Bên cạnh đó, chúng tôi cũng thống kê đặc điểm về từ vựngtrên từng tập huấn luyện, tập phát triển và tập kiểm tra bằng công cụ Wordcloud.Theo Hình 3.5, tập từ vựng giữa 3 tập huấn luyện, tập phát triển và tập kiểm thử làtương đương nhau Như vậy, việc phân chia dữ liệu vẫn đảm bảo các tập huấn luyện,tập phát triển và tập kiểm tra có cùng phân phối
Dữ liệu sau khi đã phân chia thành các tập huấn luyện, phát triển và kiểm tra sẽđược sử dụng để đánh giá các mô hình máy học Kết quả đánh giá các mô hình máy
học trên bộ dữ liệu sẽ được trình bày trong Chương 5.
Trang 39CHƯƠNG 3 XÂY DỰNG BỘ DỮ LIỆU
Train Dev Test
label_id label_id label_id
Hình 3.4 Phân bồ dữ liệu theo độ dài câu bình luận trên tập huấn luyện, tập pháttriển và tập kiểm tra
Hình 3.5 Wordcloud trên các tập huấn luyện, phát triển và kiểm tra
Trang 40Chương 4 PHƯƠNG PHÁP MÁY HỌC DÙNG CHO BÀI
TOÁN NHẬN DIỆN BÌNH LUẬN XÚC PHAM
Trong chương này, chúng tôi trình bày các mô hình máy học dùng cho bài toán
phân lớp văn bản như đã đề cập ở Chương 2 Các mô hình máy học được chia thànhhai loại: các mô hình học sâu sử dụng mạng neural, và các mô hình học chuyển tiếp.Các mô hình học sâu bao gồm TextCNN và GRU Đối với mô hình học chuyển tiếp,chúng tôi chọn mô hình BERT và các biến thể của nó như DistilBERT và XLM-
R, và được huấn luyện trên 2 dạng: mô hình được huấn luyện sẵn trên dữ liệu đangôn ngữ (multilingual) và mô hình được huấn luyện sẵn trên dữ liệu don ngôn ngữ
(monolingual) được huấn luyện trên văn bản tiếng Việt Ngoài ra, để khắc phục tìnhtrang mất cân bằng dữ liệu, chúng tôi thử nghiệm và đánh giá hai phương pháp làphương pháp tăng cường dữ liệu (data augmentation) và phương pháp mô hình kếthợp (ensemble model).
4.1 Các mô hình học sâu cho phân loại văn bản
4.1.1 Mô hình TextCNN
Mô hình học sâu được giới thiệu vào năm 2014 bởi tác giả Kim [39] Đây là một mô
hình mang neural tích chập (CNN) dùng cho bài toán phân loại văn bản Hình 4.1
mô tả kiến trúc của mô hình TextCNN Các lớp chính của mô hình gồm:
* Lớp biểu diễn câu: Biểu diễn các câu bình luận từ văn bản thành dạng cácvector với số chiều cố định Để biểu diễn các câu bình luận thành văn bản,chúng tôi sử dụng bộ vector nhúng từ được huấn luyện sẵn của tác giả Grave
và các đồng sự [33] để biểu diễn Số chiều của vector theo bộ vector nhúng từtrên là 300.
* Lớp tích chập: Trích xuất các đặc trưng của câu thông qua các bộ loc (filters)với kích thước nhất định Các đặc trưng sau khi đã được trích xuất qua bộ lọc
sẽ được chuyển thành các ma trận đặc trưng (feature maps)
+ Lớp Pooling: Trích xuất ra các đặc trưng quan trọng nhất trong văn bản bằngcách lây ra giá trị lớn nhất từ các ma trận đặc trưng Mục tiêu của lớp Pooling