--- 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`](https://huggingface.co/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`](https://huggingface.co/datasets/HenriqueLz/fakerecogna2-extrativa-elections). ## Uso rápido ```python 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: ```python 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`](https://huggingface.co/datasets/HenriqueLz/fakerecogna2-extrativa-elections). | Métrica | Valor | |---------|-------| | F1 Score (Macro) | **0.9967** | | Acurácia | **99.67%** | ## Detalhes de Treinamento ### Dados - **Dataset base:** [`recogna-nlp/fakerecogna2-extrativa`](https://huggingface.co/datasets/recogna-nlp/fakerecogna2-extrativa) / [`HenriqueLz/fakerecogna2-extrativa-elections`](https://huggingface.co/datasets/HenriqueLz/fakerecogna2-extrativa-elections) - **Train:** 42.031 exemplos - **Test:** 10.504 exemplos (2.326 FALSA · 8.178 VERDADEIRA) - **Domínio:** Notícias sobre eleições brasileiras (split temporal com data de corte em 30/10/2021) ### 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`](https://huggingface.co/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): ```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", 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): ```bibtex @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/" } ```