ViHSD-UIT-ViSoBERT (Version 2)

📝 Giới thiệu

ViHSD-UIT-ViSoBERT-v2 là phiên bản nâng cấp của mô hình phân loại ngôn từ thù ghét tiếng Việt ViHSD-UIT-ViSoBERT. Ở phiên bản này, mô hình giải quyết bài toán mất cân bằng dữ liệu nghiêm trọng trong tập ViHSD gốc, giúp tăng cường độ nhạy bén và độ chính xác trong việc nhận diện các nhãn thiểu số như offensivehate.

📊 Thống kê bộ dữ liệu ViHSD gốc

Label Clean Offensive Hate
Samples 27,624 2,262 3,514
Percentage 82.71% 6.77% 10.52%

🛠 Cải tiến dữ liệu (Data Resampling)

Để ngăn chặn việc mô hình bị thiên vị (bias) về nhãn đa số clean, tập dữ liệu huấn luyện đã được xử lý cân bằng thông qua chiến lược kết hợp:

  • Undersampling (Giảm mẫu): Giảm lớp clean từ 27,624 xuống còn 10,000 mẫu.
  • Oversampling (Tăng mẫu): Tăng lớp offensivehate từ 2,2623,514 lên 10,000 mẫu mỗi lớp.

Kết quả: Tập huấn luyện mới hoàn toàn cân bằng với tỷ lệ 1:1:1 (tổng cộng 30,000 mẫu), cung cấp dữ liệu học tập công bằng cho cả 3 nhãn.

🧠 Kiến trúc

  • Mô hình nền: uitnlp/visobert
  • Loại mô hình: Text Classification
  • Số nhãn: 3
    • 0: clean (Bình luận không chứa ngôn từ thù ghét hoặc xúc phạm)
    • 1: offensive (Bình luận có tính xúc phạm hoặc gây khó chịu, nhưng không mang tính thù ghét rõ ràng)
    • 2: hate (Bình luận chứa ngôn từ thù ghét, thường nhắm vào cá nhân hoặc nhóm cụ thể)
  • Dữ liệu huấn luyện: sonlam1102/vihsd (Đã qua xử lý cân bằng)

📊 Đánh giá (Trên tập Test)

Sự kết hợp giữa kiến trúc ViSoBERT và dữ liệu cân bằng mang lại hiệu suất vượt trội so với phiên bản v1:

Metric v2 v1
Accuracy 94.40% 88.32%
F1-macro 0.944 0.690
F1-weighted 0.944 0.881
Loss 0.247 0.358
Epochs 10 10

🔍 So sánh dự đoán thực tế

Dưới đây là kết quả dự đoán đối chiếu của 2 phiên bản v1 và v2 trên 5 câu bình luận "khó" được trích xuất từ Bảng 5, mục 5.3 - Error Analysis trong bài báo công bố dataset ViHSD gốc, nhằm chứng minh khả năng hiểu ngữ cảnh sâu sắc của v2

Comments v1 v2 Label
"coin card :3" 0 1 1
" dell hiểu kiểu gì :))" 1 1 1
"Éo thích thì biến đi thọc con mắt chóng cái tai lên xem làm ghì" 1 1 1
"m chửi cc" 1 2 2
"Cc 3 m" 2 2 2

Việc dự đoán chính xác tuyệt đối chứng minh v2 không chỉ học vẹt các từ chửi thề bề mặt, mà đã thực sự nắm bắt được các sắc thái thù ghét ẩn ý, châm biếm hoặc không chứa từ ngữ thô tục rõ ràng.

🚀 Cách sử dụng

⚠️ Lưu ý phiên bản thư viện

  • Mô hình được huấn luyện và tương thích tốt nhất trên các phiên bản thư viện transformers==4.51.0tokenizers==0.21.2.
  • Đối với các phiên bản thư viện mới hơn, bạn có thể cần tự điều chỉnh lại cách khởi tạo Tokenizer hoặc các tham số cấu hình tương ứng để mã nguồn hoạt động chính xác.
from transformers import AutoTokenizer, AutoModelForSequenceClassification

model_name = "nd-khoa/vihsd-uit-visobert-v2"
model = AutoModelForSequenceClassification.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)

text = input("Nhập 1 câu bình luận bất kỳ:\n")
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=128)
outputs = model(**inputs)
logits = outputs.logits
prediction = logits.argmax(dim=1).item()
print(f"Label: {prediction}")

📚 Trích dẫn

🔹 ViSoBERT

@inproceedings{nguyen-etal-2023-visobert,
  title = "ViSoBERT: A Pre-Trained Language Model for Vietnamese Social Media Text Processing",
  author = "Nguyen, Nam  and Phan, Thang  and Nguyen, Duc-Vu  and Nguyen, Kiet",
  booktitle = "Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing",
  year = "2023",
  publisher = "Association for Computational Linguistics",
  url = "https://aclanthology.org/2023.emnlp-main.315",
  pages = "5191--5207"
}

🔹 ViHSD Dataset

@inproceedings{luu2021large,
  title={A large-scale dataset for hate speech detection on Vietnamese social media texts},
  author={Luu, Son T and Nguyen, Kiet Van and Nguyen, Ngan Luu-Thuy},
  booktitle={Advances and Trends in Artificial Intelligence. Artificial Intelligence Practices: 34th International Conference on Industrial, Engineering and Other Applications of Applied Intelligent Systems, IEA/AIE 2021},
  pages={415--426},
  year={2021},
  publisher={Springer}
}

👤 Tác giả

Downloads last month
25
Safetensors
Model size
97.6M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for nd-khoa/vihsd-uit-visobert-v2