Giới thiệu dự án

Sự bùng nổ của các nền tảng mạng xã hội như Facebook, YouTube, TikTok và X đã định hình lại phương thức giao tiếp toàn cầu, nhưng đồng thời cũng làm gia tăng các hành vi tiêu cực trên không gian mạng. Theo báo cáo Digital Civility Index do Microsoft công bố, Việt Nam từng nằm trong top 5 quốc gia có mức độ văn minh thấp nhất trên không gian Internet với tỷ lệ người dùng trải nghiệm các hành vi quấy rối, xúc phạm và thù ghét lên đến hơn 87%. Các phát ngôn tiêu cực không chỉ gây tổn thương tâm lý, dẫn đến các hội chứng trầm cảm và hiện tượng bắt nạt qua mạng (cyberbullying), mà còn làm suy giảm mức độ tương tác lành mạnh trên các nền tảng số.

Vấn đề thực tiễn (Problem Statement)

Hệ thống kiểm duyệt nội dung tự động cho tiếng Việt hiện nay đối mặt với nhiều thách thức nghiêm trọng:

  • Đặc trưng ngôn ngữ phức tạp: Tiếng Việt có tính đơn lập, phụ thuộc chặt chẽ vào ngữ cảnh, từ ghép và có lượng lớn biến thể teencode, viết tắt thô tục (đm, vcl, clm), từ lóng đa nghĩa hoặc cố tình viết sai chính tả để vượt qua bộ lọc từ khóa (keyword filter).
  • Mất cân bằng dữ liệu (Class Imbalance): Trong tập dữ liệu thực tế ViHSD (Vietnamese Hate Speech Detection), số lượng nhãn lành mạnh (Clean) chiếm áp đảo (hơn 80%), trong khi các nhãn xúc phạm (Offensive) và thù ghét (Hate) chỉ chiếm tỷ lệ nhỏ, khiến mô hình học máy thông thường bị thiên lệch về nhãn đa số.
  • Hạn chế của mô hình truyền thống: Các thuật toán như SVM hay Naive Bayes phụ thuộc vào trích xuất đặc trưng thủ công (TF-IDF, n-gram), không nắm bắt được ngữ cảnh hai chiều của câu văn ngắn.

Mục tiêu dự án

  1. Nghiên cứu & Chuẩn hóa tiền xử lý: Xây dựng quy trình làm sạch văn bản tối ưu cho tiếng Việt, loại bỏ nhiễu ký tự nhưng bảo toàn ngữ nghĩa cảm xúc.
  2. Thiết kế kiến trúc học sâu kết hợp: Xây dựng mô hình lai PhoBERT-CNN, tích hợp năng lực mã hóa ngữ cảnh của mô hình Transformer tiền huấn luyện tiếng Việt (PhoBERT) với khả năng trích xuất đặc trưng cục bộ đa kích thước của mạng nơ-ron tích chập (CNN).
  3. Phát triển kỹ thuật tăng cường dữ liệu mới: Đề xuất phương pháp tăng cường dữ liệu theo ngữ cảnh dựa trên Masked Language Model của PhoBERT (PhoBERT-FI) nhằm khắc phục hiện tượng mất cân bằng dữ liệu, thay thế phương pháp EDA truyền thống vốn phụ thuộc vào từ điển WordNet-Vi còn thiếu hụt.
  4. Tối ưu hóa siêu tham số & Đánh giá toàn diện: Sử dụng Grid Search để tinh chỉnh siêu tham số và đánh giá mô hình bằng các chỉ số Macro F1-Score và Confusion Matrix.

Phạm vi và giới hạn

  • Dữ liệu: Nghiên cứu thực hiện trên bộ dữ liệu chuẩn hóa ViHSD gồm 33.400+ bình luận gán nhãn thủ công với 3 nhãn: Clean, Offensive, Hate.
  • Tài nguyên: Mô hình sử dụng cấu hình Base (PhoBERT-base với 110 triệu tham số) nhằm đảm bảo khả năng triển khai trên hạ tầng phần cứng tiêu chuẩn.

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

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

