/ Модель

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

Контекст
258 токенов
Параметры
162 млн
Лицензия
MIT
Архитектура
roberta · dense
Базовая модель
phobert-base-v2
Опубликована
6 сен 2026

phobert-vi-moderation-v1.1

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

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

161скачиваний за 30 дней1лайквеса обновлены9 окт 2026

Бенчмарки

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

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

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

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

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

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

PhoBERT Moderation v1.1 — модель классификации текста для контекстной модерации публикаций вьетнамских социальных сетей. Её разработал автор репозитория huyleit на основе PhoBERT-base-v2 и дообучил на корпусе вьетнамской модерации, включающем UIT-ViHSD и локализованные данные о кризисных состояниях. Модель использует архитектуру RoBERTa с классификационной головой, содержит 162,4 млн параметров и принимает последовательности длиной до 258 токенов.

Модель относит текст к одному из четырёх классов: безопасный или нейтральный, безадресная брань и выплеск эмоций, разжигание ненависти или оскорбления, признаки риска самоповреждения. Она предназначена для автоматической проверки публикаций, выявления травли и направления сообщений о кризисе на оперативную проверку. Доступны веса Safetensors и варианты ONNX, включая динамическую INT8-квантизацию для более компактного и быстрого CPU-инференса.

Модель рассчитана на вьетнамский язык. В карточке приведены результаты на отложенной выборке, включая высокий F1 для класса риска самоповреждения, однако качество может снижаться на сарказме, диалектной речи, опечатках и новых интернет-сокращениях; границы между эмоциональной бранью и направленной агрессией субъективны. Лицензия — MIT.

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

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

Ограничения

Сарказм, сильные опечатки, диалектная лексика и новые интернет-сокращения могут приводить к ошибкам; разграничение эмоциональной брани и направленной агрессии субъективно. Результаты классификации риска самоповреждения не заменяют оценку специалиста.

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

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

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

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

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

Открыть на Hugging Face

PhoBERT Contextual Content Moderation v1.1

Model Description

PhoBERT Moderation v1.1 is a fine-tuned sequence classification model based on vinai/phobert-base-v2 for contextual text moderation in Vietnamese social networks, with a dedicated focus on mental health awareness and crisis intervention.

Traditional keyword-based moderation often struggles to distinguish between harmless personal venting and actual malicious hate speech, or fails to detect acute emotional distress. This model implements a nuanced 4-class taxonomy:

  • CLEAN (An toàn / Tích cực)
  • PROFANITY_VENTING (Xả bực dọc / Chửi thề vô hại)
  • HATE_SPEECH (Thù ghét / Công kích xúc phạm)
  • SELF_HARM_CRISIS (Khủng hoảng tâm lý / Nguy cơ tự hại)

Trained on a curated Vietnamese social corpus integrating UIT-ViHSD and localized mental health crisis data. Both standard PyTorch weights and high-efficiency ONNX Runtime (FP32 & Dynamic INT8) artifacts are included for production serving.


🏷️ Contextual Taxonomy & Moderation Actions

Label IDLabel NameContextual MeaningRecommended System Action
0CLEANSafe, constructive, or neutral conversation.ALLOW (Publish normally)
1PROFANITY_VENTINGCasual venting of frustration, colloquial swear words not targeting anyone.ALLOW_WITH_WARNING (Publish with sensitive warning / flag for review)
2HATE_SPEECHTargeted harassment, toxic hostility, insults, or abusive speech.BLOCK / HIDE (Hard block or soft shadow-hide)
3SELF_HARM_CRISISAcute depressive crisis, suicidal ideation, or self-harm signals.ALLOW_WITH_SUPPORT (Intervene with emergency hotline modal & supportive resources)

Model Formats & Artifacts

FormatFile PathModel SizeTarget Use-Case
PyTorch FP32model.safetensors~515 MBStandard Hugging Face training & fine-tuning
ONNX FP32onnx/phobert_moderation_fp32.onnx~515 MB100% precision preservation, ~15% faster CPU inference
ONNX INT8onnx/phobert_moderation_int8.onnx~130 MBDynamic quantization, 74.8% memory saving, low-latency CPU serving

How to Use

1. Using Hugging Face pipeline

from transformers import pipeline

moderator = pipeline(
    task="text-classification",
    model="huyleit/phobert-vi-moderation-v1.1", # Or local folder path
    tokenizer="huyleit/phobert-vi-moderation-v1.1"
)

text = "Mệt mỏi và bế tắc quá rồi, không biết phải tiếp tục thế nào..."
prediction = moderator(text)
print(prediction)

2. Using PyTorch (transformers)

import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification

model_id = "huyleit/phobert-vi-moderation-v1.1"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForSequenceClassification.from_pretrained(model_id)

id2label = {
    0: "CLEAN",
    1: "PROFANITY_VENTING",
    2: "HATE_SPEECH",
    3: "SELF_HARM_CRISIS"
}

text = "Đm lại trễ xe buýt nữa, bực cả mình đi làm muộn!"
inputs = tokenizer(text, return_tensors="pt", max_length=128, truncation=True)

