Bối cảnh và vấn đề nghiên cứu

Sự bùng nổ của hạ tầng viễn thông và các thiết bị di động đã kéo theo sự gia tăng phức tạp của các loại tin nhắn rác (SMS Spam). Các nội dung không mong muốn này không dừng lại ở mức quảng cáo thương mại trái phép mà ngày càng biến tướng thành các hành vi lừa đảo tài chính, phát tán mã độc và thu thập thông tin cá nhân. Khóa luận dẫn chứng các báo cáo thực tiễn nhằm làm rõ mức độ nghiêm trọng của vấn đề:

  • Thống kê từ Robokiller (2023) tại Hoa Kỳ ghi nhận người dùng nhận khoảng 415.654 tin nhắn rác mỗi ngày, 2.576 tin nhắn mỗi tuần, 665.057 tin nhắn vào dịp cuối tuần và 288.314 tin nhắn mỗi phút.
  • Báo cáo của Truecaller Insights (2022) chỉ ra 68,4 triệu người Mỹ (tương đương 26% dân số) bị thiệt hại tài chính do lừa đảo qua điện thoại; trung bình cứ 3 người thì có 1 người từng là nạn nhân, trong đó 20% bị lừa nhiều hơn một lần.
  • Thống kê từ Ủy ban Thương mại Liên bang Hoa Kỳ (FTC, 2022) cho thấy thiệt hại do tin nhắn lừa đảo vượt mức 326 triệu USD, trong khi có tới 35% người dùng không chủ động xóa tin nhắn từ số lạ.

Trước thực trạng các phương pháp ngăn chặn truyền thống bộc lộ nhiều điểm yếu trước thủ đoạn biến đổi nội dung của bên phát tán, khóa luận xác định việc ứng dụng học máy là hướng tiếp cận cần thiết.

Mục tiêu và nhiệm vụ nghiên cứu:

  1. Khảo sát, hệ thống hóa cơ sở lý thuyết về phân lớp văn bản và các kỹ thuật phát hiện tin nhắn rác hiện có trên thế giới và tại Việt Nam.
  2. Đóng góp về mặt đa dạng cho kho ngữ liệu tin nhắn SMS tiếng Anh thông qua việc tích hợp các tập dữ liệu từ nhiều khu vực địa lý và ngữ cảnh khác nhau.
  3. Xây dựng, huấn luyện và đánh giá mô hình phân lớp tin nhắn rác di động dựa trên thuật toán Naïve Bayes trên tập dữ liệu phức hợp đã tiền xử lý.

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

  • Đối tượng nghiên cứu: Các mô hình học máy phân lớp văn bản và tập dữ liệu các tin nhắn di động SMS bằng tiếng Anh (bao gồm nhãn hợp lệ - ham và nhãn rác - spam).
  • Phạm vi nghiên cứu: Bài toán phân loại nhị phân nội dung tin nhắn văn bản SMS tiếng Anh; thực nghiệm mô hình phân loại Naïve Bayes trên tập dữ liệu phức hợp được trích xuất từ các nguồn công khai.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết và mô hình kỹ thuật

Nghiên cứu được xây dựng trên nền tảng của lý thuyết xác suất và xử lý ngôn ngữ tự nhiên (NLP), trọng tâm là:

  • Định lý Bayes: Công thức xác suất có điều kiện dùng để tính xác suất hậu nghiệm của biến cố: $$P(A|B) = \frac{P(B|A)P(A)}{P(B)}$$ Ứng dụng cho việc phân loại tin nhắn $mess$ vào lớp $spam$: $$P(spam|mess) = \frac{P(mess|spam)P(spam)}{P(mess)}$$
  • Thuật toán Naïve Bayes và các biến thể: Mô hình phân loại dựa trên giả định độc lập có điều kiện giữa các đặc trưng khi biết nhãn lớp:
    • Multinomial Naïve Bayes (MNB): Thích hợp cho dữ liệu phân phối đa thức, biểu diễn theo tần số từ hoặc trọng số TF-IDF, kết hợp kỹ thuật làm mịn Laplace hoặc Lidstone để giải quyết vấn đề xác suất bằng 0.
    • Gaussian Naïve Bayes (GNB): Giả định các đặc trưng liên tục tuân theo phân phối chuẩn Gaussian.
    • Bernoulli Naïve Bayes (BNB): Áp dụng cho các vector đặc trưng nhị phân (chỉ quan tâm từ có xuất hiện hay không), áp dụng cơ chế phạt sự vắng mặt của từ.
    • Complement Naïve Bayes (CNB): Điều chỉnh của MNB dành riêng cho tập dữ liệu mất cân bằng thông qua việc ước lượng tham số từ phần bù của mỗi lớp.

