File size: 5,008 Bytes
e5e246d
 
e7cf6f0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
fe64af0
 
e5e246d
 
e7cf6f0
e5e246d
e7cf6f0
e5e246d
e7cf6f0
e5e246d
e7cf6f0
e5e246d
e7cf6f0
e5e246d
e7cf6f0
 
 
 
 
 
e5e246d
e7cf6f0
e5e246d
e7cf6f0
e5e246d
e7cf6f0
 
 
 
e5e246d
e7cf6f0
e5e246d
e7cf6f0
 
e5e246d
e7cf6f0
e5e246d
e7cf6f0
e5e246d
e7cf6f0
 
e5e246d
e7cf6f0
 
e5e246d
e7cf6f0
 
 
 
e5e246d
e7cf6f0
e5e246d
e7cf6f0
 
 
 
 
 
 
 
 
 
e5e246d
e7cf6f0
e5e246d
e7cf6f0
e5e246d
e7cf6f0
 
 
 
 
 
 
 
 
e5e246d
e7cf6f0
e5e246d
e7cf6f0
e5e246d
e7cf6f0
e5e246d
e7cf6f0
 
 
e5e246d
e7cf6f0
e5e246d
e7cf6f0
 
 
e5e246d
e7cf6f0
e5e246d
e7cf6f0
e5e246d
e7cf6f0
 
 
e5e246d
e7cf6f0
e5e246d
e7cf6f0
e5e246d
e7cf6f0
e5e246d
e7cf6f0
 
 
 
e5e246d
e7cf6f0
e5e246d
e7cf6f0
e5e246d
e7cf6f0
e5e246d
e7cf6f0
 
 
 
 
 
fe64af0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
---
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("seu-usuario/helbert")
model = AutoModelForMaskedLM.from_pretrained("seu-usuario/helbert")

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}}
} -->