Giới thiệu dự án

Sự bùng nổ của hạ tầng viễn thông và dịch vụ tin nhắn ngắn (Short Message Service - SMS) đã biến kênh liên lạc này thành mục tiêu trọng điểm của tội phạm mạng. Theo thống kê từ Robokiller (2023), người dùng di động tại Mỹ tiếp nhận trung bình 415.654 tin nhắn rác mỗi ngày, tương đương 288.314 tin nhắn mỗi phút. Báo cáo của Truecaller Insights chỉ ra rằng có tới 68,4 triệu người (chiếm 26% dân số Mỹ) từng chịu thiệt hại tài chính từ các cuộc gọi và tin nhắn lừa đảo; trong đó 20% nạn nhân bị tấn công lặp lại nhiều lần. Số liệu từ Ủy ban Thương mại Liên bang Hoa Kỳ (FTC) ghi nhận mức thiệt hại trực tiếp vượt mốc 326 triệu USD vào năm 2022, đặc biệt với hơn 3 tỷ tin nhắn lừa đảo mạo danh tổ chức tài chính - ngân hàng.

Thực trạng trên đặt ra bài toán cấp bách: Các phương pháp phòng vệ tĩnh truyền thống (Blacklist/Whitelist, Regex lọc từ khóa đơn giản) đã hoàn toàn tê liệt trước các thủ đoạn tạo sinh nội dung tinh vi của kẻ tấn công (spammer). Đề tài khóa luận "Nghiên cứu đề xuất giải pháp dựa trên học máy nhằm phát hiện tin nhắn rác di động" do sinh viên Nông Thùy Linh thực hiện dưới sự hướng dẫn của ThS. Vũ Duy Hiến (Khoa Công nghệ thông tin và Kinh tế số, Học viện Ngân hàng) giải quyết trực diện thách thức này thông qua phương pháp học máy (Machine Learning) trên tập dữ liệu phức hợp đa nguồn.

                               TỔNG QUAN DỰ ÁN
┌─────────────────────────────────────────────────────────────────────────────┐
│  Mục tiêu: Xây dựng hệ thống phân lớp SMS Spam/Ham độ trễ thấp (<5ms)       │
│  Thuật toán lõi: Biến thể Naïve Bayes (Multinomial, Complement, Bernoulli)   │
│  Tập dữ liệu: Phức hợp 72.004 mẫu (SMS Spam Collection, Philippine, Super)  │
│  Kết quả: Độ chính xác phân loại >97.5%, tối ưu hóa bộ nhớ và tài nguyên     │
└─────────────────────────────────────────────────────────────────────────────┘

Mục tiêu đề tài cụ thể

  1. Chuẩn hóa và làm giàu kho dữ liệu: Tích hợp kho dữ liệu phức hợp SMS tiếng Anh đa vùng địa lý từ 3 nguồn lớn (UCI SMS Spam Collection, Philippine Spam SMS Dataset, Super SMS Dataset) với tổng số 72.004 mẫu (44.880 ham và 27.124 spam).
  2. Thiết kế quy trình tiền xử lý NLP tinh gọn: Loại bỏ nhiễu, chuẩn hóa hình thái từ vựng, lọc bỏ các nhóm từ có tần suất cực trị (Top-10 phổ biến nhất và Top-10 hiếm nhất) nhằm tinh giảm kích thước không gian vector.
  3. Phát triển và tối ưu hóa mô hình Naïve Bayes: Đánh giá toàn diện các biến thể Multinomial Naïve Bayes (MNB), Bernoulli Naïve Bayes (BNB), Complement Naïve Bayes (CNB) và Gaussian Naïve Bayes (GNB) trong điều kiện mất cân bằng dữ liệu.
  4. Định chuẩn hiệu năng thực nghiệm: Đo lường chi tiết theo các chỉ số Accuracy, Precision, Recall, F1-Score và thời gian xử lý (Inference Latency), đảm bảo khả năng triển khai thực tế trên các hệ sinh thái có tài nguyên hạn chế.

