HenriqueLz's picture
docs: update and standardize README.md with metrics, hardware and citations
7e18344 verified
|
Raw History Blame
6.19 kB
metadata
library_name: transformers
datasets:
  - HenriqueLz/fakerecogna2-extrativa-elections
language:
  - pt
metrics:
  - f1
  - accuracy
base_model: PORTULAN/albertina-100m-portuguese-ptbr-encoder
pipeline_tag: text-classification
license: mit
tags:
  - fake-news
  - sequence-classification
  - text-classification
  - portuguese
  - brazil
  - elections
  - transformers
  - albertina
  - deberta
model-index:
  - name: albertina-100m-portuguese-ptbr-fakerecogna2-extrativa-elections
    results:
      - task:
          type: text-classification
          name: Fake News Detection
        dataset:
          name: fakerecogna2-extrativa-elections
          type: HenriqueLz/fakerecogna2-extrativa-elections
        metrics:
          - name: F1
            type: f1
            value: 0.9967

Albertina 100M PT-BR — Detecção de Fake News (Eleições BR)

Fine-tune do PORTULAN/albertina-100m-portuguese-ptbr-encoder (DeBERTa) para classificação binária de notícias falsas em português brasileiro, treinado no corpus eleitoral HenriqueLz/fakerecogna2-extrativa-elections.

Uso rápido

from transformers import pipeline

classifier = pipeline(
    "text-classification",
    model="HenriqueLz/albertina-100m-portuguese-ptbr-fakerecogna2-extrativa-elections",
)

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

Carregamento manual com PyTorch:

import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification

model_id = "HenriqueLz/albertina-100m-portuguese-ptbr-fakerecogna2-extrativa-elections"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForSequenceClassification.from_pretrained(model_id)

inputs = tokenizer("Notícia para classificação...", return_tensors="pt", truncation=True, max_length=512)
with torch.no_grad():
    logits = model(**inputs).logits

predicted_class_id = logits.argmax(-1).item()
label = model.config.id2label[predicted_class_id]
print(f"Classe predita: {label}")  # "VERDADEIRA" ou "FALSA"

Labels

ID Label Descrição
0 VERDADEIRA Notícia verdadeira / conteúdo factual
1 FALSA Notícia falsa / desinformação

Resultados de Avaliação

Avaliado no split de teste do dataset HenriqueLz/fakerecogna2-extrativa-elections.

Métrica Valor
F1 Score (Macro) 0.9967
Acurácia 99.67%

Detalhes de Treinamento

Dados

Hiperparâmetros & Hardware

Parâmetro / Configuração Valor
Épocas 5
Learning rate 1e-5
Weight decay 0.01
Precisão FP16 (Mixed Precision)
Batch size 16 (com DataCollatorWithPadding)
Otimizador AdamW
Scheduler Linear com warmup
Hardware NVIDIA GeForce GTX 1070 (8 GB VRAM) local

Modelo base

PORTULAN/albertina-100m-portuguese-ptbr-encoder — Modelo de 100M parâmetros baseado na arquitetura DeBERTa, pré-treinado para a variante brasileira do português pela PORTULAN CLARIN.

Limitações

  • Domínio eleitoral e jornalístico: Treinado em notícias do contexto eleitoral brasileiro; pode apresentar desempenho inferior em textos excessivamente informais, gírias regionais de redes sociais ou outros idiomas.
  • Corte temporal: O corpus reflete padrões linguísticos e temporais pré e pós eleitorais com data de corte em 30/10/2021.
  • Equilíbrio de classes e viés: A distribuição de classes reflete o corpus coletado e rotulado no FakeRecogna 2.0.
  • Uso responsável: Como classificador probabilístico, deve ser utilizado como ferramenta auxiliar e de apoio à checagem de fatos, e não como árbitro único e definitivo da verdade.

Citações

Caso utilize este modelo em sua pesquisa, cite o dataset base FakeRecogna 2.0 e o modelo Albertina:

FakeRecogna 2.0 (PROPOR 2024):

@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",
    editor = "Gamallo, Pablo  and
      Claro, Daniela  and
      Teixeira, Ant{'o}nio  and
      Real, Livy  and
      Garcia, Marcos  and
      Oliveira, Hugo Gon{\c{c}}alo  and
      Amaro, Raquel",
    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"
}

Albertina PT-* (EMNLP 2023):

@inproceedings{rodrigues2023advancing,
  title     = "Advancing {N}eural {L}anguage {M}odeling for {P}ortuguese with {A}lbertina {PT}-*",
  author    = "Rodrigues, Jo{\~a}o and Gomes, Lu{'\i}s and Silva, Jo{\~a}o and de Melo, Ant{'o}nio and Lopes, Lu{'\i}s and Branco, Ant{'o}nio",
  booktitle = "Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing",
  year      = "2023",
  pages     = "13426--13437",
  url       = "https://aclanthology.org/2023.emnlp-main.832/"
}