with torch.no_grad():
    logits = model(**inputs).logits
    probs = torch.softmax(logits, dim=-1)

pred_id = torch.argmax(probs, dim=-1).item()
confidence = probs[0][pred_id].item()

print(f"Predicted Label: {id2label[pred_id]} (Confidence: {confidence:.4f})")

3. Using ONNX Runtime (Fast CPU Inference)

import numpy as np
import onnxruntime as ort
from transformers import AutoTokenizer

model_id = "huyleit/phobert-vi-moderation-v1.1"
tokenizer = AutoTokenizer.from_pretrained(model_id)

# Load ONNX quantized INT8 model for ultra-fast CPU inference
session = ort.InferenceSession("onnx/phobert_moderation_int8.onnx", providers=["CPUExecutionProvider"])

id2label = {
    0: "CLEAN",
    1: "PROFANITY_VENTING",
    2: "HATE_SPEECH",
    3: "SELF_HARM_CRISIS"
}

text = "Đồ thứ ngu dốt, biến đi cho khuất mắt tao!"
inputs = tokenizer(text, return_tensors="np", max_length=128, truncation=True)

ort_inputs = {
    "input_ids": inputs["input_ids"],
    "attention_mask": inputs["attention_mask"]
}
logits = session.run(["logits"], ort_inputs)[0]
pred_id = int(np.argmax(logits, axis=1)[0])

print(f"Predicted Label: {id2label[pred_id]}")

Evaluation Results

Evaluated on an independent, held-out test set of 2,441 samples (evaluation/moderation/data/v1.1/test.json).

Classification Report (Held-out Test Set)

LabelClass NamePrecisionRecallF1-ScoreSupport
0CLEAN0.85630.86420.86021200
1PROFANITY_VENTING0.58250.53100.5556339
2HATE_SPEECH0.72810.75710.7423527
3SELF_HARM_CRISIS0.98390.97870.9813375
Accuracy——0.81242441
Macro Average0.78770.78270.78482441
Weighted Average0.81020.81240.81112441

💡 Key Highlight: The model achieves an outstanding 98.13% F1-score on SELF_HARM_CRISIS (Precision: 98.39%, Recall: 97.87%), ensuring high reliability when triggering urgent mental health interventions.

Runtime & Quantization Benchmark Comparison

MetricPyTorch FP32ONNX FP32ONNX INT8 (Quantized)Impact / Optimization
Disk Size515.01 MB515.25 MB129.56 MB-74.8% (4x smaller)
Runtime RAM Usage~268 MB~541 MB~158 MBSignificant RAM reduction
Average CPU Latency99.94 ms84.79 ms63.62 ms+36.3% faster
P95 Latency180.37 ms140.16 ms113.37 msPredictable tail latency
Throughput10.0 req/s11.8 req/s15.7 req/s+57.0% request capacity
Accuracy81.24%81.24%79.93%Preserved precision
Macro F178.48%78.48%76.53%Minimal degradation (-1.95%)

Training Details

Training Data

  • Dataset Composition: Merged dataset of UIT-ViHSD (Vietnamese Hate Speech Detection) and localized mental health / crisis corpora.
  • Split Ratio: Stratified 70% Train / 15% Validation / 15% Test (2,441 samples held out).

Training Hyperparameters

  • Base Architecture: vinai/phobert-base-v2 (135M parameters)
  • Max Sequence Length: 128
  • Batch Size: 32
  • Learning Rate: 2e-5
  • Optimizer: AdamW (weight_decay = 0.01)
  • Warmup Steps: 300
  • Precision: Mixed Precision FP16
  • Optimization Metric: Validation Macro F1 (eval_f1)
  • Hardware: Google Colab NVIDIA Tesla T4 GPU

Label Mapping

{
  "0": "CLEAN",
  "1": "PROFANITY_VENTING",
  "2": "HATE_SPEECH",
  "3": "SELF_HARM_CRISIS"
}

Limitations and Bias

  • Context-dependent Sarcasm: Sarcastic remarks containing superficially polite words may be misclassified as CLEAN.
  • Dialect & Slang: Heavily misspelled words or emerging internet acronyms may diminish detection sensitivity.
  • Human Disagreement: Distinguishing borderlines between emotional frustration (PROFANITY_VENTING) and hostile toxicity (HATE_SPEECH) can carry subjective differences.

Citation & Acknowledgements

If you use this model or its quantized variants, please cite the following works:

@article{luu2021vihsd,
  title   = {Constructing a Vietnamese Dataset for Advanced Hate Speech Detection on Social Media},
  author  = {Son T. Luu and Kiet Van Nguyen and Ngan Luu-Thuy Nguyen},
  journal = {ACM Transactions on Asian and Low-Resource Language Information Processing},
  year    = {2021}
}

@inproceedings{phobert,
  title     = {{PhoBERT: Pre-trained language models for Vietnamese}},
  author    = {Dat Quoc Nguyen and Anh Tuan Nguyen},
  booktitle = {Findings of the Association for Computational Linguistics: EMNLP 2020},
  pages     = {1037--1042},
  year      = {2020}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей