/ Модель

Характеристики

Контекст
258 токенов
Параметры
162 млн
Лицензия
MIT
Архитектура
roberta · dense
Библиотека
transformers
Опубликована
11 сен 2025

toxic-comment-phobert

Классификация текстаТекст → label3 профессии

Модель на базе PhoBERT классифицирует вьетнамские комментарии как обычные или токсичные для поддержки модерации.

82скачиваний за 30 дней0лайковвеса обновлены2 окт 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

vijjj1/toxic-comment-phobert — модель классификации комментариев, дообученная автором @vijjj1 на базе vinai/phobert-base-v2. Она относит вьетнамские комментарии к двум классам: обычным и токсичным, включая оскорбления и нападки. Модель основана на RoBERTa и содержит 162,4 млн параметров; принимает текст, использует контекст до 258 токенов и возвращает метку класса и оценку. Предназначена для модерации комментариев в социальных сетях и предварительной фильтрации данных.

В описании приведены результаты на тестовой выборке: accuracy 0,90 и F1 для токсичного класса 0,87. Качество может зависеть от тематики и особенностей сленга; модель ориентирована на вьетнамский язык. Лицензия — MIT.

Сценарии применения

  • выявление оскорбительных комментариев на вьетнамском языке
  • фильтрация токсичных публикаций в социальных сетях
  • предварительная разметка комментариев для модерации
  • отбор токсичных примеров из наборов текстовых данных

Ограничения

Модель рассчитана на вьетнамские комментарии, поэтому её качество для других языков не подтверждено. На тестовой выборке токсичный класс имел recall 0,86, поэтому возможны пропуски токсичных комментариев и ложные срабатывания.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

🛡️ Toxic Comment Detection (PhoBERT fine-tuned)

Mô hình này được fine-tune từ vinai/phobert-base-v2 để phân loại bình luận tiếng Việt thành hai nhóm:

  • 0 = Non-Toxic (Bình thường)
  • 1 = Toxic (Độc hại)

Mục tiêu: phát hiện các bình luận tiêu cực, công kích, xúc phạm trong môi trường mạng xã hội.


📊 Dataset & Training

  • Dữ liệu huấn luyện: tổng hợp từ nhiều nguồn (Facebook comments, tập dữ liệu nhãn "toxic" và "non-toxic").
  • Tiền xử lý:
    • Loại bỏ comment trùng lặp
    • Chuẩn hóa chữ thường
    • Oversampling để cân bằng số lượng
    • Data augmentation cho nhãn toxic (viết hoa, bỏ dấu, teen code…)
  • Loss function: Focal Loss (trọng số cao hơn cho nhãn Toxic)
  • Optimizer: AdamW
  • Scheduler: Cosine
  • Epochs: 10
  • Early stopping: patience = 2

📈 Kết quả

Kết quả trên tập kiểm tra:

  • Accuracy: 0.90
  • Precision: 0.88
  • Recall: 0.86
  • F1-score: 0.87

📌 Báo cáo chi tiết

              precision    recall  f1-score   support

  Non-Toxic       0.91      0.92      0.91      1500
      Toxic       0.88      0.86      0.87      1400

    accuracy                           0.90      2900
   macro avg       0.90      0.89      0.89      2900
weighted avg       0.90      0.90      0.90      2900

🔎 Ma trận nhầm lẫn

Dự đoán Non-ToxicDự đoán Toxic
Thực tế Non-Toxic1378122
Thực tế Toxic1961204

🚀 Sử dụng

1. Dùng trực tiếp với transformers.pipeline

from transformers import pipeline

classifier = pipeline(
    "text-classification",
    model="vijjj1/toxic-comment-phobert",
    tokenizer="vijjj1/toxic-comment-phobert"
)

comments = [
    "mày là đồ ngu, biến đi!",
    "hôm nay thật là một ngày tuyệt vời."
]

results = classifier(comments)
for c, r in zip(comments, results):
    print(f"{c} → {r}")

✅ Output:

mày là đồ ngu, biến đi! → {'label': 'LABEL_1', 'score': 0.97}
hôm nay thật là một ngày tuyệt vời. → {'label': 'LABEL_0', 'score': 0.95}

2. Tự load model

import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification

model_id = "vijjj1/toxic-comment-phobert"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForSequenceClassification.from_pretrained(model_id)

inputs = tokenizer("bạn thật sự quá tệ", return_tensors="pt")
with torch.no_grad():
    outputs = model(**inputs)
    probs = torch.softmax(outputs.logits, dim=-1).numpy()[0]

print("Prob Non-Toxic:", probs[0])
print("Prob Toxic:", probs[1])

📌 Ứng dụng

  • Phát hiện bình luận độc hại trên mạng xã hội
  • Tiền xử lý dữ liệu bình luận để lọc spam/toxic
  • Hỗ trợ hệ thống moderation (quản trị cộng đồng)

⚖️ Giấy phép

Model này được phát hành dưới giấy phép MIT.
Người dùng chịu trách nhiệm cho mọi ứng dụng thực tế, đặc biệt trong môi trường nhạy cảm.


✨ Tác giả


Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers · text-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
RobertaForSequenceClassification
Ревизия весов
9fb1e41

0 моделей