Phương pháp nghiên cứu

  • Phương pháp tổng hợp - phân tích tài liệu: Khảo sát các công trình nghiên cứu trong nước và quốc tế về các mô hình học máy truyền thống (SVM, Decision Tree, Random Forest, Logistic Regression) và học sâu (BERT, PhoBERT, Transformer, DNN, FNN, CBOW).
  • Phương pháp thực nghiệm: Thu thập, làm sạch, chuẩn hóa dữ liệu văn bản; trích xuất đặc trưng và lập trình huấn luyện mô hình Naïve Bayes trên môi trường Python (sử dụng thư viện Pandas và Scikit-learn).

Nguồn dữ liệu

Tác giả tổng hợp dữ liệu từ ba nguồn công khai:

  1. SMS Spam Collection Dataset (UCI): Bao gồm dữ liệu từ diễn đàn Grumbletext (Anh), NUS SMS Corpus (Singapore), luận án của Caroline Tagg và bộ dữ liệu SMS Spam Corpus v.1 Big.
  2. Philippine Spam SMS (Wando, 2024): Dữ liệu các tin nhắn rác và tin nhắn lừa đảo thực tế thu thập tại Philippines.
  3. Super SMS Dataset (Salman et al.): Tập dữ liệu tổng hợp quy mô lớn tích hợp từ SMS Spam Collection, NUS SMS Corpus và Spam Hunter.

Nội dung chính theo từng chương

Chương I: Tổng quan về phân lớp văn bản và bài toán phát hiện tin nhắn rác SMS

Chương 1 hệ thống hóa các khái niệm căn bản về phân lớp văn bản (Text Classification) và bản chất của bài toán phát hiện tin nhắn rác di động SMS như một bài toán phân loại nhị phân.

Tác giả phân tích chi tiết các kỹ thuật lọc truyền thống không sử dụng học máy:

  • Lọc dựa trên danh sách: Danh sách đen (Blacklist - chặn nguồn gửi định sẵn), Danh sách trắng (Whitelist - chỉ nhận nguồn an toàn), Danh sách xám (Greylist - tạm từ chối lần đầu để kiểm tra tính hợp pháp). Nhược điểm là khả năng thích ứng thấp khi người gửi thay đổi định danh và nguy cơ chặn nhầm tin nhắn quan trọng.
  • Lọc dựa trên nội dung: Bộ lọc từ khóa (Word-based filter) và bộ lọc Heuristic (gán điểm ưu tiên cho từ). Nhược điểm là tạo ra tỷ lệ dương tính giả cao khi từ khóa thông thường xuất hiện trong ngữ cảnh hợp lệ, tốn công cập nhật danh mục thủ công và dễ bị qua mặt bởi kỹ thuật cố tình viết sai chính tả.

Chương này cũng tổng hợp các nghiên cứu tiêu biểu ứng dụng học máy và học sâu:

