Downloads · 30 days
22
0% of all-time downloads
FpOliveira/tupi-bert-base-portuguese-cased
tupi-bert-base-portuguese-cased is a text classification model from FpOliveira. Use it when you need a label for a piece of text. It is set up for transformers. The card lists the license as mit.
Tupi-BERT-Base is a fine-tuned BERT model designed specifically for binary classification of hate speech in Portuguese. Derived from the BERTimbau base, TuPi-Base is refinde solution for addressing hate speech concern…
Downloads · 30 days
22
0% of all-time downloads
All-time downloads
8.1K
Public
Parameters
109M
436 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors436 MB · 100%
From the Hugging Face model README
Tupi-BERT-Base is a fine-tuned BERT model designed specifically for binary classification of hate speech in Portuguese. Derived from the BERTimbau base, TuPi-Base is refinde solution for addressing hate speech concerns. For more details or specific inquiries, please refer to the BERTimbau repository.
The efficacy of Language Models can exhibit notable variations when confronted with a shift in domain between training and test data. In the creation of a specialized Portuguese Language Model tailored for hate speech classification, the original BERTimbau model underwent fine-tuning processe carried out on the TuPi Hate Speech DataSet, sourced from diverse social networks.
| Model | Arch. | #Layers | #Params |
|---|---|---|---|
FpOliveira/tupi-bert-base-portuguese-cased | BERT-Base | 12 | 109M |
FpOliveira/tupi-bert-large-portuguese-cased | BERT-Large | 24 | 334M |
FpOliveira/tupi-bert-base-portuguese-cased-multiclass-multilabel | BERT-Base | 12 | 109M |
FpOliveira/tupi-bert-large-portuguese-cased-multiclass-multilabel | BERT-Large | 24 | 334M |
from transformers import AutoModelForSequenceClassification, AutoTokenizer, AutoConfig
import torch
import numpy as np
from scipy.special import softmax
def classify_hate_speech(model_name, text):
model = AutoModelForSequenceClassification.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
config = AutoConfig.from_pretrained(model_name)
# Tokenize input text and prepare model input
model_input = tokenizer(text, padding=True, return_tensors="pt")
# Get model output scores
with torch.no_grad():
output = model(**model_input)
scores = softmax(output.logits.numpy(), axis=1)
ranking = np.argsort(scores[0])[::-1]
# Print the results
for i, rank in enumerate(ranking):
label = config.id2label[rank]
score = scores[0, rank]
print(f"{i + 1}) Label: {label} Score: {score:.4f}")
# Example usage
model_name = "FpOliveira/tupi-bert-base-portuguese-cased"
text = "Bom dia, flor do dia!!"
classify_hate_speech(model_name, text)