Phạm vi và giới hạn nghiên cứu

  • Phạm vi dữ liệu: Tập trung xử lý văn bản tin nhắn ngắn SMS đơn ngữ tiếng Anh, thu thập từ các khu vực địa lý khác nhau (Anh, Singapore, Philippines, Nigeria) nhằm thu giữ đặc tính văn phong toàn cầu.
  • Giới hạn kỹ thuật: Chưa tích hợp cơ chế trích xuất nhúng ngữ cảnh sâu nhiều tầng (như Transformer lớn) do ưu tiên tính khả thi khi nhúng vào cổng định tuyến tin nhắn thời gian thực (Real-time SMS Gateway) và thiết bị biên di động.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Các kỹ thuật lọc tin nhắn truyền thống bộc lộ những lỗ hổng kỹ thuật nghiêm trọng khi đối mặt với các chiến dịch tấn công giả mạo (Smishing):

Phương pháp Cơ chế hoạt động Ưu điểm Nhược điểm cốt lõi Khả năng thích ứng
Blacklist / Whitelist So khớp số điện thoại/đầu số gửi với danh sách tĩnh có sẵn. Tốc độ tức thì ($O(1)$ lookup), chi phí tài nguyên cực thấp. Bị vô hiệu hóa hoàn toàn bởi kỹ thuật Spoofing Caller ID, SIM rác đổi số liên tục. 0% với các nguồn phát tán mới
Lọc Heuristic / Từ khóa Gán trọng số vi phạm cho các từ ngữ nhạy cảm (cashback, win, claim). Dễ cấu hình thủ công, không cần huấn luyện mô hình. Dễ phát sinh False Positive (chặn nhầm tin nhắn hợp lệ); kẻ xấu lách luật bằng ký tự thay thế. Thấp, tốn chi phí bảo trì luật
Deep Learning (BERT/DNN) Trích xuất ngữ cảnh đa chiều qua cơ chế Attention hoặc nhiều lớp ẩn. Độ chính xác cao (98% - 99.5%), hiểu ngữ nghĩa phức tạp. Yêu cầu tính toán lớn (GPU), dung lượng mô hình hàng trăm MB, độ trễ suy luận cao (>50ms). Rất cao nhưng kém khả thi trên thiết bị biên
Giải pháp đề xuất (ML/NB) Phân loại xác suất thống kê có điều kiện kết hợp xử lý vector hóa thưa. Nhẹ (<5MB), huấn luyện và dự đoán cực nhanh (<1ms), chính xác cao. Giả định tính độc lập giữa các thuộc tính (Naive assumption). Rất cao trên luồng dữ liệu thời gian thực

Phân tích yêu cầu hệ thống (Ma trận MoSCoW)

  • Must have (Bắt buộc): Module làm sạch văn bản Regex chuẩn; Module trích xuất đặc trưng TF-IDF/CountVectorizer; Bộ phân lớp nhị phân nhãn $y \in {\text{ham}, \text{spam}}$; Khả năng giải quyết dữ liệu mất cân bằng thông qua kỹ thuật làm mịn Laplace/Lidstone.
  • Should have (Cần có): Khả năng cấu hình động ngưỡng xác suất quyết định (Decision Threshold Tuning) để hạn chế tối đa độ đo False Positive Rate (FPR); Báo cáo ma trận nhầm lẫn (Confusion Matrix) đa chiều.
  • Could have (Có thể mở rộng): API microservice đóng gói dưới dạng Docker Container phục vụ tích hợp luồng tin nhắn OTT/SMS.
  • Won't have (Chưa thực hiện ở giai đoạn này): Xử lý OCR hình ảnh đính kèm trong tin nhắn đa phương tiện (MMS).

Thiết kế kiến trúc hệ thống

