license: cc
language:
- pt
tags:
- Hate Speech
- kNOwHATE
- not-for-all-audiences
widget:
- text: >-
as pessoas tem que perceber que ser 'panasca' não é deixar de ser homem, é
deixar de ser humano 😂😂
pipeline_tag: text-classification
datasets:
- knowhate/youtube-test
- knowhate/twitter-test
This is the model card for HateBERTimbau-YouTube-Twitter. You may be interested in some of the other models from the kNOwHATE project.
HateBERTimbau-YouTube-Twitter
HateBERTimbau-YouTube-Twitter is a transformer-based encoder model for identifying Hate Speech in Portuguese social media text. It is a fine-tuned version of HateBERTimbau model, retrained on a dataset of 23,912 YouTube comments and 21,546 tweets for a total of 45,458 online messages specifically focused on Hate Speech.
Model Description
- Developed by: kNOwHATE: kNOwing online HATE speech: knowledge + awareness = TacklingHate
- Funded by: European Union
- Model type: Transformer-based text classification model fine-tuned for Hate Speech detection in Portuguese social media text
- Language: Portuguese
- Fine-tuned from model: knowhate/HateBERTimbau
Uses
You can use this model directly with a pipeline for text classification:
from transformers import pipeline
classifier = pipeline('text-classification', model='knowhate/HateBERTimbau-yt-tt')
classifier("as pessoas tem que perceber que ser 'panasca' não é deixar de ser homem, é deixar de ser humano 😂😂")
[{'label': 'Hate Speech', 'score': 0.9959186911582947}]
Or this model can be used by fine-tuning it for a specific task/dataset:
from transformers import AutoTokenizer, AutoModelForSequenceClassification, TrainingArguments, Trainer
from datasets import load_dataset
tokenizer = AutoTokenizer.from_pretrained("knowhate/HateBERTimbau-yt-tt")
model = AutoModelForSequenceClassification.from_pretrained("knowhate/HateBERTimbau-yt-tt")
dataset = load_dataset("knowhate/youtube-train")
def tokenize_function(examples):
return tokenizer(examples["sentence1"], examples["sentence2"], padding="max_length", truncation=True)
tokenized_datasets = dataset.map(tokenize_function, batched=True)
training_args = TrainingArguments(output_dir="hatebertimbau", evaluation_strategy="epoch")
trainer = Trainer(
model=model,
args=training_args,
train_dataset=tokenized_datasets["train"],
eval_dataset=tokenized_datasets["validation"],
)
trainer.train()
Training
Data
23,912 YouTube comments and 21,546 tweets for a total of 45,458 online messages associated with offensive content were used to fine-tune the base model.
Training Hyperparameters
- Batch Size: 32
- Epochs: 3
- Learning Rate: 2e-5 with Adam optimizer
- Maximum Sequence Length: 350 tokens
Testing
Data
The datasets used to test this model were: knowhate/youtube-test and knowhate/twitter-test
Results
Dataset | Precision | Recall | F1-score |
---|---|---|---|
knowhate/youtube-test | 0.867 | 0.892 | 0.874 |
knowhate/twitter-test | 0.397 | 0.627 | 0.486 |
BibTeX Citation
Currently in Peer Review
@article{
}
Acknowledgements
This work was funded in part by the European Union under Grant CERV-2021-EQUAL (101049306). However the views and opinions expressed are those of the author(s) only and do not necessarily reflect those of the European Union or Knowhate Project. Neither the European Union nor the Knowhate Project can be held responsible.