HateBERTimbau-yt-tt / README.md
gilramos's picture
Update README.md
dfd4b44 verified
metadata
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

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.