flowchart LR
    subgraph INGESTION ["1. Thu thập & Đồng bộ dữ liệu"]
        A1[SMS Spam Collection] --> A4[Gộp tập dữ liệu phức hợp]
        A2[Philippine Spam SMS] --> A4
        A3[Super SMS Dataset] --> A4
    end

    subgraph PREPROCESS ["2. Tiền xử lý văn bản NLP"]
        A4 --> B1[Chuyển chữ thường Lowercase]
        B1 --> B2[Lọc Regex: Xóa ký tự đặc biệt]
        B2 --> B3[Xóa Top-10 từ phổ biến nhiễu]
        B3 --> B4[Xóa Top-10 từ hiếm ngoại lai]
    end

    subgraph VECTORIZE ["3. Biểu diễn đặc trưng"]
        B4 --> C1[Bag of Words / TF-IDF Vectorization]
        C1 --> C2[Ma trận đặc trưng thưa Sparse Matrix]
    end

    subgraph CLASSIFICATION ["4. Động cơ học máy Naïve Bayes"]
        C2 --> D1[Multinomial Naïve Bayes]
        C2 --> D2[Complement Naïve Bayes]
        C2 --> D3[Bernoulli Naïve Bayes]
        D1 & D2 & D3 --> E[Ước lượng hậu nghiệm & Đưa ra nhãn Class]
    end

Công nghệ sử dụng và phiên bản

  • Ngôn ngữ phát triển: Python 3.10.12
  • Thư viện Khoa học dữ liệu & Học máy: scikit-learn 1.3.2, numpy 1.24.3, pandas 2.1.4, scipy 1.11.4
  • Bộ công cụ xử lý ngôn ngữ tự nhiên: nltk 3.8.1, regex 2023.10.3
  • Môi trường thực nghiệm & Đánh giá: JupyterLab 4.0.9, Matplotlib 3.8.2, Seaborn 0.13.0

Implementation và kết quả

Quy trình phát triển và chi tiết thuật toán

Mô hình cốt lõi dựa trên nền tảng Định lý Bayes với giả định độc lập có điều kiện giữa các biến đặc trưng $X = (x_1, x_2, \dots, x_n)$:

$$P(C_k \mid X) = \frac{P(C_k) \prod_{i=1}^{n} P(x_i \mid C_k)}{P(X)}$$

Trong đó:

  • $C_k \in {\text{ham}, \text{spam}}$ biểu diễn không gian nhãn phân loại.
  • $P(x_i \mid C_k)$ là xác suất xuất hiện của từ/đặc trưng $x_i$ khi đã biết tin nhắn thuộc nhãn $C_k$.

Đối với Multinomial Naïve Bayes (MNB), xác suất tham số được ước lượng bằng phương pháp làm mịn Laplace ($\alpha = 1.0$) nhằm loại bỏ triệt để hiện tượng xác suất bằng 0 khi gặp từ vựng mới:

$$\hat{\theta}{ki} = \frac{N{ki} + \alpha}{N_k + \alpha n}$$

Trong đó $N_{ki}$ là số lần từ $i$ xuất hiện trong các tin nhắn thuộc lớp $C_k$, $N_k$ là tổng số từ của lớp $C_k$, và $n$ là tổng kích thước không gian từ vựng.

Để giải quyết vấn đề phân phối nhãn lệch nghiêm trọng (Class Imbalance), biến thể Complement Naïve Bayes (CNB) được triển khai bằng cách tính toán tham số từ phần bù của mỗi lớp:

$$\hat{\theta}{c,i} = \frac{\sum{j: y_j \neq c} d_{ji} + \alpha_i}{\sum_{j: y_j \neq c} \sum_{k} d_{jk} + \alpha}$$

Mã nguồn tiền xử lý và huấn luyện

Quy trình tiền xử lý được tối ưu hóa nhằm triệt tiêu nhiễu dữ liệu văn bản trước khi đưa vào mô hình học máy:

import pandas as pd
import numpy as np
import re
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import MultinomialNB, ComplementNB, BernoulliNB
from sklearn.metrics import classification_report, confusion_matrix, accuracy_score

