Mục tiêu và phạm vi nghiên cứuMục tiêu và phạm vi nghiên cứu Mục tiêu của bài báo cáo này là tập trung vào nghiên cứu và phân tích vềphát hiện ngôn ngữ thù địch và bắt nạt mạng thông qua
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Sinh viên thực hiện : : : : :
Trang 2
DANH MỤC HÌNH ẢNH
Hình 1: Top những quốc gia kém văn minh trên mạng nhất thế giới 7
Hình 2: Cộng đồng mạng chửi bới trọng tài khi Đội tuyển Việt Nam thất bại 8
Hình 3: Các trang để lấy dữ liệu 10
Hình 4: Một số bình luận trên các bài đăng 10
Hình 5: Số lượng của từng nhãn sau khi phân tích 11
Hình 6: Số lượng của từng nhãn sau phân tích 11
Hình 7: Tỉ lễ từng nhãn sau khi phân tích 12
Hình 8: Hình ảnh luồng hoạt động của phát hiện ngôn ngữ thù địch 14
Hình 9: Hình ảnh một số stop_word của tiếng việt 15
Trang 3MỤC LỤCPHẦN I: MỞ ĐẦU
4.1 Ứng dụng 24
4.2 Thách thức 25
PHẦN III: KẾT LUẬNPHẦN III: KẾT LUẬN 27
TÀI LIỆU THAM KHẢOTÀI LIỆU THAM KHẢO 28
Trang 4PHẦN I: MỞ ĐẦU
1.1 Lý do chọn đề tàiLý do chọn đề tài
Việc nghiên cứu về phát hiện ngôn ngữ thù địch trong ngữ cảnh giới trẻlà cực kỳ cần thiết và hấp dẫn Trên thực tế, sự phát triển của mạng xã hộivà các nền tảng trực tuyến đã tạo ra một môi trường mở và phổ biến choviệc tương tác giữa giới trẻ Tuy nhiên, nguy cơ xuất hiện ngôn ngữ thùđịch và bạo lực trực tuyến đang gia tăng Bằng cách nghiên cứu và áp dụngcông nghệ phát hiện ngôn ngữ thù địch, chúng ta có thể xác định và ngănchặn kịp thời các hành vi tiêu cực này, đảm bảo an toàn trực tuyến cho giớitrẻ và giảm thiểu tác động xấu của ngôn ngữ thù địch đối với tâm lý và tinhthần của họ Đây là một nhiệm vụ quan trọng đòi hỏi sự đầu tư và quyết tâmtừ các quốc gia trên toàn thế giới
2.2 Mục tiêu và phạm vi nghiên cứuMục tiêu và phạm vi nghiên cứu
Mục tiêu của bài báo cáo này là tập trung vào nghiên cứu và phân tích vềphát hiện ngôn ngữ thù địch và bắt nạt mạng thông qua việc xử lý dữ liệu vàhuấn luyện các mô hình học máy Bên cạnh đó, bài báo cáo cũng sẽ nêu racác ứng dụng và thách thức của phát hiện ngôn ngữ thù địch và bắt nạt trựctuyến trong xã hội ngày nay
3.3 Phương pháp nghiên cứuPhương pháp nghiên cứu
Để đạt được kết quả phù hợp với mục tiêu nghiên cứu trên, các phươngpháp nghiên cứu được đưa ra cụ thể như sau:
o Phân tích dữ liệu: Thu thâp dữ liệu từ các nguồn trên mạng xãhội và truyền thông và xử lý, làm sạch dữ liệu
o Các mô hình học máy: đưa ra các mô hình học máy được sửdụng để phát hiện ngôn ngữ thù địch và bắt nạt trực tuyến
Trang 5o Thử nghiệm và kết luận: Thực hiện thử nghiệm và đưa ra kếtquả của từng mô hình, so sánh độ hiệu quả giữa các mô hình từđó nêu ra kết luận về đề tài.
4.4 Cấu trúc bài báo cáoCấu trúc bài báo cáo
Sử dụng phần Mở đầu như đã trình bày và phần Kết luận, bài báo cáođược tổ chức thành 4 phần, cụ thể như sau:
o Phần 1: Giới thiệu về ngôn ngữ thù địcho Phần 2: Cơ sở dữ liệu của ngôn ngữ thù địcho Phần 3: Phân tích ngôn ngữ thù địcho Phần 4: Ứng dụng và thách thức của phát hiện ngôn ngữ thù địch
Trang 6PHẦN II: NỘI DUNG CHƯƠNG 1: GIỚI THIỆU VỀ NGÔN NGỮ THÙ ĐỊCH.
1.1.1.1 Ngôn ngữ thù địNgôn ngữ thù địNgôn ngữ thù địch là gìch là gì
● Ngôn ngữ thù địch mạng" (cyberbullying) là một thuật ngữ được sửdụng để chỉ các hành vi bắt nạt, quấy rối trực tuyến Nó ám chỉ đến việcsử dụng lời nói, cử chỉ, hành động hoặc viết những nội dung mang tínhbạo lực, định kiến, chê bai hoặc đe dọa nhằm vào một nhóm hoặc cánhân cụ thể trên mạng, dựa trên thành viên của họ trong nhóm Cáchành vi này thường xuất hiện trên các nền tảng truyền thông xã hội, diễnđàn, trò chơi trực tuyến và các môi trường trực tuyến khác
● Ngôn ngữ thù địch mạng có thể bao gồm việc gửi tin nhắn quấy rối,đăng bài viết xúc phạm, tạo ra nội dung xấu hổ hoặc giả mạo, tuyêntruyền định kiến hoặc gây hiểu lầm về một nhóm hoặc cá nhân nhấtđịnh Nó có thể gây tổn thương tinh thần, xúc phạm danh dự, và ảnhhưởng tiêu cực đến tâm lý và sức khỏe của những người bị bắt nạt trựctuyến
● Đối với những người bị ảnh hưởng, ngôn ngữ thù địch mạng có thể gâyra cảm giác bị cô lập, mất tự tin, lo lắng và có thể dẫn đến hậu quảnghiêm trọng như trầm cảm, lo âu và thậm chí tự tử
● Để ngăn chặn và đối phó với ngôn ngữ thù địch mạng, cần sự hỗ trợ từcộng đồng trực tuyến, các nền tảng truyền thông xã hội và tổ chức liênquan Các biện pháp bao gồm tăng cường quyền riêng tư và bảo mậttrực tuyến, giáo dục về an toàn trực tuyến, khuyến khích người dùngbáo cáo và chặn người quấy rối, cung cấp hỗ trợ tâm lý và tư vấn cho
Trang 7nạn nhân, và thiết lập chính sách và quy định rõ ràng đối với việc sửdụng trang web và ứng dụng trực tuyến.
● Tuy ngôn ngữ thù địch mạng có thể gây hại, nhưng cộng đồng trựctuyến có thể đóng vai trò quan trọng trong việc tạo ra một môi trường antoàn, tôn trọng và đồng lòng để ngăn chặn và đối phó với hành vi này
1.2.1.2 Thực trạng về ngôn ngữThực trạng về ngôn ngữThực trạng về ngôn ngữ thù địch thù địch
● Sự phổ biến của “ngôn từ thù địch mạng” hay lời nói căm thù trên mạngđang ngày càng đáng lo ngại Theo khảo sát do Chương trình Internet vàXã hội (VPIS) thực hiện, 78% người dùng Internet ở Việt Nam từng lànạn nhân hoặc biết về các trường hợp có lời nói căm thù trên mạng xãhội Ngoài ra, 61,7% người dùng mạng xã hội đã chứng kiến hoặc là nạnnhân của những bình luận tiêu cực, phỉ báng và lăng mạ, trong khi46,6% là nạn nhân của thông tin sai lệch và vu khống
Hình 1: Top những quốc gia kém văn minh trên mạng nhất thế giới● Cộng đồng mạng dễ bị dắt mũi và chửi bới
Trang 8Hình 2: Cộng đồng mạng chửi bới trọng tài khi Đội tuyển Việt Nam thất bại
Trang 9CHƯƠNG 2: CƠ SỞ DỮ LIỆU CỦA NGÔN NGỮ THÙ ĐỊCH
2.1.2.1 Thu thập dữ liệuThu thập dữ liệu
Sử dụng thư viện Selenium để tự động thực hiện các thao tác trên trang webFacebook Selenium có nhiều điểm mạnh có thể kể đến như:
● Đa nền tảng: Selenium hỗ trợ nhiều trình duyệt phổ biến như Chrome,Firefox, Edge, Safari, và nhiều hơn nữa Điều này cho phép bạn cào dữliệu từ các trang web trên nhiều nền tảng khác nhau
● Tương tác đầy đủ với trình duyệt: Selenium cho phép bạn tương tácvới trình duyệt web giống như người dùng thực sự làm Bạn có thểđiều hướng đến URL, điền dữ liệu vào các biểu mẫu, nhấp chuột, cuộntrang, và thực hiện các hành động khác
● Xác nhận và kiểm tra: Selenium cung cấp các chức năng để xác nhậnvà kiểm tra các thành phần trên trang web Bạn có thể tìm kiếm phầntử dựa trên các thuộc tính, kiểm tra sự hiện diện của phần tử, trích xuấtdữ liệu, và kiểm tra các giá trị thuộc tính
● Độ linh hoạt: Selenium cho phép bạn tùy chỉnh và điều chỉnh quá trìnhcào dữ liệu theo nhu cầu của bạn Bạn có thể thay đổi cấu trúc mã, sửdụng các thư viện và công cụ bổ trợ khác, và áp dụng các kỹ thuậtphức tạp như xử lý động và chờ đợi thông minh
Trang 10Hình 3: Các trang để lấy dữ liệu
Hình 4: Một số bình luận trên các bài đăng
2.2.2.2 Phân tíPhân tíPhân tích dữ liệuch dữ liệu
Gồm 2 tập dữ liệu là data2.txt và thông tin.txt Trong tập dữ liệu data2.txtcó 4444 câu được crawl từ các trang mạng trên facebook ở nhiều vấn đềnhư bóng đá, chính trị,
Trang 11Hình 5: Số lượng của từng nhãn sau khi phân tích
Hình 6: Số lượng của từng nhãn sau phân tích
Trang 12Hình 7: Tỉ lễ từng nhãn sau khi phân tíchKhó khăn gặp phải:
● Mất cân bằng dữ liệu: Tập dữ liệu có sự mất cân bằng với số lượngmẫu của từng nhãn Nhãn "hạnh phúc" chiếm tỷ lệ cao nhất với1924 mẫu, trong khi nhãn "thông tin" có tỷ lệ thấp nhất với chỉ 94mẫu
● Phân bố nhãn: Nhìn chung, nhãn "hạnh phúc" và "phẫn nộ" có sốlượng mẫu cao hơn so với các nhãn còn lại Nhãn "buồn bã", "ngạcnhiên" và "sợ hãi" cũng có số lượng mẫu khá đáng kể, trong khinhãn "thông tin" có số lượng mẫu rất ít
● Tỷ lệ phần trăm: Biểu đồ tròn sẽ hiển thị tỷ lệ phần trăm của từngnhãn trong tập dữ liệu Tỷ lệ phần trăm này có thể giúp ta nhìn thấytỷ trọng mỗi nhãn trong tập dữ liệu so với tổng số mẫu
Giải pháp:
Trang 13● OversamplingOversamplingOversampling (Tăng(Tăng(Tăng cưcưcườngờngờng mẫu)mẫu): Tăng cường mẫu là quá trìnhmẫu)nhân bản hoặc tạo thêm các mẫu từ các nhãn thiểu số để làm chocác nhãn trong tập dữ liệu cân bằng hơn Các phương phápoversampling bao gồm Random Oversampling, SMOTE, hoặcADASYN Điều này giúp tăng số lượng mẫu của các nhãn thiểu sốvà làm giảm sự chênh lệch Trong trường hợp này bọn em sẽ tăngsố mẫu của các câu có nhãn thông tin, sợ hãi, buồn bã, ngạc nhiênđể giúp số lượng nhãn không quá chênh
● UndersamplingUndersamplingUndersampling (Giảm(Giảm(Giảm mẫu)mẫu)mẫu): Giảm mẫu là quá trình loại bỏ hoặcgiảm số lượng mẫu từ các nhãn đa số để đạt được cân bằng Cácphương pháp undersampling bao gồm Random Undersamplinghoặc NearMiss Tuy nhiên, cần lưu ý rằng việc loại bỏ mẫu có thểdẫn đến mất mát thông tin quan trọng Trong trường hợp này sẽgiảm số lượng mẫu của nhãn hạnh phúc nhưng sẽ không giảm đángkể
● Sử dụng thêm dữ liệu là tập info.txt gồm các câu mang nhãn thôngtin trên các trang mạng xã hội
Trang 14CHƯƠNG 3: PHÂN TÍCH NGÔN NGỮ THÙ ĐỊCH
3.1.3.1 LLLuồng hoạt động của phát hiện ngôn ngữ thù địch uồng hoạt động của phát hiện ngôn ngữ thù địch
Hình 8: Hình ảnh luồng hoạt động của phát hiện ngôn ngữ thù địch● Đầu tiên, dữ liệu sau khi được kéo về cần phải được tiền xử lý Sau đó dữ
liệu sau khi đươc xử lý sẽ được gắn nhãn các từ biểu hiện từng sắc tháicảm xúc (hạnh phúc, phẫn nỗ, ngạc nhiên, sợ hãi, thông tin, )
● Tâp dữ liệu được gán nhãn này được chia thành 2 tập dữ liệu (trainingdataset - test dataset) với tỉ lệ 7 - 3 Dữ liệu trong tập huấn luyện sẽ sửdụng để huấn luyện các model với độ phức tạp khác nhau, lần lượt đó làNaive Bayes (model đơn giản nhất sử dụng phương pháp tính toán xácsuất có điều kiện), Linear Regression (hồi quy tuyến tính cho bài toánphân lớp), Long-short Term memory (tăng cường việc hiểu ngữ cảnh,tránh mất mát ngữ nghĩa đối với những câu dài) và cuối cùng là SVM(xác định một siêu phẳng để phân tách dữ liệu thuộc về các lớp khác
Trang 15nhau) Về cơ bản, các mô hình các phức tạp thì thời gian training cànglâu đối với cùng 1 bộ dữ liệu, và kéo theo đó độ phức tạp cũng sẽ thườngtăng tỉ lệ thuận theo đó
● Sau quá trình huấn luyện ta sẽ được các checkpoint của lần lượt các môhình, ta sẽ sử dụng những model này và đo đạc độ chính xác trên tập test,đồng thời sử dụng chúng để viết API tương tác với giao diện người dùng
3.2.3.2 TTTiền xử lý dữ liệuiền xử lý dữ liệu
● Loại bỏ các stop words o Loại bỏ stop words là một bước tiền xử lý quan trọng trong xử lý
ngôn ngữ tự nhiên để giảm chiều dài của văn bản và tăng cường chấtlượng của dữ liệu Stop words là những từ phổ biến như "à," "ôi,""ai" có thể được loại bỏ mà không ảnh hưởng nhiều đến nghĩa củacâu Dưới đây là cách bạn có thể thực hiện bước loại bỏ stop wordstrong tiền xử lý dữ liệu
Hình 9: Hình ảnh một số stop_word của tiếng việt● Loại bỏ dấu câu
○ ChuẩnChuẩnChuẩn hóahóahóa vănvănvăn bảnbảnbản: Việc loại bỏ dấu câu có thể giúp chuẩn hóa vănbản, làm cho các từ được biểu diễn một cách đồng nhất mà không bịảnh hưởng bởi các dấu câu
○ TáchTáchTách từtừtừ đơnđơn: Trong một số trường hợp, việc loại bỏ dấu câu có thểđơngiúp tách các từ đơn ra khỏi các từ chứa dấu câu Điều này có thể hữu
Trang 16ích trong việc xử lý ngôn ngữ tự nhiên, đặc biệt là khi thực hiệntokenization.
● Loại bỏ các câu trùng lặp○ TăngTăngTăng chấtchấtchất lượnglượng dữlượngdữdữ liệuliệuliệu: Loại bỏ các câu trùng lặp giúp làm sạch dữ
liệu, giảm nhiễu và tăng chất lượng thông tin Trong các tình huốngnhư phân loại văn bản hoặc xử lý ngôn ngữ tự nhiên, việc có dữ liệusạch sẽ giúp mô hình học tốt hơn
○ GiảmGiảmGiảm kíchkíchkích thướcthướcthước dữdữdữ liệuliệuliệu: Việc loại bỏ câu trùng lặp giảm kích thướcdữ liệu, giúp tăng tốc quá trình huấn luyện mô hình và tiết kiệm tàinguyên tính toán
○ ChuẩnChuẩnChuẩn hóahóahóa dữdữdữ lililililiệuệuệu: Thay thế các từ viết tắt giúp chuẩn hóa dữ liệu,làm cho các từ được biểu diễn một cách đồng nhất Điều này giúpgiảm sự phức tạp của dữ liệu và tăng cường khả năng hiểu của môhình
● Tokenizer – UndertheseaTokenizer là một phần quan trọng trong quá trình tiền xử lý dữ liệutrong xử lý ngôn ngữ tự nhiên (NLP) Dưới đây là một số tác dụngquan trọng của tokenizer:
○ ChiaChiaChia từtừtừ (Tokenization)(Tokenization)(Tokenization): Tokenizer chia văn bản thành các đơn vị nhỏhơn, thường là từ hoặc các phần nhỏ hơn của từ (token) Điều nàygiúp biến đổi văn bản thành một chuỗi các đơn vị có ý nghĩa, làm choviệc xử lý và phân tích văn bản trở nên thuận tiện hơn
○ ChuẩnChuẩnChuẩn hóahóahóa vănvănvăn bản:bản: Tokenizer giúp chuẩn hóa văn bản bằng cáchbản:chia các từ thành các đơn vị có ý nghĩa Việc này giúp đồng nhất hóadữ liệu và giảm sự phức tạp trong việc hiểu và xử lý văn bản
Trang 17○ TáchTáchTách từtừ đơntừđơnđơn: Tokenization giúp tách các từ thành đơn vị nhỏ hơn,giúp xác định đúng các từ đơn và giúp chuẩn hóa dữ liệu.
○ ChuẩnChuẩnChuẩn bịbịbị dữdữdữ liệuliệuliệu chochocho mômômô hìnhhìnhhình họchọchọc máy:máy:máy: Tokenization là một bướcquan trọng trong việc chuẩn bị dữ liệu cho các mô hình học máy vàmô hình NLP Các token thường được sử dụng như các đặc trưng đầuvào cho mô hình
3.3.3.3 CácCácCác mô hình phân tích ngôn ngữ thù địch mô hình phân tích ngôn ngữ thù địch
3.3.1 LSTM
Hình 10: Mô hình LSTM Mô hình LSTM (Long Short-Term Memory) là một kiến trúc mạng nơ-
ron đặc biệt, được thiết kế để xử lý và mô hình hóa các dữ liệu chuỗi dàivới các phụ thuộc dài hạn
Trong mạng neural truyền thống, việc xử lý thông tin từ quá khứ có thểgặp khó khăn LSTM giải quyết vấn đề này bằng cách sử dụng một cấu
Trang 18trúc đặc biệt gọi là cell state (trạng thái ô) để lưu trữ thông tin từ quá khứvà quyết định cách thông tin này được truyền qua thời gian.
Mô hình LSTM bao gồm các thành phần chính sau:o Input gate (Cổng đầu vào): Xác định cách thông tin mới sẽ được thêm
vào trạng thái ô.o Forget gate (Cổng quên): Xác định cách thông tin cũ sẽ được loại bỏ
khỏi trạng thái ô.o Output gate (Cổng đầu ra): Xác định cách thông tin từ trạng thái ô sẽ
được sử dụng để tạo đầu ra. Mỗi cổng được cấu tạo bằng cách sử dụng một lớp sigmoid và phép nhân
điểm để quyết định xem thông tin nào sẽ được truyền qua và thông tinnào sẽ bị loại bỏ
Trạng thái ô (cell state) của LSTM hoạt động như một bộ nhớ dài hạn,lưu trữ thông tin từ quá khứ Trạng thái ô có khả năng cập nhật thông tinmới thông qua cổng đầu vào và loại bỏ thông tin không cần thiết thôngqua cổng quên
Đầu ra của mỗi bước thời gian trong mạng LSTM được tính dựa trêntrạng thái ô và được điều chỉnh bởi cổng đầu ra Điều này cho phép môhình xác định cách sử dụng thông tin từ quá khứ để tạo ra kết quả tại thờiđiểm hiện tại
Mô hình LSTM đã chứng tỏ hiệu quả trong nhiều nhiệm vụ liên quan đếndữ liệu chuỗi, bao gồm dịch máy, nhận dạng giọng nói, dự báo chuỗi thờigian và xử lý ngôn ngữ tự nhiên Mô hình này đã giúp giải quyết vấn đề
Trang 19xử lý thông tin từ quá khứ trong mạng neural và cho phép mô hình học vàhiểu các phụ thuộc dài hạn trong dữ liệu chuỗi.
Mô hình Naive Bayes sử dụng một bộ dữ liệu huấn luyện để xác định xácsuất của mỗi lớp dựa trên các đặc trưng Khi có một mẫu dữ liệu mới, môhình sử dụng định lý Bayes để tính toán xác suất của mỗi lớp dựa trên cácđặc trưng của mẫu đó Lớp có xác suất cao nhất sẽ được chọn là lớp dựđoán cho mẫu dữ liệu đó