|
|
--- |
|
|
library_name: transformers |
|
|
tags: |
|
|
- legal |
|
|
- licitação |
|
|
- editais |
|
|
license: apache-2.0 |
|
|
language: |
|
|
- pt |
|
|
metrics: |
|
|
- accuracy |
|
|
- f1 |
|
|
- precision |
|
|
- recall |
|
|
- perplexity |
|
|
base_model: |
|
|
- google-bert/bert-base-uncased |
|
|
pipeline_tag: fill-mask |
|
|
datasets: |
|
|
- vic35get/bidCorpus |
|
|
--- |
|
|
|
|
|
# HelBERT: Modelo BERT para Contratações Públicas |
|
|
|
|
|
O **HelBERT** é um modelo de linguagem baseado na arquitetura BERT, pré-treinado com mais de **1,4 bilhão de tokens** extraídos de **editais de licitação, contratos públicos e legislações brasileiras**, com foco exclusivo no domínio jurídico de **contratações públicas**. |
|
|
|
|
|
Foi desenvolvido para superar modelos genéricos e jurídicos existentes em tarefas específicas do setor público, como **classificação de objetos de contratação** e **identificação de indícios de fraude em editais**. |
|
|
|
|
|
--- |
|
|
|
|
|
## 🧠 Detalhes do Modelo |
|
|
|
|
|
- **Arquitetura:** BERT-Base (12 camadas, 110M parâmetros) |
|
|
- **Tarefa de pré-treinamento:** Masked Language Modeling (MLM) |
|
|
- **Tokenizador:** WordPiece especializado em domínio jurídico |
|
|
- **Corpora:** Comprasnet, TCE-PI, PNCP, Leis de Licitação |
|
|
- **Tamanho do vocabulário:** 33 mil subpalavras |
|
|
- **Precisão:** 95.87% F1 na classificação de objetos e 91.65% F1 na detecção de fraudes |
|
|
|
|
|
--- |
|
|
|
|
|
## 🧪 Avaliação |
|
|
|
|
|
| Tarefa | F1-Weighted | Accuracy | |
|
|
|-----------------------------------------|-------------|----------| |
|
|
| Classificação de objetos de contratação | 95.87% | 95.87% | |
|
|
| Classificação de indícios de fraude | 91.65% | 86.08% | |
|
|
|
|
|
### Outras métricas: |
|
|
|
|
|
- **Perplexidade:** 3.4–3.5 nos datasets jurídicos |
|
|
- **Fertilidade do tokenizador:** 1.17–1.18 (baixo número de subpalavras por palavra) |
|
|
|
|
|
--- |
|
|
|
|
|
## ✅ Como usar |
|
|
|
|
|
```python |
|
|
from transformers import AutoTokenizer, AutoModelForMaskedLM |
|
|
|
|
|
tokenizer = AutoTokenizer.from_pretrained("vic35get/HelBERT-base") |
|
|
model = AutoModelForMaskedLM.from_pretrained("vic35get/HelBERT-base") |
|
|
|
|
|
input_text = "A proposta será avaliada com base no critério do [MASK]." |
|
|
inputs = tokenizer(input_text, return_tensors="pt") |
|
|
outputs = model(**inputs) |
|
|
``` |
|
|
|
|
|
## 📚 Dados de Treinamento |
|
|
|
|
|
- **Documentos utilizados:** mais de 460 mil, incluindo editais de licitação, contratos administrativos, termos de referência, atas e legislações. |
|
|
- **Fontes:** COMPRASNET, Portal Nacional de Contratações Públicas (PNCP), Tribunal de Contas do Estado do Piauí (TCE-PI) e portais de transparência do governo. |
|
|
- **Total de tokens:** aproximadamente 1,49 bilhão. |
|
|
- **Conjunto de treino:** 9,7 milhões de amostras. |
|
|
- **Conjunto de validação:** 100 mil amostras. |
|
|
- **Pré-processamento aplicado:** |
|
|
- Remoção de ruído estrutural (headers, URLs, assinaturas). |
|
|
- Padronização de entidades como CNPJs, números, datas e e-mails. |
|
|
- Normalização de vocabulário e unificação de sinônimos. |
|
|
- Segmentação de sentenças com o NLTK. |
|
|
|
|
|
--- |
|
|
|
|
|
## ⚙️ Configuração de Treinamento |
|
|
|
|
|
- **Épocas de pré-treinamento:** 6 |
|
|
- **Batch total:** 128 (32 por etapa × 4 de accumulation) |
|
|
- **Max length por sequência:** 128 tokens |
|
|
- **Otimizador:** AdamW (β₁=0.9, β₂=0.999, ε=1e−6) |
|
|
- **Weight decay:** 0.01 |
|
|
- **Taxa de aprendizado:** 1e-4 |
|
|
- **Precisão:** FP16 (mixed precision) |
|
|
- **Tempo total de treinamento:** ~72 horas |
|
|
- **Hardware:** GPU Quadro RTX 4000 (8 GB) |
|
|
|
|
|
--- |
|
|
|
|
|
## 📌 Aplicações Recomendadas |
|
|
|
|
|
### 🧩 Uso Direto (sem fine-tuning) |
|
|
|
|
|
- Preenchimento de lacunas em textos jurídicos (MLM) |
|
|
- Geração de embeddings especializados para domínios públicos |
|
|
- Suporte a tarefas de recuperação de informação jurídica |
|
|
|
|
|
### 🏷️ Ajuste Fino (downstream tasks) |
|
|
|
|
|
- Classificação do tipo de objeto em editais de licitação |
|
|
- Detecção automática de indícios de fraude ou risco em contratações públicas |
|
|
- Análise de cláusulas contratuais e segmentação semântica |
|
|
|
|
|
--- |
|
|
|
|
|
## ❗ Limitações |
|
|
|
|
|
- O modelo foi treinado exclusivamente com documentos do setor público, podendo apresentar viés ao ser aplicado fora desse domínio (como contratos privados ou sentenças judiciais). |
|
|
- Linguagem com forte padrão normativo e técnico pode dificultar a generalização para contextos mais informais. |
|
|
- Restrições computacionais limitaram o número de épocas e a variedade de batch sizes testados. |
|
|
|
|
|
--- |
|
|
|
|
|
## 🌱 Impacto Ambiental |
|
|
|
|
|
Estimativas aproximadas baseadas na ferramenta [Machine Learning CO2 Impact](https://mlco2.github.io/impact#compute): |
|
|
|
|
|
- **Tipo de hardware:** GPU Quadro RTX 4000 (8GB) |
|
|
- **Tempo de uso:** ~72 horas |
|
|
- **Região de computação:** Local (Brasil) |
|
|
- **Emissão estimada de CO₂eq:** ~21.6 kg |
|
|
|
|
|
--- |
|
|
|
|
|
<!-- ## 📜 Citação |
|
|
|
|
|
Se este modelo for útil para você, por favor, cite da seguinte forma: |
|
|
|
|
|
```bibtex |
|
|
@misc{ribeiro2025helbert, |
|
|
title={HelBERT: Um Modelo de Linguagem pré-treinado para o domínio de Contratações Públicas}, |
|
|
author={Victor Ribeiro da Silva and Ricardo de Andrade Lira Rabelo}, |
|
|
year={2025}, |
|
|
howpublished={\url{https://huggingface.co/seu-usuario/helbert}} |
|
|
} --> |