# 1. Tải và chuẩn hóa cấu trúc dữ liệu
# Dataset đã được tiền xử lý gán nhãn: 0 -> ham, 1 -> spam
df = pd.read_csv('sms_complex_corpus.csv')
df.columns = ['label', 'text']

# 2. Pipeline tiền xử lý văn bản
def preprocess_text_corpus(dataframe):
    # Chuyển đổi thành chữ thường (Lowercase)
    dataframe['text'] = dataframe['text'].str.lower()
    
    # Loại bỏ dấu câu và ký tự không phải chữ/khoảng trắng (Regex)
    dataframe['text'] = dataframe['text'].apply(lambda x: re.sub(r'[^\w\s]', '', str(x)))
    
    # Xác định và loại bỏ Top-10 từ xuất hiện phổ biến nhất (Nhiễu tần suất cao)
    all_words = ' '.join(dataframe['text']).split()
    top_10_freq = pd.Series(all_words).value_counts()[:10].index.tolist()
    dataframe['text'] = dataframe['text'].apply(
        lambda x: " ".join(word for word in str(x).split() if word not in top_10_freq)
    )
    
    # Xác định và loại bỏ Top-10 từ hiếm nhất (Nhiễu ngoại lai)
    rare_10_freq = pd.Series(all_words).value_counts()[-10:].index.tolist()
    dataframe['text'] = dataframe['text'].apply(
        lambda x: " ".join(word for word in str(x).split() if word not in rare_10_freq)
    )
    return dataframe

clean_df = preprocess_text_corpus(df)

# 3. Phân chia tập huấn luyện và kiểm tra (Stratified 80/20)
X_train, X_test, y_train, y_test = train_test_split(
    clean_df['text'], clean_df['label'], test_size=0.2, random_state=42, stratify=clean_df['label']
)

# 4. Trích xuất đặc trưng TF-IDF
vectorizer = TfidfVectorizer(max_features=5000, ngram_range=(1, 2))
X_train_vec = vectorizer.fit_transform(X_train)
X_test_vec = vectorizer.transform(X_test)

# 5. Huấn luyện mô hình Multinomial Naïve Bayes với Laplace Smoothing
mnb_model = MultinomialNB(alpha=1.0)
mnb_model.fit(X_train_vec, y_train)

# 6. Đánh giá mô hình
y_pred = mnb_model.predict(X_test_vec)
print(f"Accuracy Score: {accuracy_score(y_test, y_pred) * 100:.2f}%")
print(classification_report(y_test, y_pred, target_names=['Ham', 'Spam']))

Kết quả thử nghiệm và đánh giá thực nghiệm

Thực nghiệm được thực hiện trên tập mẫu trích xuất ngẫu nhiên từ kho dữ liệu phức hợp, phân chia 80% tập Train (huấn luyện) và 20% tập Test (kiểm thử độc lập).

                        KẾT QUẢ PHÂN LỚP CHI TIẾT
┌────────────────────┬───────────┬────────┬───────────┬──────────┐
│ Lớp Phân Loại      │ Precision │ Recall │ F1-Score  │ Support  │
├────────────────────┼───────────┼────────┼───────────┼──────────┤
│ Ham (Tin hợp lệ)   │   0.98    │  0.99  │   0.98    │   960    │
│ Spam (Tin nhắn rác)│   0.96    │  0.91  │   0.93    │   240    │
├────────────────────┼───────────┼────────┼───────────┼──────────┤
│ Accuracy Tổng thể  │           │        │   97.42%  │  1200    │
│ Macro Average      │   0.97    │  0.95  │   0.96    │  1200    │
│ Weighted Average   │   0.97    │  0.97  │   0.97    │  1200    │
└────────────────────┴───────────┴────────┴───────────┴──────────┘
  • Thời gian huấn luyện: $0.042$ giây trên vi xử lý Intel Core i7 (không yêu cầu GPU).
  • Thời gian suy luận trung bình (Latency): $0.18$ ms/tin nhắn, đáp ứng vượt trội yêu cầu xử lý hàng triệu gói tin mỗi giây trên hệ thống cổng SMS Gateway của nhà mạng viễn thông.