Phương pháp Ưu điểm Nhược điểm Macro F1-Score
Mô hình truyền thống (SVM + TF-IDF) Huấn luyện nhanh, cấu hình đơn giản, chi phí tính toán thấp Bỏ qua ngữ cảnh, không bắt được quan hệ từ phi tuyến, phụ thuộc đặc trưng thủ công 45.0% - 52.0%
Mô hình học sâu độc lập (Word2Vec + CNN) Trích xuất n-gram linh hoạt, phù hợp câu ngắn Word2Vec tĩnh không giải quyết được từ đồng âm khác nghĩa, phụ thuộc từ điển 58.31%
Pre-trained đa ngôn ngữ (mBERT / XLM-R) Nắm bắt ngữ cảnh hai chiều Không tối ưu cho cú pháp và từ ghép đặc thù tiếng Việt 56.40%
PhoBERT-base (Đơn lẻ) Được huấn luyện trên 20GB dữ liệu tiếng Việt (Wikipedia + Báo chí) Lớp phân loại Fully Connected đơn tầng chưa khai thác hết đặc trưng cục bộ 60.10%
Giải pháp đề xuất: PhoBERT-CNN + PhoBERT-FI Biểu diễn ngữ cảnh sâu kết hợp lọc đặc trưng đa tầng và cân bằng nhãn Chi phí tính toán huấn luyện cao hơn các mô hình đơn 65.50% - 67.80%

Ưu tiên yêu cầu theo mô hình MoSCoW:

  • Must have: Pipeline tiền xử lý văn bản tiếng Việt chuẩn (VnCoreNLP), mô hình mã hóa PhoBERT, mạng CNN 2D trích xuất đặc trưng với các bộ lọc kích thước [1, 2, 3, 5], bộ tăng cường dữ liệu khắc phục mất cân bằng.
  • Should have: Tìm kiếm siêu tham số tự động bằng Grid Search, hàm mất mát Categorical Cross-Entropy Loss tối ưu hóa cho bài toán phân loại đa lớp.
  • Could have: Đánh giá độ trễ suy luận (inference latency) và tối ưu hóa lượng tử hóa trọng số.
  • Won't have: Triển khai real-time trên ứng dụng di động trong phạm vi nghiên cứu này.

Thiết kế hệ thống

Kiến trúc giải pháp được thiết kế thành một quy trình tích hợp gồm 4 khối chức năng:

[Raw Comments] 
[Khối Tiền xử lý (VnCoreNLP, Normalization, Noise Filter)]
[Khối Tăng cường dữ liệu (PhoBERT-FI Pipeline)]
[PhoBERT Contextual Embeddings (Hidden Size: 768)]
[Convolutional 2D Layers (Kernels: 1, 2, 3, 5 | Filters: 32)]

Technology Stack và phiên bản:

  • Ngôn ngữ: Python 3.9+
  • Deep Learning Framework: PyTorch 2.0.1 / TensorFlow 2.12.0 & Keras
  • NLP Library: Hugging Face Transformers 4.30.2, VnCoreNLP 1.1.1 (Java-based Tokenizer)
  • Data Manipulation & Metrics: Scikit-learn 1.2.2, Pandas 2.0.2, NumPy 1.24.3

Methodology

Quy trình phát triển tuân theo mô hình lặp thực nghiệm khoa học dữ liệu (Data-Driven Iterative Lifecycle):

  1. Phân tích phân phối dữ liệu: Thống kê độ dài câu, tỷ lệ từ hiếm và mức độ phân bố nhãn trên ViHSD.
  2. Thực nghiệm tiền xử lý có kiểm soát: Đo lường tác động độc lập của từng kỹ thuật (loại bỏ stop words, chuẩn hóa dấu, teencode).
  3. Thiết kế & Huấn luyện: Tinh chỉnh song song các kiến trúc CNN, BERT, PhoBERT và PhoBERT-CNN với các kỹ thuật tăng cường dữ liệu (Gốc, EDA, PhoBERT-aug, PhoBERT-FI).
  4. Phân tích định lượng & định tính: Đánh giá thông qua ma trận nhầm lẫn (Confusion Matrix) và mổ xẻ các trường hợp phân loại sai (Error Analysis).

Implementation và kết quả

Development Process

1. Quy trình Tiền xử lý Dữ liệu

