CoolFace
Modelpublic

HenriqueLz/bert-large-portuguese-fakerecogna2-extrativa-elections

sourceHugging Facemitupdated 2mo agoView on Hugging Face
0likes9downloads
Model Card

BERTimbau Large - FakeRecogna 2.0 Extrativa (Elections Split)

Este modelo é uma versão fine-tuned do `neuralmind/bert-large-portuguese-cased` para a tarefa de Detecção de Notícias Falsas (Fake News) em português brasileiro, treinado no dataset `HenriqueLz/fakerecogna2-extrativa-elections`.

Desempenho no Teste

  • —F1-Score Geral (Ponderado): `0.9939`
  • —Conjunto de Avaliação: 10.504 notícias posteriores a 30/10/2021 (cenário eleitoral brasileiro de 2022).

Rótulos das Classes

IDLabelDescrição
0VERDADEIRANotícia factual / verdadeira
1FALSANotícia falsa / desinformação

Como usar

1. Inferência com pipeline:

python
from transformers import pipeline

classifier = pipeline(
    "text-classification",
    model="HenriqueLz/bert-large-portuguese-fakerecogna2-extrativa-elections",
    tokenizer="HenriqueLz/bert-large-portuguese-fakerecogna2-extrativa-elections",
)

texto = "Ministério da Saúde divulga calendário oficial de vacinação para o próximo ano."
resultado = classifier(texto)
print(resultado)
# Output: [{'label': 'VERDADEIRA', 'score': 0.99...}]

2. Carregamento Manual com PyTorch:

python
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification

tokenizer = AutoTokenizer.from_pretrained("HenriqueLz/bert-large-portuguese-fakerecogna2-extrativa-elections")
model = AutoModelForSequenceClassification.from_pretrained("HenriqueLz/bert-large-portuguese-fakerecogna2-extrativa-elections")

texto = "Texto da notícia para classificação..."
inputs = tokenizer(texto, return_tensors="pt", truncation=True, max_length=512)

with torch.no_grad():
    logits = model(**inputs).logits

predicted_class_id = logits.argmax().item()
label = model.config.id2label[predicted_class_id]
print(f"Classe predita: {label}")

Detalhes do Treinamento

  • —Dataset: `HenriqueLz/fakerecogna2-extrativa-elections` (split temporal com data de corte em 30/10/2021).
  • —Hardware: Treinado localmente em GPU NVIDIA GeForce GTX 1070 (8 GB VRAM).
  • —Épocas: 5 épocas completas.
  • —Taxa de Aprendizado (Learning Rate): 1e-5 com otimizador AdamW e decaimento de peso (weight decay) de 0.01.
  • —Precisão: FP16 (Mixed Precision).
  • —Batch Size: 16 (com DataCollatorWithPadding).

Limitações

  • —O modelo foi treinado em textos jornalísticos em português brasileiro e pode ter desempenho inferior em textos curtos de redes sociais, gírias regionais excessivas ou outros idiomas.
  • —Como classificador probabilístico, deve ser utilizado como ferramenta de apoio à checagem e moderação, e não como fonte única e infalível de veracidade.

Citações

Caso utilize este modelo em sua pesquisa, cite o dataset base FakeRecogna 2.0 e o artigo original da arquitetura correspondente:

FakeRecogna 2.0 (PROPOR 2024):

bibtex
@inproceedings{garcia-etal-2024-text,
  title     = "Text Summarization and Temporal Learning Models Applied to {P}ortuguese Fake News Detection in a Novel {B}razilian Corpus Dataset",
  author    = "Garcia, Gabriel Lino and Paiola, Pedro Henrique and Jodas, Danilo Samuel and Sugi, Luis Afonso and Papa, Jo{\~a}o Paulo",
  booktitle = "Proceedings of the 16th International Conference on Computational Processing of Portuguese - Vol. 1",
  month     = mar,
  year      = "2024",
  address   = "Santiago de Compostela, Galicia/Spain",
  publisher = "Association for Computational Lingustics",
  url       = "https://aclanthology.org/2024.propor-1.9/",
  pages     = "86--96"
}

Arquitetura Base (BERTimbau Large):

bibtex
@inproceedings{souza2020bertimbau,
  author    = {Souza, F{'a}bio and Nogueira, Rodrigo and Lotufo, Roberto},
  title     = {{BERT}imbau: Pretrained {BERT} Models for {B}razilian {P}ortuguese},
  booktitle = {9th Brazilian Conference on Intelligent Systems (BRACIS)},
  year      = {2020},
  pages     = {403--417},
  doi       = {10.1007/978-3-030-61377-8_28},
  url       = {https://link.springer.com/chapter/10.1007/978-3-030-61377-8_28}
}