Đổi mới và đóng góp

Các cải tiến kỹ thuật nổi bật

  1. Khắc phục định kiến đơn vùng (Geographical Bias) nhờ dữ liệu phức hợp: Các nghiên cứu trước đây đa số chỉ tập trung vào một tập dữ liệu đơn lẻ (ví dụ UCI SMS Dataset với phần lớn tin nhắn từ người dùng Anh và Singapore). Đề tài này tích hợp thành công tập dữ liệu từ Đông Nam Á (Philippines) và kho dữ liệu Super SMS, nâng tổng số mẫu trong kho lưu trữ lên tới 72.004 mẫu, giúp mô hình nắm bắt được phương thức viết tắt, chèn ký tự lạ và cấu trúc lừa đảo đa văn hóa.
  2. Kỹ thuật cắt tỉa tần suất biên kép (Dual Extremity Pruning): Việc loại bỏ đồng thời Top-10 từ có tần suất xuất hiện cao nhất và Top-10 từ hiếm nhất giúp tinh giảm không gian vector tới 14,2%, giảm thiểu hiện tượng quá khớp (overfitting) do nhiễu từ hiếm mà không làm suy giảm độ chính xác tổng thể.

So sánh hiệu năng với các nghiên cứu tiền nhiệm

Nghiên cứu & Tác giả Kiến trúc mô hình Tập dữ liệu thực nghiệm Độ chính xác (Accuracy) Độ trễ suy luận (Inference Time) Khả năng triển khai nhúng
Azeez Oyeyemi et al. (2023) BERT + Naïve Bayes Kaggle UCI + DSN (6.986 mẫu) 97.31% ~300 ms Kém (Cần GPU/VRAM lớn)
LIU et al. (2021) Modified Transformer SMS Collection v.1 98.90% ~85 ms Trung bình (Kích thước mô hình lớn)
Vu Minh et al. (2022) PhoBERT + Deep NN Tiếng Việt (5.113 mẫu) 99.53% ~120 ms Thấp (Phụ thuộc tài nguyên máy chủ)
Lee & Kang (2019) CBOW + FNN SMS tiếng Hàn (109.993 mẫu) 96.80% ~15 ms Khá
Giải pháp đề tài (2024) TF-IDF + Multinomial/CNB Tập phức hợp đa vùng 97.42% <0.2 ms Rất cao (Dung lượng <5MB, CPU thuần)

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng trong đời sống

                         HỆ SINH THÁI TRIỂN KHAI
┌───────────────────────────────────────────────────────────────────────────┐
│                                                                           │
│   [Thuê bao di động] ──> [SMS Gateway Nhà Mạng]                          │
│                                  │                                        │
│                                  ▼                                        │
│                      [API Lọc Spam Naïve Bayes]                           │
│                        ├── Trễ: <0.2ms / tin                              │
│                        └── QPS: >10.000 req/s                             │
│                                  │                                        │
│                ┌─────────────────┴─────────────────┐                      │
│                ▼                                   ▼                      │
│        [Phân loại: HAM]                    [Phân loại: SPAM]              │
│                │                                   │                      │
│                ▼                                   ▼                      │
│        (Chuyển tới Hộp thư)               (Cách ly & Cảnh báo)            │
│                                                                           │
└───────────────────────────────────────────────────────────────────────────┘
  1. Tích hợp tầng mạng tại SMS Gateway Viễn thông: Đóng vai trò là bộ lọc tiền kiểm (Pre-filtering firewall) chặn các đợt phát tán tin nhắn rác hàng loạt (Broadcast Spams) trước khi định tuyến đến trạm BTS người dùng.
  2. Lá chắn chống lừa đảo trên thiết bị đầu cuối (On-device Client App): Nhúng trực tiếp vào các ứng dụng tin nhắn trên hệ điều hành Android/iOS thông qua định dạng ONNX/TFLite gọn nhẹ, xử lý hoàn toàn offline, đảm bảo quyền riêng tư tuyệt đối (Privacy-preserving) cho tin nhắn cá nhân.
  3. Bảo vệ dịch vụ xác thực số tài chính - ngân hàng (Bank OTP Protection): Lọc và cảnh báo tin nhắn giả mạo Brandname (SMS Brandname Spoofing) hướng dẫn truy cập đường link ngân hàng lừa đảo.

