vihate-t5-hsd / README.md
AnnyNguyen's picture
Upload README.md with huggingface_hub
2a8652e verified
---
language:
- vi
tags:
- hate-speech-detection
- vietnamese-nlp
- text-classification
- offensive-speech
license: mit
datasets:
- vihsd
base_model: VietAI/vit5-base
---
# VIHATE-T5
ViT5 fine-tuned cho bài toán phân loại Hate Speech tiếng Việt.
## Model Details
- **Model type**: Fine-tuned transformer model
- **Architecture**: ViT5 (Text-to-Text Transfer Transformer cho tiếng Việt)
- **Base model**: [VietAI/vit5-base](https://huggingface.co/VietAI/vit5-base)
- **Task**: Hate Speech Classification
- **Language**: Vietnamese
- **Labels**: CLEAN (0), OFFENSIVE (1), HATE (2)
## 📊 Model Performance
| Metric | Score |
|--------|-------|
| Accuracy | 0.9551 |
| F1 Macro | 0.8718 |
| F1 Weighted | 0.9535 |
## Model Description
ViT5 fine-tuned cho bài toán phân loại Hate Speech tiếng Việt. Model này được fine-tune từ `VietAI/vit5-base` trên dataset ViHSD (Vietnamese Hate Speech Dataset).
## How to Use
### Basic Usage
```python
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
# Load model and tokenizer
model_name = "visolex/hate-speech-vihate-t5"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
# Classify text
text = "Văn bản tiếng Việt cần phân loại"
inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True)
with torch.no_grad():
outputs = model(**inputs)
predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
predicted_label = torch.argmax(predictions, dim=-1).item()
# Label mapping
label_names = {
0: "CLEAN",
1: "OFFENSIVE",
2: "HATE"
}
print(f"Predicted label: {label_names[predicted_label]}")
print(f"Confidence scores: {predictions[0].tolist()}")
```
### Using the Pipeline
```python
from transformers import pipeline
classifier = pipeline(
"text-classification",
model="visolex/hate-speech-vihate-t5",
tokenizer="visolex/hate-speech-vihate-t5"
)
result = classifier("Văn bản tiếng Việt cần phân loại")
print(result)
```
## Training Details
### Training Data
- Dataset: ViHSD (Vietnamese Hate Speech Dataset)
- Training samples: ~8,000 samples
- Validation samples: ~1,000 samples
- Test samples: ~1,000 samples
### Training Procedure
- Framework: PyTorch + Transformers
- Optimizer: AdamW
- Learning Rate: 2e-5
- Batch Size: 32
- Epochs: Varies by model
- Max Sequence Length: 256
### Label Distribution
- CLEAN (0): Normal content without offensive language
- OFFENSIVE (1): Mildly offensive content
- HATE (2): Hate speech and extremist language
## Evaluation
Model được đánh giá trên test set của ViHSD với các metrics:
- Accuracy: Overall classification accuracy
- F1 Macro: Macro-averaged F1 score across all labels
- F1 Weighted: Weighted F1 score based on label frequency
## Limitations and Bias
- Model chỉ được train trên dữ liệu tiếng Việt từ mạng xã hội
- Performance có thể giảm trên domain khác (email, document, etc.)
- Model có thể có bias từ dữ liệu training
- Cần đánh giá thêm trên dữ liệu real-world
## Citation
## Contact
## License
This model is distributed under the MIT License.