Nghiên cứu Phương pháp / Mô hình Dữ liệu thực nghiệm Kết quả chính
Azeez Oyeyemi & K. Ojo (2023) BERT kết hợp LR, NB, SVM, RF, Gradient Boosting 6.986 tin nhắn (UCI, DSN Nigeria, dữ liệu tự thu thập) Mô hình Naïve Bayes + BERT đạt độ chính xác 97,31%, thời gian xử lý 0,3 giây.
Ananda Raharja et al. (2022) Logistic Regression (LR) & Multinomial Naïve Bayes (MNB) 1.143 tin nhắn (569 thường, 335 lừa đảo, 239 quảng cáo) Độ chính xác đạt 99%.
LIU et al. (2021) Kiến trúc Transformer sửa đổi (Memory, Linear layers) SMS Spam Collection v.1 & UtkMl's Twitter Spam Độ chính xác, Precision, F1-Score đạt trên 98% trên cả hai tập kiểm thử.
ALAA AL-KABBI et al. (2023) Mô hình học sâu kết hợp đa tầng theo thời gian thực Tập dữ liệu chuẩn UCI Độ chính xác đạt 99,56%, vượt trội so với RF và BERT truyền thống.
Lai et al. (2022) Mô hình Semorph (nâng cao ngữ nghĩa hình thái cho tiếng Trung) 782.250 mẫu mạng xã hội & 11.358 mẫu cuộc thi học máy Độ chính xác 96% trên tập gốc (SMS-Ori) và 95% trên tập đối kháng (SMS-Adv).
Lee & Kang (2019) Nhúng từ CBOW kết hợp mạng nơ-ron truyền thẳng (FNN) 109.993 câu tin nhắn tiếng Hàn FNN đạt độ chính xác cao hơn SVM-light; độ chính xác tăng theo độ sâu mạng ẩn.
Vu Minh et al. (2022) PhoBERT kết hợp mạng nơ-ron sâu DNN (4 lớp ẩn: 256-256-128-10) 5.113 tin nhắn tiếng Việt (52% spam, 48% ham) Độ chính xác đạt 99,53% trong bài toán nhận diện SMS rác tiếng Việt.

Từ kết quả khảo sát, tác giả chỉ ra 4 nguyên nhân khiến tin nhắn rác vẫn tồn tại phổ biến:

  1. Mô hình nhận diện chưa đạt độ chính xác tuyệt đối, vẫn có tỷ lệ bỏ sót nhất định.
  2. Khâu tích hợp các giải pháp công nghệ vào hạ tầng viễn thông thực tế còn hạn chế do rào cản tài nguyên.
  3. Nhận thức và kỹ năng tự bảo vệ của người dùng trước các rủi ro lừa đảo còn chưa đồng đều.
  4. Kẻ phát tán (spammer) liên tục thay đổi cấu trúc cú pháp, nội dung và nguồn phát để né tránh cơ chế kiểm duyệt.

Chương II: Cơ sở kỹ thuật cho bài toán phân lớp văn bản, triển khai cụ thể cho bài toán phát hiện tin nhắn rác SMS

Chương 2 đi sâu vào nền tảng toán học của thuật toán Naïve Bayes. Tác giả trình bày quy trình hoạt động tổng quát của thuật toán qua 2 bước: xác định không gian thuộc tính vector n chiều $X = (x_1, x_2, ..., x_n)$ từ tập huấn luyện $D$, sau đó tối đa hóa xác suất hậu nghiệm $P(X|C_i)P(C_i)$ để dự đoán nhãn lớp $C_i$.

Nội dung chương phân tích cụ thể 4 biến thể thuật toán Naïve Bayes:

  • Multinomial Naïve Bayes: Tính toán xác suất xuất hiện của từng từ $i$ trong lớp $y$ theo công thức làm mịn: $$\hat{\theta}{yi} = \frac{N{yi} + \alpha}{N_y + \alpha n}$$ Trong đó $N_{yi}$ là số lần đặc trưng xuất hiện trong lớp, $N_y$ là tổng số từ của lớp, $\alpha$ là tham số làm mịn ($\alpha = 1$ tương ứng Laplace smoothing, $\alpha < 1$ là Lidstone smoothing).
  • Gaussian Naïve Bayes: Ước lượng các tham số kỳ vọng và phương sai bằng phương pháp hợp lý cực đại.
  • Bernoulli Naïve Bayes: Đánh giá dựa trên sự hiện diện nhị phân của từ khóa, xử lý hiệu quả với các văn bản ngắn.
  • Complement Naïve Bayes: Tính toán trọng số dựa trên các mẫu không thuộc lớp đang xét, giúp cải thiện độ ổn định trên các tập dữ liệu mất cân bằng mẫu.

Chương 2 khép lại bằng việc tổng quan các phạm vi ứng dụng của Naïve Bayes trong thực tế, bao gồm: phân loại thư điện tử, phân loại bài báo/tài liệu, phân tích cảm xúc phản hồi khách hàng, hệ thống gợi ý sản phẩm thương mại điện tử, hỗ trợ chẩn đoán y khoa, phát hiện giao dịch gian lận thẻ tín dụng, phân loại ảnh dạng biểu đồ điểm ảnh, bảo trì dự đoán và kiểm soát chất lượng công nghiệp, cùng phân khúc khách hàng trong tiếp thị.

Chương III: Xây dựng mô hình phát hiện tin nhắn rác SMS sử dụng bộ dữ liệu phức hợp

Chương 3 trình bày chi tiết quy trình thực nghiệm xây dựng mô hình phát hiện tin nhắn rác tiếng Anh trên tập dữ liệu tổng hợp.

1. Cấu trúc và tổng hợp dữ liệu: Tác giả tiến hành thu thập, rà soát và thống kê số lượng mẫu từ các tập dữ liệu thành phần:

  • SMS Spam Collection Dataset: Sau phân loại, thu được 4.054 tin nhắn hợp lệ (ham) và 609 tin nhắn rác (spam).
  • Philippine Spam SMS: Bổ sung 337 tin nhắn rác đặc trưng khu vực Đông Nam Á.
  • Super SMS Dataset: Cung cấp 40.830 tin nhắn hợp lệ và 26.178 tin nhắn rác.
Tập dữ liệu thành phần Số lượng nhãn Ham Số lượng nhãn Spam Tổng cộng
SMS Spam Collection Dataset 4.054 609 4.663
Philippine Spam SMS - 337 337
Super SMS Dataset 40.830 26.178 67.008
Tổng số lượng tích lũy 44.880 27.124 72.004

Từ kho dữ liệu tổng hợp gồm 72.004 mẫu, tác giả tiến hành trích xuất một tập con gồm khoảng 6.000 tin nhắn đại diện cho các nguồn để phục vụ quá trình huấn luyện và kiểm thử mô hình.

2. Quy trình tiền xử lý dữ liệu văn bản:

  • Chuẩn hóa cấu trúc và nhãn: Đổi tên cột thuộc tính thành label và content; chuyển đổi giá trị nhãn phân loại về dạng nhị phân số học: nhãn ham chuyển thành giá trị 0 (tin nhắn hợp lệ), nhãn spam chuyển thành giá trị 1 (tin nhắn rác).
  • Chuyển đổi chữ thường (Lowercase): Áp dụng phương thức chuyển toàn bộ văn bản về chữ thường nhằm đồng nhất từ điển vựng, tránh phân biệt trùng lặp do định dạng chữ hoa/chữ thường (ví dụ: "Apple" và "apple"), giảm nguy cơ quá khớp (overfitting).
  • Loại bỏ ký tự đặc biệt và dấu câu: Sử dụng biểu thức chính quy (Regex) [^\w\s] để làm sạch các ký tự phi bảng chữ cái và dấu câu không mang giá trị ngữ nghĩa, giúp giảm nhiễu dữ liệu.
  • Loại bỏ các từ xuất hiện phổ biến nhất: Thống kê tần suất và loại bỏ 10 từ xuất hiện nhiều nhất trong tập ngữ liệu nhằm giảm thiểu các từ dừng không mang đặc trưng phân loại.
  • Loại bỏ các từ hiếm: Xác định và loại bỏ 10 từ có tần số xuất hiện thấp nhất nhằm tinh gọn không gian đặc trưng.
  • Trích xuất đặc trưng và khởi tạo mô hình: Vector hóa dữ liệu văn bản sau tiền xử lý và đưa vào huấn luyện phân loại với thuật toán Naïve Bayes.

