CoolFace
Modelpublic

Silly-Machine/TuPy-Bert-Large-Binary-Classifier

sourceHugging Facemitupdated 3y agoView on Hugging Face
1likes20downloads
Model Card

Introduction

TuPy-Bert-Large-Binary-Classifier is a fine-tuned BERT model designed specifically for binary classification of hate speech in Portuguese. Derived from the BERTimbau base, TuPy-Bert-Large-Binary-Classifier is a refined solution for addressing binary hate speech concerns (hate or not hate). 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 TuPy Hate Speech DataSet, sourced from diverse social networks.

Available models

ModelArch.#Layers#Params
Silly-Machine/TuPy-Bert-Base-Binary-ClassifierBERT-Base12109M
Silly-Machine/TuPy-Bert-Large-Binary-ClassifierBERT-Large24334M
Silly-Machine/TuPy-Bert-Base-MultilabelBERT-Base12109M
Silly-Machine/TuPy-Bert-Large-MultilabelBERT-Large24334M

Example usage

python
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 = "Silly-Machine/TuPy-Bert-Large-Binary-Classifier"
text = "Bom dia, flor do dia!!"
classify_hate_speech(model_name, text)