BERTimbau — Classificador de Macrocategorias de Notícias (PT-BR)
Fine-tune do BERTimbau para classificar notícias brasileiras em 12 macrocategorias temáticas.
Dados
News of the Site Folha de São Paulo — ~167 mil notícias (2015–2017).
As 48 categorias originais do dataset foram consolidadas em 12 macrocategorias
temáticas. Motivo (derivado da EDA): o desbalanceamento era extremo (a maior classe
tinha 22.022 notícias, a menor tinha 1) e várias "categorias" eram editorias
(colunas, opiniao, paineldoleitor), não temas.
Entrada: título + texto da notícia (truncado em 256 tokens).
Classes
Carreira · Ciência e Tecnologia · Cultura e Entretenimento · Economia ·
Educação · Esporte · Internacional · Opinião · Outros · Política ·
Saúde · Sociedade
Resultados
Avaliado em holdout de 32.824 notícias (split estratificado, seed 42):
| Métrica | Valor |
|---|---|
| F1-macro | 0,858 |
| Accuracy | 0,918 |
Baseline de referência (TF-IDF + LinearSVC) no mesmo split: F1-macro 0,800. O ganho do BERT concentra-se nas classes raras e semanticamente ambíguas.
Uso
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification
mid = "wesleybritowx/bertimbau-folha-categorias"
tok = AutoTokenizer.from_pretrained(mid)
model = AutoModelForSequenceClassification.from_pretrained(mid)
model.eval()
texto = ("Banco Central mantém a taxa Selic. O Copom decidiu manter os juros "
"diante da inflação e das expectativas para o crescimento econômico.")
enc = tok(texto, truncation=True, max_length=256, return_tensors="pt")
with torch.no_grad():
probs = torch.softmax(model(**enc).logits[0], dim=-1)
print(model.config.id2label[int(probs.argmax())]) # -> Economia
Treino
- 3 épocas · learning rate 2e-5 · batch 16 ·
fp16 - Loss ponderada por classe (
class_weight="balanced") — os dados são desbalanceados - Melhor época escolhida por F1-macro na validação
Projeto completo
EDA, baseline clássico, comparação de modelos e API FastAPI dockerizada: 👉 https://github.com/wesleybritowx/Text-classification
- Downloads last month
- 42
Model tree for wesleybritowx/bertimbau-folha-categorias
Base model
neuralmind/bert-base-portuguese-cased