Kết quả và đóng góp

Kết quả chính

  • Tổng hợp thành công một kho dữ liệu phức hợp gồm 72.004 tin nhắn SMS tiếng Anh (44.880 tin nhắn hợp lệ và 27.124 tin nhắn rác) từ ba nguồn dữ liệu khác nhau (Anh, Singapore, Philippines...).
  • Thiết lập một tập dữ liệu thực nghiệm chuẩn hóa gồm 6.000 mẫu được gán nhãn nhị phân rõ ràng (0 và 1) và trải qua quy trình làm sạch văn bản nhiều bước.
  • Triển khai thành công quy trình xử lý ngôn ngữ tự nhiên kết hợp mô hình phân lớp Naïve Bayes, chứng minh tính khả thi của thuật toán xác suất cổ điển trong việc xử lý văn bản ngắn có tốc độ tính toán nhanh và cấu trúc gọn nhẹ.

Đóng góp của đề tài

  • Về mặt dữ liệu: Đóng góp giải pháp khắc phục sự đơn điệu của các bộ dữ liệu SMS truyền thống bằng cách kết hợp ngữ liệu đa vùng miền (dữ liệu viễn thông từ Anh, sinh viên Singapore và các tin nhắn lừa đảo tại Philippines), giúp mô hình nắm bắt được các mẫu tin nhắn rác đa dạng hơn.
  • Về mặt học thuật: Cung cấp bức tranh tổng quan có hệ thống về các công trình nghiên cứu phát hiện tin nhắn rác trên nhiều ngôn ngữ (Anh, Việt, Trung, Hàn) và làm rõ cơ sở toán học của các biến thể thuật toán Naïve Bayes trong xử lý ngôn ngữ tự nhiên.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế tồn tại

  • Khóa luận chỉ tập trung xử lý dữ liệu văn bản SMS bằng tiếng Anh, chưa mở rộng sang ngữ liệu tiếng Việt hoặc các ngôn ngữ khác trong phần thực nghiệm mô hình chính.
  • Mặc dù đã tập hợp kho dữ liệu lớn (hơn 72.000 mẫu), nghiên cứu mới chỉ trích xuất một tập con khoảng 6.000 mẫu để đưa vào thực nghiệm huấn luyện và kiểm thử.
  • Kỹ thuật tiền xử lý dừng ở mức loại bỏ 10 từ phổ biến nhất và 10 từ hiếm nhất thông qua tần suất thô, chưa áp dụng các danh sách từ dừng (stop words) tiêu chuẩn hoặc các kỹ thuật tách từ chuyên sâu.

Hướng phát triển

  • Mở rộng phạm vi phát hiện sang các nền tảng trao đổi tin nhắn hiện đại khác như ứng dụng OTT (Zalo, Telegram, WhatsApp), mạng xã hội và các bình luận trực tuyến.
  • Thử nghiệm mô hình với các không gian tham số khác nhau nhằm tối ưu hóa hiệu suất phân loại.
  • Kết hợp thử nghiệm mở rộng với các mô hình học sâu và mô hình ngôn ngữ lớn để so sánh toàn diện hiệu quả phân loại trên tập dữ liệu phức hợp.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo thiết thực cho các đối tượng sau:

  • Sinh viên ngành Công nghệ thông tin, Hệ thống thông tin và Khoa học dữ liệu: Tài liệu minh họa rõ ràng các bước thực hiện một bài toán phân loại văn bản cơ bản trong NLP từ thu thập dữ liệu, làm sạch bằng biểu thức chính quy đến áp dụng mô hình toán học Scikit-learn.
  • Người nghiên cứu về an toàn thông tin và xử lý tin nhắn rác: Chương 1 cung cấp danh mục tài liệu tham khảo phong phú cùng bảng so sánh chi tiết các công trình nghiên cứu quốc tế từ giai đoạn 2019–2023, rất hữu ích cho việc xây dựng phần tổng quan đề tài.
  • Kỹ sư phát triển hệ thống lọc dữ liệu nhẹ: Chương 2 cung cấp cơ sở toán học chi tiết về các biến thể Naïve Bayes (Multinomial, Gaussian, Bernoulli, Complement), giúp ích cho việc lựa chọn mô hình phù hợp với bài toán biên hoặc hệ thống đòi hỏi độ trễ cực thấp.

