GenLocalNews — modelo multitarefa de noticiabilidade (XLM-RoBERTa Base)
Modelo que, a partir do texto de um segmento de uma ata municipal (o texto correspondente a um assunto), prevê em simultâneo:
| Saída | Tipo | Valores |
|---|---|---|
| Decisão binária de noticiabilidade | classificação binária | noticiável / não noticiável (probabilidade + limiar) |
| Sete valores-notícia | classificação ordinal (CORAL) | pontuação de 1 a 5 para relevância, proximidade, novidade, atualidade, continuidade, notoriedade e negatividade |
| Índice de Interesse Público (IIP) | regressão | valor em [0, 1] |
O modelo foi desenvolvido na dissertação de mestrado GenLocalNews e é a componente de modelação da noticiabilidade do demonstrador GenLocalNews. Foi treinado com a componente de noticiabilidade do conjunto de dados CitiLink-News, construído a partir do CitiLink-Minutes.
Arquitetura
- Encoder partilhado:
FacebookAI/xlm-roberta-base, com full fine-tuning. - Representação do segmento: média dos estados ocultos das posições que não são preenchimento, seguida de dropout 0,10.
- Nove módulos de saída sobre a mesma representação:
- sete módulos ordinais CORAL, cada um com um vetor de pesos partilhado e quatro termos independentes por ordem decrescente;
- um módulo de regressão do IIP com sigmoide;
- um módulo binário.
- Função de perda: entropia cruzada binária + média das sete perdas ordinais (ponderadas por classe) + erro quadrático médio do IIP.
- Entrada: segmentos truncados a 512 tokens.
O IIP é definido como
$$z_i = \frac{\sum_{k=1}^{7} w_k v_{i,k} - 1}{4}, \qquad \mathbf{w} = (0{,}30;,0{,}20;,0{,}15;,0{,}10;,0{,}10;,0{,}10;,0{,}05),$$
pela ordem relevância, proximidade, novidade, atualidade, continuidade, notoriedade e negatividade. O modelo dá duas estimativas do IIP:
iip_direto: a saída do módulo de regressão;iip_calculado: a fórmula aplicada às pontuações previstas.
Como usar
from transformers import AutoModel, AutoTokenizer
repo = "liaad/genlocalnews-newsworthiness-xlmr"
tokenizer = AutoTokenizer.from_pretrained(repo)
model = AutoModel.from_pretrained(repo, trust_remote_code=True)
segmento = "O Executivo Municipal deliberou por unanimidade aprovar as minutas dos protocolos ..."
print(model.predict(segmento, tokenizer))
# [{'noticiavel': True, 'probabilidade': 0.91,
# 'valores_noticia': {'relevancia': 3, 'proximidade': 4, ...},
# 'iip_direto': 0.52, 'iip_calculado': 0.50}]
trust_remote_code=True é necessário porque a arquitetura (nove módulos de saída) está definida em modeling_genlocalnews.py, neste repositório.
O limiar da decisão binária (binary_threshold no config.json) foi escolhido na validação, como o valor que maximiza o macro-F1.
Dados e treino
Dados: componente de noticiabilidade do CitiLink-News. São 1 207 segmentos de 53 atas de seis municípios portugueses (Alandroal, Campo Maior, Covilhã, Fundão, Guimarães e Porto). As partições são feitas por ata:
Partição Segmentos Atas Treino 960 43 Validação 124 5 Teste 123 5 Hiperparâmetros:
- até 20 épocas, com paragem antecipada pela perda de validação;
- lote efetivo de 32 (8 × 4 passos de acumulação);
- AdamW com taxa de aprendizagem 2×10⁻⁵, weight decay 0,01 e 10% de aquecimento;
- precisão de 32 bits;
- hardware: uma GPU NVIDIA A100 80 GB.
Seleção: esta configuração (XLM-RoBERTa Base, full fine-tuning) foi escolhida na validação entre três encoders (Albertina 100M, BERTimbau Base, XLM-RoBERTa Base) e três regimes de ajuste. O critério foi o macro-F1 binário médio em cinco sementes.
Checkpoint publicado: semente 42, limiar 0,845.
Resultados no teste (123 segmentos, 5 atas)
Checkpoint publicado (semente 42), classificação binária:
| Exatidão equilibrada | Macro-F1 | ROC-AUC | PR-AUC |
|---|---|---|---|
| 0,7654 | 0,7699 | 0,8942 | 0,8261 |
Média das cinco sementes (13, 29, 42, 73, 101), reportada na dissertação:
| Tarefa | Métricas |
|---|---|
| Classificação binária | macro-F1 0,7487 ± 0,0257; PR-AUC 0,8006 ± 0,0313; MCC 0,5261 ± 0,0255 |
| Valores-notícia (macro) | QWK 0,2143; MAE 0,7449 |
| IIP (previsão direta) | MAE 0,1008 ± 0,0061; Spearman 0,3718 ± 0,0620 |
Limitações
- Origem dos dados:
- os dados vêm de 53 atas de seis municípios, e o teste tem apenas cinco atas;
- os resultados não demonstram transferência para outros municípios, períodos ou tipos de documento.
- Anotações:
- as anotações são apreciações humanas segundo as diretrizes do CitiLink-News, não propriedades objetivas do texto;
- na amostra com dupla anotação binária, o κ de Cohen foi 0,296.
- Resultados por tarefa:
- nos valores-notícia, regressões logísticas com TF-IDF obtiveram melhores resultados do que os módulos ordinais deste modelo;
- no IIP, um Ridge com TF-IDF obteve menor MAE.
- O modelo foi selecionado pela classificação binária.
- Probabilidades: as probabilidades binárias não estão calibradas (ECE no teste ≈ 0,20).
- Uso: o modelo foi concebido como apoio à triagem editorial. Não deve ser usado para decidir automaticamente a publicação.
Citação
@mastersthesis{genlocalnews2026,
author = {Carvalho, Tassia},
title = {Inteligência Artificial no Jornalismo Local: Das Atas Municipais às Propostas de Notícias},
school = {Universidade da Beira Interior},
year = {2026}
}