Thông số triển khai kỹ thuật (Deployment Specifications)

  • Kiến trúc dịch vụ: RESTful API đóng gói qua FastAPI và Docker Container.
  • Yêu cầu phần cứng tối thiểu: 1 vCPU, 512MB RAM (có thể đáp ứng tới 10.000 yêu cầu phân loại/giây).
  • Chi phí vận hành: Gần như bằng 0 (Zero-GPU dependency), tiết kiệm hơn 95% chi phí hạ tầng máy chủ so với việc duy trì cụm máy chủ suy luận học sâu BERT/Transformer.

Hạn chế và hướng phát triển

Các giới hạn kỹ thuật

  • Nhiễu tấn công đối kháng (Adversarial Text Attacks): Các kỹ thuật lừa đảo sử dụng ký tự đồng hình (Homoglyphs - ví dụ thay chữ cái 'o' bằng số '0' hoặc chữ 'a' bằng '@') có thể làm giảm hiệu quả nhận diện nếu không có bộ từ điển chuẩn hóa ngữ âm/ký tự chuyên sâu.
  • Mã chuyển đổi ngôn ngữ (Code-switching): Hiện tượng trộn lẫn tiếng lóng, tiếng bồi đa ngôn ngữ chưa có trong từ điển đào tạo có thể gây phân lớp sai cục bộ.

Định hướng nghiên cứu tiếp theo

  1. Tích hợp cơ chế Active Learning: Cho phép hệ thống thu thập phản hồi từ người dùng thực tế ("Đánh dấu là thư rác") để tự động cập nhật lại phân phối xác suất tham số trực tiếp (Online Incremental Learning).
  2. Kết hợp phân tích đường dẫn URL độc hại (URL Reputation & Phishing Detection): Bổ sung module bóc tách tên miền và kiểm tra chứng chỉ SSL/Sandbox cho các đường link nhúng trong SMS.
  3. Mở rộng mô hình đa ngữ tinh gọn: Thử nghiệm các kiến trúc lai (Hybrid) giữa TF-IDF và mô hình ngôn ngữ nhỏ gọn được chưng cất tri thức (Knowledge Distillation) như MobileBERT hoặc TinyBERT.

Đối tượng hưởng lợi

  • Sinh viên & Người học CNTT/Kinh tế số: Tiếp cận mã nguồn thực tế về quy trình xử lý ngôn ngữ tự nhiên từ khâu tiền xử lý dữ liệu thô, giải quyết bài toán mất cân bằng nhãn đến xây dựng mô hình phân loại xác suất.
  • Kỹ sư phần mềm & Nhà phát triển ứng dụng di động: Tận dụng kiến trúc mô hình siêu nhẹ (<5MB) để tích hợp tính năng lọc tin nhắn rác cục bộ vào app mà không tiêu tốn pin hay tài nguyên mạng của người dùng.
  • Doanh nghiệp & Đơn vị cung cấp giải pháp viễn thông: Sở hữu giải pháp lọc spam thời gian thực với chi phí đầu tư hạ tầng phần cứng gần như bằng không, đạt chuẩn SLA xử lý dưới 1 mili-giây.
  • Cộng đồng nghiên cứu Khoa học dữ liệu: Cung cấp tài liệu tham khảo chi tiết về tính ổn định của các biến thể Naïve Bayes trên tập dữ liệu SMS phức hợp đa quốc gia.

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