Câu hỏi thường gặp

1. Tập dữ liệu phức hợp trong khóa luận được cấu thành từ những nguồn cụ thể nào?
Dữ liệu được tích hợp từ ba nguồn chính: bộ dữ liệu chuẩn UCI SMS Spam Collection (chứa dữ liệu từ diễn đàn Grumbletext, NUS SMS Corpus của Đại học Quốc gia Singapore, luận án của Caroline Tagg và SMS Spam Corpus v.1 Big), bộ Philippine Spam SMS (chứa các tin nhắn lừa đảo thực tế tại Philippines) và bộ Super SMS Dataset.

2. Tại sao khóa luận lựa chọn thuật toán Naïve Bayes để triển khai mô hình?
Thuật toán Naïve Bayes được chọn vì tính đơn giản, dễ triển khai, tốc độ huấn luyện và xử lý nhanh, đồng thời có hiệu quả thực tế đã được chứng minh trong các bài toán phân loại văn bản ngắn, đặc biệt phù hợp trong điều kiện tài nguyên tính toán giới hạn.

3. Khóa luận đã thực hiện các bước tiền xử lý văn bản nào trước khi đưa vào mô hình?
Quy trình tiền xử lý gồm 5 thao tác: (1) Chuẩn hóa tên cột và chuyển đổi nhãn sang nhị phân (0: hợp lệ, 1: rác); (2) Chuyển toàn bộ văn bản về chữ thường (lowercase); (3) Loại bỏ dấu câu và ký tự thừa bằng biểu thức chính quy [^\w\s]; (4) Loại bỏ 10 từ xuất hiện nhiều nhất; (5) Loại bỏ 10 từ hiếm nhất.

4. Khóa luận chỉ ra những nghiên cứu nào đã áp dụng mô hình ngôn ngữ tiền huấn luyện cho tiếng Việt?
Khóa luận dẫn chứng nghiên cứu của tác giả Vu Minh et al. (2022), trong đó kết hợp mô hình ngôn ngữ tiếng Việt tiền huấn luyện PhoBERT với mạng nơ-ron sâu DNN (gồm 4 lớp ẩn: 256-256-128-10) trên tập dữ liệu 5.113 tin nhắn, đạt độ chính xác 99,53%.

5. Điểm khác biệt giữa Multinomial Naïve Bayes và Complement Naïve Bayes là gì?
Multinomial Naïve Bayes ước lượng tham số trực tiếp từ tần suất xuất hiện của từ trong từng lớp. Ngược lại, Complement Naïve Bayes sử dụng thống kê từ phần bổ sung (phần bù) của mỗi lớp để tính toán trọng số, giúp các ước lượng tham số ổn định hơn và hoạt động tốt hơn trên các tập dữ liệu có tỷ lệ mẫu mất cân bằng.


Kết luận

Khóa luận tốt nghiệp của sinh viên Nông Thùy Linh đã giải quyết bài toán phát hiện tin nhắn rác di động SMS thông qua việc kết hợp cơ sở lý thuyết xác suất và kỹ thuật học máy. Điểm nhấn của nghiên cứu là việc tổng hợp kho dữ liệu phức hợp hơn 72.000 tin nhắn tiếng Anh đa vùng miền và chuẩn hóa quy trình tiền xử lý văn bản cho mô hình Naïve Bayes. Công trình cung cấp nguồn tài liệu tham khảo có hệ thống về mặt phương pháp luận và kỹ thuật thực nghiệm cho các nghiên cứu tiếp theo trong lĩnh vực phân lớp văn bản và an toàn thông tin viễn thông.