Giới thiệu dự án

Trong kỷ nguyên số hóa giáo dục, mạng xã hội đã trở thành không gian chính để người học bày tỏ cảm xúc, quan điểm và những áp lực tâm lý hàng ngày. Tại Việt Nam, các diễn đàn "Confession" của học sinh, sinh viên trên nền tảng Facebook thu hút hàng triệu lượt tương tác mỗi ngày. Theo các nghiên cứu tâm lý học giáo dục, việc lắng nghe và phân tích kịp thời trạng thái cảm xúc của sinh viên giúp nhà trường phát hiện sớm các khủng hoảng tâm lý, nguy cơ kiệt sức (burnout), hoặc các luồng thông tin sai lệch trước khi chúng lan rộng.

Tuy nhiên, xử lý ngôn ngữ tự nhiên (NLP - Natural Language Processing) cho tiếng Việt trên mạng xã hội là một bài toán phức tạp. Ngôn ngữ của sinh viên chứa nhiều từ viết tắt, tiếng lóng (slang), teencode, biến thể ký tự đặc biệt (emoticons như :))), :(((, :>), biểu tượng cảm xúc (emoji) và sắc thái mỉa mai (sarcasm).

[Raw Social Text] 
       │
       ▼
[Advanced Sequential Preprocessing & Emoji Decoding]
       │
       ▼
[Contextual Transformer Embeddings (ViSoBERT / PhoBERT)]
       │
       ▼
[Loss Function Optimization (Focal + Cross-Entropy)]
       │
       ▼
[7-Class Emotion Inference: Joy, Sadness, Anger, Fear, Surprise, Disgust, Neutral]

Vấn đề cốt lõi (Problem Statement)

Phân tích cảm xúc trong dữ liệu văn bản mạng xã hội đối mặt với các rào cản kỹ thuật nghiêm trọng:

  1. Tính đa nghĩa và phụ thuộc ngữ cảnh: Các phát biểu ngắn như "Tôi ổn" có thể biểu đạt sự hài lòng, buông xuôi hoặc tức giận tùy thuộc vào ngữ cảnh hội thoại và các ký hiệu đi kèm.
  2. Mất cân bằng dữ liệu cực đoan (Severe Class Imbalance): Cảm xúc chiếm đa số như Neutral (Trung tính) và Joy (Vui vẻ) lấn át các nhóm thiểu số như Disgust (Ghê tởm - chỉ chiếm dưới 1% tổng tập dữ liệu) hay Fear (Sợ hãi).
  3. Sự biến đổi liên tục của ngôn ngữ mạng: Các phương pháp xử lý văn bản truyền thống thường loại bỏ stopword và ký tự đặc biệt, vô tình làm mất tín hiệu cảm xúc quyết định.

Mục tiêu dự án

  1. Xây dựng quy trình tiền xử lý văn bản tuần tự (Sequential Text Cleaning Pipeline) chuyên biệt cho dữ liệu văn bản mạng xã hội tiếng Việt, bảo toàn và chuẩn hóa các đặc trưng cảm xúc từ teencode, emoticon và emoji.
  2. Xây dựng và đánh giá hệ thống phân loại 7 nhóm cảm xúc chuẩn (theo mô hình Paul Ekman mở rộng: Joy, Sadness, Anger, Fear, Surprise, Disgust, Neutral) trên tập dữ liệu thực tế gồm 15.515 mẫu với độ đồng thuận gán nhãn đạt hệ số Cohen's Kappa 80%.
  3. Thực nghiệm so sánh toàn diện giữa các mô hình Học máy truyền thống (Machine Learning: LR, DT, RF, SVM) và các kiến trúc Transformer tiên tiến (PhoBERT, CafeBERT, mBERT, XLNet, ViSoBERT).
  4. Nghiên cứu giải pháp tối ưu hàm mất mát (Loss Function Engineering: Cross-Entropy, Focal Loss, Self-adjusting Dice Loss) và đánh giá tính hiệu quả thực tế của kỹ thuật tăng cường dữ liệu ngữ cảnh (Data Augmentation qua NLPaug) cùng kỹ thuật lấy mẫu SMOTE.

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

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

Các nghiên cứu trước đây về NLP tiếng Việt như UIT-VSFC (Nguyen et al., 2018) hay UIT-VSMEC (Ho et al., 2020) đã đặt nền móng cho phân loại sắc thái và cảm xúc. Tuy nhiên, mô hình CNN kết hợp Word2Vec trên bộ dữ liệu UIT-VSMEC chỉ đạt F1-score bình quân 59.74%, cho thấy các mạng nơ-ron truyền thống gặp khó khăn trong việc nắm bắt quan hệ phụ thuộc xa và ngữ cảnh mạng xã hội phức tạp.

Giải pháp / Mô hình Ưu điểm Nhược điểm Độ chính xác F1 tham chiếu
Traditional ML (SVM/RF) + TF-IDF Chi phí tính toán thấp, huấn luyện nhanh, dễ triển khai Không bắt được ngữ cảnh từ, overfit nặng trên tập huấn luyện 50.0% - 55.0%
CNN / LSTM + Word2Vec Nắm bắt được ngữ cảnh cục bộ tốt hơn TF-IDF Khó xử lý cấu trúc câu phân mảnh, hiệu quả kém với tiếng lóng ~59.74% (UIT-VSMEC benchmark)
DistilBERT / mBERT Nhẹ, hỗ trợ đa ngôn ngữ Chưa tối ưu hóa cho cấu trúc từ ghép và cú pháp đặc thù tiếng Việt 63.20%
ViSoBERT / PhoBERT (Đề xuất) Kiến trúc Pre-trained Transformer chuyên sâu cho văn bản tiếng Việt/mạng xã hội Đòi hỏi tài nguyên phần cứng tính toán cao hơn 66.90% - 67.64%

Ma trận ưu tiên yêu cầu hệ thống (MoSCoW)

  • Must-have: Pipeline chuẩn hóa biểu tượng cảm xúc (emoji decoding sang chuỗi mô tả tiếng Việt), làm sạch URL, tên định danh Facebook tag, chuẩn hóa teencode; mô hình Transformer tiếng Việt hỗ trợ phân loại 7 lớp; báo cáo đánh giá F1-weighted.
  • Should-have: Thử nghiệm kết hợp các hàm mất mát (Hybrid Loss Function: Focal Loss + Cross-Entropy) để xử lý nhãn thiểu số; phân tích Bi-gram/Tri-gram trên emoticon.
  • Could-have: Tích hợp Data Augmentation qua Contextual Word Embeddings để sinh dữ liệu nhân tạo cho các lớp mất cân bằng.
  • Won't-have (giai đoạn này): Phân loại đa nhãn đồng thời (Multi-label classification cho 1 câu có nhiều cảm xúc hỗn hợp); triển khai mô hình đa phương thức (kết hợp cả hình ảnh đính kèm post).

Thiết kế hệ thống và Kiến trúc luồng dữ liệu

[Raw Confession Post / Comment]
               │
               ▼
┌───────────────────────────────────────────────────────────┐
│              Sequential Preprocessing Module             │
│  - Regex Cleaner: Strip URLs, Name Tags, Dates, Times     │
│  - Normalizer: Extend Slang (e.g., 'jztr' -> 'gì vậy trời')│
│  - Emoji Decoder: '😂' -> ':khuôn mặt nước mắt nụ cười:' │
│  - Tokenizer: Word segmentation (PyVi / Underthesea)      │
└───────────────────────────────────────────────────────────┘
               │
               ▼
┌───────────────────────────────────────────────────────────┐
│               Feature Encoding & Modeling                 │
│  - ViSoBERT Architecture (12-layer Transformer Encoder)  │
│  - Contextual Word Embeddings (Hidden size: 768)          │
│  - Classification Head: Linear + Softmax (7 classes)      │
└───────────────────────────────────────────────────────────┘
               │
               ▼
┌───────────────────────────────────────────────────────────┐
│              Loss Function & Optimization                 │
│  - Cross-Entropy Loss & Focal Loss (α, γ tuning)          │
│  - AdamW Optimizer (Learning rate: 2e-5, Weight decay)    │
└───────────────────────────────────────────────────────────┘

Công nghệ sử dụng (Technology Stack)

  • Ngôn ngữ lập trình: Python >= 3.9
  • Thư viện Deep Learning: PyTorch 2.1.0, HuggingFace Transformers 4.35.0
  • Mô hình Pre-trained: ViSoBERT (Vietnamese Social Media BERT), PhoBERT-base, PhoBERT-large, CafeBERT, mBERT, XLNet
  • Tiền xử lý & Khai phá dữ liệu: NLPaug 1.1.11, Scikit-learn 1.3.2, Pandas 2.1.0, NLTK, Regex (re)
  • Tăng cường dữ liệu: SMOTE (imbalanced-learn), ContextualWordEmbsAug

Implementation và kết quả

Quy trình tiền xử lý văn bản chuyên sâu

Văn bản mạng xã hội chứa nhiều nhiễu. Thay vì xóa bỏ toàn bộ ký tự không phải chữ cái như cách xử lý truyền thống, hệ thống áp dụng kỹ thuật làm sạch tuần tự và bảo toàn đặc trưng cảm xúc:

import re

def clean_social_text_vietnamese(text: str) -> str:
    # 1. Xóa ký tự xuống dòng và khoảng trắng thừa
    text = re.sub(r'[\r\n]+', ' ', text)
    
    # 2. Xóa liên kết URL và địa chỉ Web
    text = re.sub(r'https?://\S+|www\.\S+', '', text)
    
    # 3. Xóa thông tin cá nhân hóa: Email, Số điện thoại, Ngày tháng, Giờ giấc
    text = re.sub(r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b', '', text)
    text = re.sub(r'\b(?:\+?84|0)[3|5|7|8|9][0-9]{8}\b', '', text)
    text = re.sub(r'\b\d{1,2}[/-]\d{1,2}(?:[/-]\d{2,4})?\b', '', text)
    text = re.sub(r'\b\d{1,2}[h|g]\d{0,2}\b', '', text)
    
    # 4. Chuẩn hóa tiếng lóng và viết tắt học đường phổ biến
    slang_dict = {
        "jztr": "gì vậy trời",
        "tks": "cảm ơn",
        "vs": "với",
        "e": "em",
        "mik": "mình",
        "dc": "được",
        "ko": "không",
        "k": "không"
    }
    for slang, replacement in slang_dict.items():
        text = re.sub(rf'\b{slang}\b', replacement, text, flags=re.IGNORECASE)
        
    # 5. Rút gọn chuỗi emoji lặp liên tiếp (giữ nguyên 1 biểu tượng đại diện)
    text = re.sub(r'(😀){2,}', r'\1', text)
    text = re.sub(r' +', ' ', text).strip()
    return text

[!IMPORTANT] Giữ lại Stopwords tiếng Việt: Khác với phân loại chủ đề (Topic Modeling), trong phân loại cảm xúc, các hư từ tiếng Việt như "nhé", "rồi", "đi", "thì", "ạ", "hả" chứa đựng tải lượng cảm xúc rất cao. Việc giữ nguyên các từ này giúp mô hình phân biệt rõ sắc thái giữa câu mệnh lệnh, câu cảm thán và câu hỏi nghi vấn.

Tối ưu hóa hàm mất mát (Loss Function Engineering)

Để giải quyết tình trạng mất cân bằng lớp trầm trọng, mô hình áp dụng kết hợp Cross-Entropy Loss với Focal Loss:

$$\text{FL}(p_t) = -\alpha_t (1 - p_t)^\gamma \log(p_t)$$

Trong đó:

  • $p_t$ là xác suất dự đoán của mô hình cho lớp chính xác.
  • $\gamma$ (focusing parameter) giúp giảm trọng số của các mẫu dễ phân loại (như Neutral, Joy), buộc mô hình tập trung vào các mẫu khó và thiểu số (Disgust, Fear, Surprise).
import torch
import torch.nn as nn
import torch.nn.functional as F

class CombinedFocalCrossEntropyLoss(nn.Module):
    def __init__(self, alpha=None, gamma=2.0, weight_ce=3.0, weight_focal=1.0):
        super(CombinedFocalCrossEntropyLoss, self).__init__()
        self.gamma = gamma
        self.weight_ce = weight_ce
        self.weight_focal = weight_focal
        self.ce = nn.CrossEntropyLoss(weight=alpha)
        
    def forward(self, inputs, targets):
        ce_loss = self.ce(inputs, targets)
        pt = torch.exp(-ce_loss)
        focal_loss = ((1 - pt) ** self.gamma) * ce_loss
        return self.weight_ce * ce_loss + self.weight_focal * focal_loss

Đánh giá và kết quả thực nghiệm

Tập dữ liệu gồm 15.515 dòng được chia theo tỷ lệ huấn luyện, kiểm thử và xác thực nghiêm ngặt. Phân bổ các lớp cảm xúc thực tế:

  • Neutral: 5.475 mẫu (35.29%)
  • Joy: 4.246 mẫu (27.37%)
  • Sadness: 3.909 mẫu (25.19%)
  • Surprise: 691 mẫu (4.45%)
  • Anger: 681 mẫu (4.39%)
  • Fear: 481 mẫu (3.10%)
  • Disgust: 32 mẫu (0.21%)

1. Đánh giá mô hình học máy truyền thống (Machine Learning Models)

Mô hình Train Accuracy Test Accuracy Precision (Weighted) Recall (Weighted) F1-Score (Weighted) Hiện tượng
Support Vector Machine (SVM) 88.00% 57.00% 56.00% 57.00% 55.00% Overfitting
SVM + SMOTE 95.00% 55.00% 54.00% 55.00% 54.00% Suy giảm hiệu năng
Random Forest (RF) 98.00% 55.00% 54.00% 55.00% 53.00% Overfitting nghiêm trọng
Decision Tree (DT) 98.00% 50.00% 50.00% 50.00% 50.00% Overfitting nghiêm trọng
Logistic Regression (LR) 56.00% 56.00% 55.00% 56.00% 55.00% Cân bằng nhất trong nhóm ML

2. Đánh giá các kiến trúc Transformer tiên tiến

Kiến trúc Deep Learning Accuracy (%) Precision (%) Recall (%) F1-Score Weighted (%)
ViSoBERT (Baseline) 67.00% 67.10% 67.00% 66.90%
PhoBERT-base 64.04% 64.20% 64.04% 64.10%
PhoBERT-large 65.50% 65.80% 65.50% 65.40%
CafeBERT 64.80% 65.00% 64.80% 64.70%
BERT Multilingual Base 63.20% 63.00% 63.20% 62.90%
XLNet 61.00% 61.20% 61.00% 60.00%
Transformer Models F1-Score Comparison:
ViSoBERT        [████████████████████████████] 66.90%
PhoBERT-large   [██████████████████████████  ] 65.40%
CafeBERT        [█████████████████████████   ] 64.70%
PhoBERT-base    [████████████████████████    ] 64.10%
mBERT           [██████████████████████      ] 62.90%
XLNet           [████████████████████        ] 60.00%

3. Thử nghiệm hàm mất mát trên ViSoBERT

Cấu hình Loss Function Accuracy (%) Precision (%) Recall (%) F1-Score Weighted (%)
Cross-Entropy Loss (Độc lập) 67.08% 67.64% 67.08% 67.00%
Focal Loss + Cross-Entropy (Weight=3) 66.98% 67.20% 66.98% 66.90%
Dice Loss + Focal Loss 66.62% 66.80% 66.62% 66.50%
CE (w=3) + Dice (w=1) + Focal 66.41% 66.50% 66.41% 66.30%
Focal Loss + Cross-Entropy (w=1) 66.21% 66.40% 66.21% 66.10%
CE (w=1) + Dice (w=1) + Focal 66.09% 66.20% 66.09% 66.00%
Self-adjusting Dice Loss (Độc lập) 62.91% 63.10% 62.91% 62.80%

4. Đánh giá kỹ thuật Tăng cường Dữ liệu (Data Augmentation)

Thực nghiệm sinh thêm 2.000 mẫu dữ liệu tổng hợp cho 4 nhãn thiểu số (Surprise, Anger, Fear, Disgust) sử dụng NLPaug với phương pháp ContextualWordEmbsAug:

Phương pháp Accuracy (%) Precision (%) Recall (%) F1-Score Weighted (%)
ViSoBERT (Dữ liệu gốc chuẩn hóa) 67.08% 67.64% 67.08% 67.00%
ViSoBERT + Data Augmentation (NLPaug) 61.00% 63.00% 61.00% 61.00%
SVM (Dữ liệu gốc) 57.00% 56.00% 57.00% 55.00%
SVM + SMOTE Oversampling 55.00% 54.00% 55.00% 54.00%

[!WARNING] Phát hiện thực nghiệm quan trọng: Cả hai kỹ thuật tăng cường dữ liệu nhân tạo (NLPaugSMOTE) đều làm giảm hiệu năng mô hình từ 5% đến 6% F1-score. Nguyên nhân là do ngôn ngữ mạng xã hội có tính nhạy cảm ngữ cảnh rất cao; việc thay thế từ ngữ cảnh tự động đã phá vỡ các cấu trúc teencode, emoticon và làm biến đổi ý nghĩa cảm xúc cốt lõi của câu nói.


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

  1. Chuẩn hóa quy trình tiền xử lý ngữ nghĩa mạng xã hội tiếng Việt: Xây dựng thành công bộ quy tắc làm sạch và giải mã Emoji (Emoji Decoding), phân tách chuỗi Emoticon lặp (:))), :(((, :<) thành các trọng số cường độ cảm xúc, giải quyết triệt để vấn đề nhiễu văn bản không có cấu trúc.
  2. Thiết lập chuẩn hiệu năng mới (Benchmark) cho phân loại cảm xúc học đường: Đạt mức F1-Score 67.00%Accuracy 67.08% trên tập dữ liệu 7 lớp cảm xúc phức tạp, vượt trội hoàn toàn so với các baseline học máy truyền thống (50% - 57%) và vượt mức benchmark 59.74% của các nghiên cứu CNN-Word2Vec trước đây trên dữ liệu tiếng Việt.
  3. Minh chứng thực nghiệm về giới hạn của Data Augmentation trên văn bản mạng xã hội: Nghiên cứu chỉ ra một đóng góp phản biện có giá trị học thuật cao: việc áp dụng cơ học các kỹ thuật tăng sinh dữ liệu (SMOTE, Contextual Augmentation) trên văn bản mạng xã hội mang lại tác động tiêu cực, khẳng định tầm quan trọng của việc duy trì tính xác thực (authenticity) của dữ liệu gốc.
  4. Phân tích chi tiết hành vi các hàm mất mát cho bài toán mất cân bằng cực đoan: Chứng minh sự kết hợp có trọng số giữa Cross-EntropyFocal Loss giúp duy trì độ chính xác tổng thể đồng thời gia tăng độ nhạy (sensitivity) đối với các nhóm cảm xúc yếu thế.

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

Kịch bản ứng dụng trong quản trị giáo dục

  • Hệ thống giám sát sức khỏe tâm lý sinh viên (Mental Health Early-Warning System): Tự động quét và phát hiện các bài viết hoặc bình luận mang cảm xúc Sadness (buồn bã), Fear (sợ hãi), hoặc Anger (giận dữ) với tần suất cao bất thường trên các kênh cộng đồng sinh viên để can thiệp hỗ trợ tâm lý kịp thời.
  • Phát hiện sớm khủng hoảng truyền thông học đường: Nhận diện nhanh các làn sóng cảm xúc tiêu cực liên quan đến học phí, quy chế thi cử, cơ sở vật chất, giúp ban giám hiệu đưa ra thông báo chính thức trước khi tin đồn sai lệch lan rộng.
  • Đánh giá mức độ hài lòng về dịch vụ đào tạo: Phân tích phản hồi ẩn danh để cải tiến chất lượng giảng dạy và dịch vụ hỗ trợ sinh viên.
                  ┌───────────────────────────────┐
                  │ Facebook Graph API / Webhook  │
                  └──────────────┬────────────────┘
                                 │ Raw Posts & Comments
                                 ▼
                  ┌───────────────────────────────┐
                  │    FastAPI Ingestion Engine   │
                  └──────────────┬────────────────┘
                                 │
                                 ▼
                  ┌───────────────────────────────┐
                  │ Preprocessing & Text Cleaning │
                  └──────────────┬────────────────┘
                                 │
                                 ▼
                  ┌───────────────────────────────┐
                  │ ViSoBERT ONNX Runtime Server  │
                  └──────────────┬────────────────┘
                                 │
                                 ▼
         ┌─────────────────────────────────────────────────┐
         │ Real-time Dashboard & Crisis Alerting System    │
         │ - Visualizing Emotion Distribution              │
         │ - Slack / Telegram / Email Alert for Anomalies  │
         └─────────────────────────────────────────────────┘

Yêu cầu triển khai hệ thống (System Requirements)

  • Môi trường Server: Linux Ubuntu 22.04 LTS, tối thiểu 16GB RAM.
  • Tăng tốc phần cứng: NVIDIA GPU (tối thiểu 8GB VRAM như RTX 3060 / T4) phục vụ suy luận thời gian thực với độ trễ dưới 50ms/mẫu.
  • Tối ưu hóa Production: Chuyển đổi mô hình PyTorch sang định dạng ONNX Runtime hoặc TensorRT kết hợp lượng hóa (Quantization FP16/INT8) để giảm 60% mức tiêu hao bộ nhớ và tăng tốc độ xử lý lên gấp 3 lần.

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

Hạn chế kỹ thuật hiện tại

  • Mất cân bằng dữ liệu ở nhãn Disgust: Lớp Disgust chỉ có 32 mẫu trong tổng số 15.515 dữ liệu (< 0.21%), dẫn đến việc mô hình gặp khó khăn nhất định trong việc phân biệt rõ ràng giữa DisgustAnger.
  • Xử lý ngữ cảnh đa lượt (Multi-turn Context): Hiện tại mô hình đánh giá từng câu confession hoặc bình luận độc lập; chưa liên kết sâu toàn bộ chuỗi hội thoại (thread) giữa các người dùng với nhau.
  • Sarcasm và Ngôn ngữ ẩn dụ nâng cao: Các mẫu câu mang tính châm biếm ngầm mà không sử dụng từ khóa tiêu cực vẫn là thách thức đối với mô hình đơn phương thức.

Hướng nghiên cứu tương lai

  1. Ứng dụng Kỹ thuật Học Tương phản Kép (Dual Contrastive Learning): Giúp mô hình tự động kéo gần các biểu diễn vector của cùng một nhóm cảm xúc và đẩy xa các nhóm cảm xúc dễ gây nhầm lẫn, tăng cường khả năng phân biệt lớp thiểu số.
  2. Tích hợp Mô hình Ngôn ngữ Lớn (LLM Prompting & Reasoning): Thử nghiệm tinh chỉnh (Fine-tuning) hoặc áp dụng Few-shot CoT (Chain-of-Thought) với các LLM như GPT-4o / Gemini 1.5 Pro nhằm giải mã các ngữ cảnh châm biếm phức tạp.
  3. Mở rộng nhận diện Đa nhãn (Multi-label Emotion Classification): Cho phép một phát biểu được gắn đồng thời nhiều nhãn cảm xúc với các mức xác suất phân tầng.

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

                ┌──────────────────────────────────────────────┐
                │          HỆ SINH THÁI HƯỞNG LỢI             │
                └──────────────────────┬───────────────────────┘
         ┌──────────────────┬──────────┴───────────┬──────────────────┐
         ▼                  ▼                      ▼                  ▼
  [Sinh Viên]        [Nhà Quản Lý]          [Lập Trình Viên]    [Nhà Nghiên Cứu]
  - Được hỗ trợ      - Nắm bắt dư luận      - Pipeline NLP      - Benchmark mở
    tâm lý kịp thời    học đường              chuẩn cho social    cho bài toán
  - Môi trường học   - Phòng ngừa sự cố       data tiếng Việt     mất cân bằng
    an toàn hơn        truyền thông           - Codebase mẫu      lớp tiếng Việt
  • Sinh viên & Người học: Được sống và học tập trong môi trường giáo dục thấu cảm, nơi các vướng mắc tâm lý và áp lực học đường được phát hiện và hỗ trợ sớm.
  • Ban Giám hiệu & Chuyên viên Tâm lý Học đường: Sở hữu công cụ định lượng khoa học để theo dõi mức độ hài lòng của sinh viên theo thời gian thực, giảm 80% thời gian rà soát thủ công các phản hồi trên mạng xã hội.
  • Kỹ sư AI & Lập trình viên NLP: Tiếp cận quy trình làm sạch văn bản mạng xã hội tiếng Việt chuẩn hóa, cấu hình siêu tham số và kinh nghiệm xử lý thực tế với mô hình Transformer.
  • Cộng đồng Nghiên cứu Khoa học: Tài liệu tham khảo thực nghiệm chất lượng cao về hành vi của các hàm mất mát (Focal, Dice, Cross-Entropy) và ảnh hưởng của Data Augmentation trên ngôn ngữ tài nguyên thấp (Low-resource language).

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

1. Yêu cầu phần cứng tối thiểu để triển khai mô hình ViSoBERT vào thực tế là gì?

Để chạy suy luận (Inference) thời gian thực cho một hệ thống quy mô vừa (khoảng vài chục nghìn tương tác/ngày), hệ thống chỉ cần 1 CPU 4-core, 8GB RAM nếu sử dụng mô hình tối ưu dạng ONNX Runtime. Nếu cần huấn luyện lại (Retrain/Fine-tune), cấu hình khuyến nghị là GPU NVIDIA có tối thiểu 8GB - 16GB VRAM (như NVIDIA T4, RTX 3060 hoặc A10G).

2. Tại sao kỹ thuật tăng cường dữ liệu NLPaug lại làm giảm hiệu năng mô hình trong bài toán này?

Văn bản mạng xã hội của sinh viên có đặc thù phi chuẩn hóa rất cao (chứa teencode, emoticon, slang). Thư viện NLPaug sử dụng các mô hình ngôn ngữ ngữ cảnh chung để sinh từ thay thế, điều này vô tình làm mất các đặc trưng cảm xúc vi mô (micro-cues) hoặc tạo ra các câu văn gượng gạo, làm sai lệch nhãn cảm xúc gốc và đưa thêm nhiễu vào tập huấn luyện.

3. Làm thế nào để hệ thống nhận diện được các từ viết tắt mới xuất hiện của giới trẻ?

Hệ thống được thiết kế theo kiến trúc Module mở rộng. Bảng từ điển chuyển đổi slang_dict trong pipeline tiền xử lý có thể được cập nhật định kỳ một cách linh hoạt thông qua cấu hình JSON/Database mà không cần phải huấn luyện lại toàn bộ mô hình ngôn ngữ nền tảng.

4. Hệ thống đảm bảo quyền riêng tư của sinh viên như thế nào?

Ngay tại bước đầu tiên của pipeline tiền xử lý (clean_social_text_vietnamese), toàn bộ các định danh cá nhân bao gồm tên tài khoản Facebook được tag, số điện thoại, email, thời gian và liên kết bài viết đều bị xóa bỏ hoàn toàn bằng biểu thức chính quy (Regex Anonymization), đảm bảo dữ liệu đưa vào mô hình là hoàn toàn ẩn danh.

5. Tại sao Cross-Entropy đơn lẻ lại đạt kết quả tốt hơn Self-adjusting Dice Loss trong thực nghiệm này?

Dice Loss vốn được thiết kế ban đầu cho bài toán phân vùng hình ảnh (Image Segmentation) nhằm tối ưu hóa sự trùng lặp vùng pixel và đối xử bình đẳng giữa False Positives và False Negatives. Trong bài toán phân loại văn bản đa lớp mất cân bằng, Cross-Entropy duy trì được sự mượt mà của gradient trên toàn bộ không gian xác suất của 7 lớp, giúp mô hình hội tụ ổn định hơn.


Kết luận

Đồ án tốt nghiệp "Phân Tích Cảm Xúc trong Dữ Liệu Mạng Xã Hội: Thách Thức" của sinh viên Ngô Phương Minh (Khoa Phân tích Dữ liệu Kinh doanh - Trường Quốc tế, Đại học Quốc gia Hà Nội) đã giải quyết thành công bài toán phân loại 7 nhóm cảm xúc sinh viên trên không gian mạng xã hội tiếng Việt. Bằng việc kết hợp quy trình tiền xử lý văn bản tuần tự bảo toàn đặc trưng cảm xúc với mô hình ngôn ngữ ngữ cảnh ViSoBERT, dự án đã đạt độ chính xác Accuracy 67.08%Weighted F1-Score 67.00%, thiết lập một chuẩn thực nghiệm tin cậy cho các nghiên cứu tiếp theo.

Kết quả của đề tài không chỉ cung cấp một giải pháp công nghệ khả thi giúp các cơ sở giáo dục chủ động nắm bắt tâm lý người học và ngăn ngừa khủng hoảng, mà còn đóng góp những góc nhìn kỹ thuật sâu sắc về việc tối ưu hàm mất mát và cảnh báo về giới hạn của việc lạm dụng tăng sinh dữ liệu nhân tạo trong xử lý ngôn ngữ tự nhiên.