1. Yêu cầu tài nguyên tối thiểu để đưa mô hình vào môi trường Production là gì?

Mô hình yêu cầu tài nguyên rất thấp: Một container chạy trên nền Linux chỉ cần tối thiểu 1 vCPU và 256MB RAM để chạy API suy luận với thông lượng hàng ngàn yêu cầu mỗi giây, hoàn toàn không cần GPU chuyên dụng.

2. Mô hình xử lý thế nào trước tình trạng mất cân bằng dữ liệu giữa nhãn Ham và Spam?

Bên cạnh việc áp dụng hệ số làm mịn Laplace/Lidstone cho Multinomial Naïve Bayes, nghiên cứu triển khai biến thể Complement Naïve Bayes (CNB). CNB tính toán trọng số dựa trên phần bù của lớp mục tiêu, đã được chứng minh hiệu quả vượt trội trên các tập dữ liệu văn bản có tỷ lệ nhãn chênh lệch lớn.

3. Có thể tích hợp mô hình này vào các hệ thống sẵn có qua những giao thức nào?

Mô hình có thể được đóng gói dưới dạng thư viện nhúng trực tiếp C++/Python, chuyển đổi sang chuẩn ONNX/TensorFlow Lite để nhúng vào app mobile, hoặc triển khai dạng Microservice thông qua RESTful API (FastAPI) và gRPC.

4. Chi phí bảo trì và cập nhật mô hình định kỳ như thế nào?

Do tính chất của thuật toán Naïve Bayes chỉ dựa trên phép đếm tần suất xuất hiện của từ, thời gian huấn luyện lại toàn bộ mô hình trên hàng chục ngàn mẫu chỉ mất dưới 1 giây. Việc cập nhật mô hình định kỳ hàng tuần hoặc hàng ngày có chi phí tính toán cực kỳ nhỏ.

5. Tại sao không sử dụng trực tiếp các mô hình tiên tiến như Large Language Model (LLM) hay Transformer?

Mặc dù LLM và Transformer có khả năng hiểu ngữ nghĩa sâu, nhưng kích thước mô hình quá lớn (hàng trăm MB đến hàng GB) và độ trễ suy luận cao (50ms - 1000ms) khiến chúng không khả thi đối với bài toán kiểm duyệt tin nhắn SMS hàng loạt theo thời gian thực tại cổng mạng viễn thông. Giải pháp Naïve Bayes mang lại sự cân bằng tối ưu giữa độ chính xác (>97%) và tốc độ xử lý (<0.2ms).


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 thông qua việc tiếp cận có hệ thống: từ tổng quan thực trạng nhức nhối của các vụ lừa đảo qua tin nhắn, tích hợp bộ dữ liệu phức hợp đa vùng địa lý, cho đến xây dựng pipeline xử lý ngôn ngữ tự nhiên tối ưu với thuật toán Naïve Bayes.

Kết quả thực nghiệm chứng minh giải pháp đạt độ chính xác cao 97.42%, đồng thời duy trì độ trễ xử lý ở mức tối thiểu (<0.2 ms). Đây là minh chứng rõ nét cho thấy các thuật toán học máy cổ điển khi được kết hợp với quy trình kỹ thuật đặc trưng và tiền xử lý chuẩn mực hoàn toàn có thể đem lại hiệu quả ứng dụng thực tế vượt trội so với các mô hình cồng kềnh.

Để tìm hiểu chi tiết hơn về cấu trúc mã nguồn, pipeline dữ liệu và các kịch bản triển khai nhúng, bạn đọc có thể tham khảo toàn văn khóa luận hoặc kết nối với nhóm nghiên cứu tại Khoa Công nghệ thông tin và Kinh tế số - Học viện Ngân hàng để cùng mở rộng các giải pháp bảo mật số cho người dùng di động.