ftr-bertimbau-large

Este modelo é uma versão fine-tuned do BERTimbau-large (um modelo BERT pré-treinado em português) especializado na triagem de petições iniciais do contexto jurídico brasileiro. Ele classifica trechos de documentos nas categorias Tese Jurídica (0), Fato (1) ou Ruído (2).

O modelo foi treinado e avaliado utilizando um corpus institucional inédito contendo mais de 25 mil trechos de petições iniciais reais, provenientes do Tribunal de Justiça do Estado de Goiás (TJGO). O objetivo é auxiliar a triagem de documentos nos fluxos de trabalho judiciais, otimizando o tempo de processamento.

Publicação

🏆 Aceito para publicação no ENIAC 2026 (Encontro Nacional de Inteligência Artificial e Computacional).

📄 Artigo: "Fact, Legal Thesis, and Noise: Comparing Classical ML, BERT, and LLMs for Triage of Initial Petitions in Brazilian Portuguese". 🔗 DOI: [A DEFINIR EM BREVE]

Resultados e Métricas (Conjunto de Teste)

O modelo obteve desempenho no estado da arte ao separar as três classes (Tese, Fato e Ruído) em documentos não estruturados, demonstrando excelente adaptação ao dialeto jurídico brasileiro.

Métricas Gerais:

  • Acurácia: 0.990
  • Macro-F1: 0.990
  • Precisão Macro: 0.990
  • Recall Macro: 0.990

F1-Score por Classe:

  • Fato: 0.986
  • Tese Jurídica: 0.985
  • Ruído (Cabeçalhos, rodapés, etc.): 0.999

Nota: Erros do modelo estão concentrados quase que exclusivamente em trechos altamente ambíguos onde a narração de um evento factual se mistura indissociavelmente com a invocação de um dispositivo legal. Avaliações com especialistas do tribunal confirmaram que tais casos geram incerteza até mesmo entre profissionais de direito (Fleiss' kappa = 0.46 nestes recortes difíceis).

Como Usar

Você pode utilizar este modelo diretamente com a biblioteca transformers:

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

tokenizer = AutoTokenizer.from_pretrained("Willgnner-Santos/ftr-bertimbau-large")
model = AutoModelForSequenceClassification.from_pretrained("Willgnner-Santos/ftr-bertimbau-large")

texto = "Narra a parte autora que sofreu um acidente de trânsito causado pela negligência da ré..."
inputs = tokenizer(texto, return_tensors="pt", truncation=True, max_length=512)

with torch.no_grad():
    logits = model(**inputs).logits
    predicao = torch.argmax(logits, dim=1).item()

# Mapeamento oficial:
# 0 = Tese Jurídica
# 1 = Fato
# 2 = Ruído
print(f"Classe predita: {predicao}")

Detalhes do Treinamento

  • Arquitetura Base: neuralmind/bert-large-portuguese-cased (BERTimbau Large)
  • Max Length: 512 tokens
  • Batch Size: 48
  • Learning Rate: 4.9e-5
  • Epochs: 10 (com Early Stopping)

Limitações e Recomendações

  • Limite de Contexto: O modelo processa até 512 tokens. Para textos mais longos, o texto deve ser truncado ou dividido em janelas menores.
  • Privacidade: Todos os documentos utilizados no treinamento (do TJGO) passaram por um rigoroso processo de anonimização para mascarar entidades sensíveis (nomes, CPFs, valores, etc).
  • Uso Responsável: O modelo serve como ferramenta de auxílio e suporte à triagem institucional e não deve substituir a análise humana final em tomadas de decisão sensíveis ou na avaliação do mérito jurídico.
Downloads last month
17
Safetensors
Model size
0.3B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support