Các bước xử lý văn bản thô được thực hiện tuần tự:

  • Chuẩn hóa Unicode và thanh dấu: Đồng bộ về chuẩn Unicode dựng sẵn (NFC) và quy tắc bỏ dấu chuẩn tiếng Việt (ví dụ: thành òa).
  • Làm sạch nhiễu mạng xã hội: Loại bỏ toàn bộ icon/emoji, đường dẫn URL (https://... -> website), số tiền (500k -> số_tiền), hashtag (#trend -> hashtag), dấu gạch chéo/gạch dưới.
  • Rút gọn ký tự lặp: Xử lý từ kéo dài do cố tình nhấn mạnh cảm xúc (ví dụ: chàoooooooooo -> chào, nguuu -> ngu).
  • Tách từ (Word Segmentation): Sử dụng VnCoreNLP để gom cụm từ ghép (ví dụ: Chúng ta hãy học tập -> Chúng_ta hãy học_tập).
  • Phát hiện quan trọng: Không loại bỏ từ dừng (stop words). Trong bài toán phân loại phát ngôn tiêu cực, các từ đại từ hoặc liên từ có vai trò quan trọng trong việc xác định đối tượng công kích. Thực nghiệm cho thấy loại bỏ stop words làm giảm Macro F1-Score từ 2% - 3%.

2. Kỹ thuật Tăng cường Dữ liệu PhoBERT-FI (Focused Imbalance)

Thay vì sử dụng EDA với từ điển WordNet-Vi (chỉ bao phủ 43.09% từ vựng tiếng Việt và thường xuyên tạo từ sai ngữ cảnh), nghiên cứu xây dựng giải pháp tận dụng Masked Language Model (MLM) của PhoBERT:

import torch
from transformers import AutoModelForMaskedLM, AutoTokenizer
import random

class PhoBERTContextualAugmenter:
    def __init__(self, model_name="vinai/phobert-base"):
        self.tokenizer = AutoTokenizer.from_pretrained(model_name)
        self.model = AutoModelForMaskedLM.from_pretrained(model_name)
        self.model.eval()

    def augment_sentence(self, sentence, mask_ratio=0.15):
        tokens = self.tokenizer.tokenize(sentence)
        num_to_mask = max(1, int(len(tokens) * mask_ratio))
        
        # Chỉ mask các token mang ý nghĩa (không mask token đặc biệt)
        eligible_indices = [i for i, t in enumerate(tokens) if not t.startswith("<")]
        if not eligible_indices:
            return sentence
            
        mask_indices = random.sample(eligible_indices, min(num_to_mask, len(eligible_indices)))
        masked_tokens = tokens.copy()
        for idx in mask_indices:
            masked_tokens[idx] = self.tokenizer.mask_token

        input_ids = self.tokenizer.convert_tokens_to_ids(masked_tokens)
        input_tensor = torch.tensor([input_ids])

        with torch.no_grad():
            outputs = self.model(input_tensor)
            predictions = outputs.logits

        for idx in mask_indices:
            predicted_id = torch.argmax(predictions[0, idx]).item()
            masked_tokens[idx] = self.tokenizer.convert_ids_to_tokens(predicted_id)

        return self.tokenizer.convert_tokens_to_string(masked_tokens)

3. Xây dựng Kiến trúc PhoBERT-CNN

import torch
import torch.nn as nn
from transformers import AutoModel

class PhoBERT_CNN_Classifier(nn.Module):
    def __init__(self, phobert_model="vinai/phobert-base", num_classes=3, num_filters=32, filter_sizes=[1, 2, 3, 5], dropout=0.2):
        super(PhoBERT_CNN_Classifier, self).__init__()
        self.phobert = AutoModel.from_pretrained(phobert_model)
        embedding_dim = self.phobert.config.hidden_size  # 768
        
        # Tạo danh sách các khối tích chập 2D với filter sizes đa dạng
        self.convs = nn.ModuleList([
            nn.Conv2d(in_channels=1, out_channels=num_filters, kernel_size=(fs, embedding_dim))
            for fs in filter_sizes
        ])
        
        self.dropout = nn.Dropout(dropout)
        self.fc = nn.Linear(len(filter_sizes) * num_filters, num_classes)
        self.relu = nn.ReLU()

    def forward(self, input_ids, attention_mask):
        # 1. Trích xuất đặc trưng ngữ cảnh từ PhoBERT
        outputs = self.phobert(input_ids=input_ids, attention_mask=attention_mask)
        sequence_output = outputs.last_hidden_state  # [batch_size, seq_len, 768]
        
        # 2. Reshape đưa vào mạng tích chập 2D
        x = sequence_output.unsqueeze(1)  # [batch_size, 1, seq_len, 768]
        
        # 3. Tích chập và Max-over-time Pooling
        pooled_outputs = []
        for conv in self.convs:
            c = self.relu(conv(x))  # [batch_size, num_filters, seq_len - fs + 1, 1]
            c = c.squeeze(3)        # [batch_size, num_filters, seq_len - fs + 1]
            p = torch.max(c, dim=2)[0]  # [batch_size, num_filters]
            pooled_outputs.append(p)
            
        # 4. Ghép các đặc trưng và phân loại
        cat = torch.cat(pooled_outputs, dim=1)  # [batch_size, num_filters * 4]
        out = self.dropout(cat)
        logits = self.fc(out)                   # [batch_size, num_classes]
        return logits

Testing và validation

Mô hình được huấn luyện và tối ưu với hàm mất mát Categorical Cross-Entropy Loss:

$$\mathcal{L}(y, \hat{y}) = - \frac{1}{N} \sum_{i=1}^{N} \sum_{j=1}^{C} y_{ij} \log(\hat{y}_{ij})$$

Trong đó $N$ là số mẫu, $C=3$ là số lượng nhãn (Clean, Offensive, Hate), $y_{ij}$ là nhãn thực tế dạng one-hot và $\hat{y}_{ij}$ là xác suất dự đoán sau hàm kích hoạt Softmax.

Tham số huấn luyện tối ưu (Hyperparameters):

  • Learning rate: $3 \times 10^{-5}$
  • Batch size: 256 (cho CNN và PhoBERT-CNN), 64 (cho BERT/PhoBERT độc lập)
  • Optimizer: AdamW với trọng số suy giảm (weight decay) $0.01$
  • Epochs: 10 (áp dụng Early Stopping với patience = 3)

Kết quả đạt được

1. Đánh giá Tác động của Tiền xử lý Dữ liệu

Mô hình Không Tiền xử lý (F1 / Acc %) Đã Tiền xử lý (F1 / Acc %) Mức tăng F1-Score
CNN 58.31 / 86.42 62.15 / 87.10 +3.84%
BERT-base 56.40 / 85.12 59.87 / 85.90 +3.47%
PhoBERT-base 60.10 / 87.80 64.92 / 88.55 +4.82%
PhoBERT-CNN 61.50 / 88.20 67.89 / 89.92 +6.39%

2. So sánh Hiệu quả Tăng cường Dữ liệu trên Mô hình PhoBERT-CNN

Phương pháp Tăng cường Kích thước tập Train Macro F1-Score Accuracy F1 (Offensive) F1 (Hate)
Gốc (Original ViHSD) 24,048 mẫu 67.89% 89.92% 58.20% 55.40%
EDA ($\alpha=0.05, n_{aug}=8$) 57,344 mẫu 68.45% 90.05% 60.10% 57.80%
PhoBERT-aug (Cách 1: Gấp đôi) 48,096 mẫu 68.90% 90.20% 61.30% 58.90%
PhoBERT-FI (Cách 2: Cân bằng) 35,500 mẫu 71.35% 91.15% 65.80% 63.45%

Nhận xét: Kỹ thuật PhoBERT-FI tập trung sinh dữ liệu cho hai nhãn thiểu số (Offensive và Hate) giúp Macro F1-Score tăng vượt trội +3.46% so với dữ liệu gốc và cao hơn hẳn phương pháp EDA (+2.90%), đồng thời giảm thiểu hiện tượng sinh câu sai ngữ cảnh.


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

  1. Kiến trúc Lai PhoBERT-CNN Tối ưu: Khác với các nghiên cứu trước đây chỉ sử dụng một lớp tuyến tính (Linear Layer) phía sau PhoBERT, việc tích hợp mạng CNN với 4 kích thước bộ lọc (1, 2, 3, 5) cho phép mô hình đồng thời bắt được cả ngữ nghĩa toàn cục và các đặc trưng từ lóng, cụm từ chửi thề cục bộ.
  2. Giải pháp Tăng cường Dữ liệu Theo Ngữ Cảnh (PhoBERT-FI): Đã giải quyết triệt để điểm yếu của phương pháp EDA truyền thống. Khi kiểm thử trên WordNet-Vi, EDA tạo ra các câu sai lệch nghĩa nghiêm trọng (ví dụ: khám não bị đổi thành khám óc, ngu đổi thành tối tăm). PhoBERT-FI sử dụng cơ chế Masked Language Model giúp bảo toàn 100% tính tự nhiên của câu tiếng Việt.
  3. Phân tích Bản chất Từ Dừng (Stop Words): Chứng minh thực nghiệm rằng việc loại bỏ stop words là sai lầm trong tác vụ phân loại toxic comments tiếng Việt, cung cấp bằng chứng khoa học cho các nghiên cứu tiếp theo.
So sánh Chất lượng Tăng cường Dữ liệu:
Câu gốc:  "Tên này trông ngu vậy"

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

Kịch bản Triển khai (Use Cases)

  • Hệ thống Kiểm duyệt Tự động cho Sàn Thương mại Điện tử: Tự động lọc các đánh giá sản phẩm mang tính lăng mạ, bôi nhọ đối thủ không lành mạnh.
  • Bảo vệ Trẻ em và Cộng đồng trên MXH: Tích hợp bot tự động ẩn các bình luận hate speech trong các nhóm cộng đồng, kênh giáo dục hoặc phát trực tiếp (livestream).
  • Phân tích Cảm xúc Thương hiệu (Brand Sentiment Analytics): Phân loại chính xác các phản hồi tiêu cực gay gắt để bộ phận chăm sóc khách hàng xử lý khẩn cấp.

Kiến trúc Triển khai Sản phẩm (Production Deployment)

Đặc tả API Endpoint:

  • Endpoint: POST /api/v1/classify-comment
  • Payload:
{
  "comment_id": "cmt_98231",
  "text": "Bọn này toàn lũ lừa đảo, cút đi",
  "threshold": 0.75
}
  • Response:
{
  "comment_id": "cmt_98231",
  "predicted_label": "Hate",
  "confidence_scores": {
    "Clean": 0.021,
    "Offensive": 0.114,
    "Hate": 0.865
  },
  "processing_time_ms": 32.4
}

Hiệu quả Kinh tế và Vận hành (ROI)

  • Tốc độ xử lý: Đạt trung bình 30 - 45ms/bình luận khi chạy suy luận trên GPU NVIDIA T4, hỗ trợ throughput lên đến 500 requests/giây với cơ chế dynamic batching.
  • Tiết kiệm chi phí: Giảm hơn 80% khối lượng công việc kiểm duyệt thủ công, giúp doanh nghiệp tiết kiệm hàng trăm giờ nhân sự mỗi tháng và giảm thiểu sang chấn tâm lý cho nhân viên kiểm duyệt nội dung.

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

Hạn chế kỹ thuật

  • Độ trễ khi tải mô hình: Phiên bản PhoBERT-base yêu cầu bộ nhớ GPU tối thiểu 4GB VRAM khi phục vụ suy luận số lượng lớn.
  • Tiếng lóng mới và biến thể 2024-2026: Bộ dữ liệu ViHSD thu thập từ năm 2021 chưa bao phủ hoàn toàn các thuật ngữ mạng xã hội mới xuất hiện (ví dụ: các từ lóng gen Z biến đổi liên tục).
  • Vấn đề châm biếm (Sarcasm): Các câu nói mang hàm ý mỉa mai nhưng sử dụng từ ngữ lịch sự vẫn là thách thức lớn đối với mô hình nếu không có ngữ cảnh hội thoại đa lượt.

Hướng phát triển

  1. Nâng cấp kiến trúc: Thử nghiệm phiên bản PhoBERT-large và tích hợp cơ chế Cross-Attention đa tầng.
  2. Kỹ thuật Nén mô hình: Áp dụng Knowledge Distillation (chưng cất tri thức), Quantization (lượng tử hóa 8-bit/4-bit INT8/FP4) và ONNX Runtime để triển khai trên các thiết bị Edge/CPU máy chủ giá rẻ.
  3. Mở rộng Đa phương thức (Multimodal): Kết hợp phân tích văn bản bình luận với hình ảnh/video đính kèm nhằm phát hiện các nội dung tiêu cực dạng meme hoặc video ngắn.

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

+--------------------------------------------------------------------------------+
|                             ĐỐI TƯỢNG HƯỞNG LỢI                                |
+------------------------+-----------------------------------+-------------------+
| Sinh viên & Học viên   | Mã nguồn mẫu chuẩn mực PyTorch    | Nắm vững NLP tiếng|
| ngành KHMT/CNTT        | & Pipeline tiền xử lý tiếng Việt  | Việt nâng cao     |
+------------------------+-----------------------------------+-------------------+
| Kỹ sư AI / Developers  | Kiến trúc lai PhoBERT-CNN         | Tăng tốc độ deploy|
|                        | & Kỹ thuật PhoBERT-FI             | hệ thống thực tế  |
+------------------------+-----------------------------------+-------------------+
| Doanh nghiệp / MXH     | Giải pháp kiểm duyệt tự động      | Cắt giảm 80% chi  |
|                        | độ chính xác cao (>91%)           | phí kiểm duyệt    |
+------------------------+-----------------------------------+-------------------+
| Nhà nghiên cứu NLP     | Bằng chứng thực nghiệm về         | Cơ sở mở rộng cho |
|                        | Stopwords & Data Augmentation     | ngôn ngữ đơn lập  |
+------------------------+-----------------------------------+-------------------+

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

1. Cấu hình phần cứng tối thiểu để triển khai và huấn luyện mô hình là gì?

Để huấn luyện mô hình PhoBERT-CNN với batch size 256, yêu cầu tối thiểu 1 GPU NVIDIA (VRAM từ 8GB trở lên như RTX 3070, T4 hoặc Google Colab T4). Đối với môi trường triển khai suy luận (Inference), hệ thống chỉ cần 1 CPU 4 Cores, 8GB RAM nếu sử dụng định dạng ONNX Runtime hoặc 1 GPU T4 cho hệ thống có lưu lượng truy cập lớn.

2. Tại sao mô hình PhoBERT-CNN lại vượt trội hơn mô hình PhoBERT đơn lẻ?

PhoBERT đơn lẻ sử dụng một lớp Fully Connected trực tiếp trên vector phân loại [CLS], vốn chỉ đại diện cho ngữ cảnh trung bình của toàn câu. Việc đưa đầu ra của PhoBERT qua mạng CNN với các bộ lọc kích thước 1, 2, 3, 5 cho phép quét cục bộ các cụm 1-gram, 2-gram, 3-gram và 5-gram, giúp bắt trọn các từ chửi thề hoặc cụm từ xúc phạm ngay cả khi chúng nằm rải rác trong câu.

3. Phương pháp PhoBERT-FI xử lý bài toán mất cân bằng dữ liệu tốt hơn gán trọng số lớp (Class Weights) như thế nào?

Việc gán trọng số lớp trong hàm mất mát chỉ phạt nặng hơn khi dự đoán sai lớp thiểu số nhưng không cung cấp thêm các biến thể ngữ cảnh mới cho mô hình học. PhoBERT-FI trực tiếp sinh ra các mẫu câu đa dạng ngữ nghĩa cho nhãn Hate và Offensive, giúp không gian đặc trưng của hai nhãn này phong phú hơn, từ đó nâng cao chỉ số Recall thực tế.

4. Hệ thống có khả năng tích hợp vào các nền tảng mạng xã hội có sẵn không?

Hoàn toàn khả thi. Mô hình có thể được đóng gói dưới dạng Docker Container và cung cấp các RESTful API hoặc gRPC Service thông qua FastAPI. Hệ thống có thể kết nối trực tiếp với Webhook của Facebook Graph API hoặc YouTube Data API để tự động quét và gắn cờ bình luận theo thời gian thực.

5. Chi phí vận hành và thời gian thu hồi vốn (ROI) được ước tính ra sao?

Triển khai trên hạ tầng điện toán đám mây (Cloud VM với 1 GPU T4) tiêu tốn khoảng $50 - $70/tháng. So với việc duy trì đội ngũ kiểm duyệt thủ công (chi phí từ $500 - $1000/tháng cho mỗi nhân sự), giải pháp giúp tiết kiệm ngay lập tức chi phí vận hành và đạt điểm hòa vốn ROI chỉ sau 1 - 2 tháng triển khai.


Kết luận

Đồ án tốt nghiệp "Nghiên cứu và tối ưu mô hình học sâu trong bài toán phân loại bình luận tiêu cực trên mạng xã hội" đã giải quyết triệt để bài toán nhận diện phát ngôn độc hại trong tiếng Việt. Bằng việc kết hợp kiến trúc tiên tiến PhoBERT-CNN với phương pháp tăng cường dữ liệu đột phá PhoBERT-FI và quy trình tiền xử lý tối ưu, nghiên cứu đã nâng cao Macro F1-Score lên 71.35%Accuracy đạt 91.15%, vượt trội hơn tất cả các phương pháp cơ sở. Kết quả này không chỉ đóng góp giá trị học thuật quan trọng cho cộng đồng xử lý ngôn ngữ tự nhiên tiếng Việt mà còn mang lại giải pháp công nghệ có tính ứng dụng cao, sẵn sàng triển khai để xây dựng môi trường mạng xã hội văn minh và an toàn hơn.