Downloads · 30 days
9
3% of all-time downloads
Minhtan210905/phobert-toxic-genz-v2
phobert-toxic-genz-v2 is a text classification model from Minhtan210905. Use it when you need a label for a piece of text. It is set up for transformers.
PhoBERT Toxic GenZ v3 là phiên bản cải tiến vượt trội được tinh chỉnh (fine-tuned) từ kiến trúc vinai/phobert-base-v2. Mô hình được tối ưu hóa chuyên biệt để phát hiện và phân loại các bình luận chứa ngôn ngữ độc hại,…
Downloads · 30 days
9
3% of all-time downloads
All-time downloads
341
Public
Parameters
135M
1.1 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors540 MB · 100%
From the Hugging Face model README
PhoBERT Toxic GenZ v3 là phiên bản cải tiến vượt trội được tinh chỉnh (fine-tuned) từ kiến trúc vinai/phobert-base-v2. Mô hình được tối ưu hóa chuyên biệt để phát hiện và phân loại các bình luận chứa ngôn ngữ độc hại, xúc phạm, hoặc thù ghét trên không gian mạng xã hội Việt Nam (Facebook, TikTok, YouTube Livestream).
Điểm nâng cấp cốt lõi của phiên bản v3 là loại bỏ hoàn toàn bước tách từ ghép (pyvi), cho phép mô hình tiếp nhận văn bản thô (raw text) và tận dụng tối đa cơ chế mã hóa subword (BPE) nguyên bản để xử lý linh hoạt các biến thể từ lóng (Slang), viết tắt và ngôn ngữ thế hệ Z (Gen Z).
vi)Mô hình được đánh giá trên tập dữ liệu thử nghiệm (Validation set chiếm 15%) độc lập và đạt được bộ chỉ số ấn tượng sau 3 epochs tinh chỉnh với tốc độ học cực thấp ($5\times10^{-6}$):
| Chỉ số (Metric) | Kết quả (V3 - Raw Text) | Trạng thái |
|---|---|---|
| Độ chính xác (Accuracy) | 93.62% | 🌟 Xuất sắc |
| F1-Score (Macro Average) | 85.91% | 🎯 Cân bằng tốt giữa các nhãn |
Nhận xét: Việc chuyển đổi từ phương pháp tách từ truyền thống sang huấn luyện trên văn bản thô giúp F1-Score tăng trưởng đều qua các epoch, chứng minh mô hình tự học ngữ cảnh từ lóng mạng xã hội hiệu quả hơn mà không bị nhiễu bởi các quy tắc tách từ sai của thư viện bên ngoài.
Mô hình phù hợp để tích hợp trực tiếp vào các hệ thống kiểm duyệt thời gian thực:
Bạn có thể triển khai trực tiếp mô hình này thông qua thư viện transformers của Hugging Face mà KHÔNG CẦN cài đặt hay gọi bất kỳ thư viện tách từ nào như pyvi hay underthesea.
import torch
import torch.nn.functional as F
from transformers import AutoTokenizer, AutoModelForSequenceClassification
# 1. Tải mô hình và tokenizer trực tiếp từ Hub
MODEL_NAME = "Minhtan210905/phobert-toxic-genz-v2"
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
model = AutoModelForSequenceClassification.from_pretrained(MODEL_NAME)
# Định nghĩa nhãn tương ứng với đầu ra của mô hình
LABEL_MAP = {
0: "Bình thường",
1: "Hate/Thù ghét",
2: "Offensive/Xúc phạm"
}
def predict_comment(text):
# Đưa về chuỗi ký tự thô nguyên bản
clean_text = str(text)
# Tokenize trực tiếp bằng BPE nguyên bản của PhoBERT
inputs = tokenizer(clean_text, return_tensors="pt", padding=True, truncation=True, max_length=128)
with torch.no_grad():
outputs = model(**inputs)
# Tính toán xác suất phần trăm
probs = F.softmax(outputs.logits, dim=-1).squeeze().tolist()
predicted_class = torch.argmax(outputs.logits, dim=-1).item()
return LABEL_MAP[predicted_class], probs[predicted_class]
# --- Chạy thử nghiệm các câu chứa từ lóng GenZ viết tắt ---
cautest_1 = "nay trời đẹp quá ae ơi đi chơi khum"
cautest_2 = "phim này dở vl dcm tốn tiền"
label1, conf1 = predict_comment(cautest_1)
print(f"Text: {cautest_1} -> Kết quả: {label1} ({conf1*100:.2f}%)")
label2, conf2 = predict_comment(cautest_2)
print(f"Text: {cautest_2} -> Kết quả: {label2} ({conf2*100:.2f}%)")