⚖📝 HelBERT é um repositório completo para pré-treinamento, fine-tuning, avaliação e análise de modelos de linguagem baseados em BERT, com foco em textos de Editais de Licitações e domínio jurídico-administrativo brasileiro.
- Sobre o Projeto
- Estrutura do Repositório
- Pré-treinamento do HelBERT
- Fine-tuning e Avaliação
- Como Executar
- Resultados e Métricas
- HelBERT no Hugging Face 🤗
Este repositório contém todo o pipeline para:
- Pré-treinamento de modelos BERT no domínio de licitações públicas.
- Fine-tuning para tarefas específicas (classificação, NER, etc).
- Avaliação e análise de métricas dos modelos.
- Scripts utilitários para limpeza, preparação de dados e visualização de resultados.
O HelBERT foi treinado do zero utilizando grandes volumes de editais e documentos públicos, visando melhorar o desempenho em tarefas jurídicas e administrativas.
A pasta principal de código é Codigos/
, organizada da seguinte forma:
- BaseDeDados/: Scripts de limpeza, preparação e manipulação de datasets.
- CalculoMetricasHelBERTs/: Cálculo e análise de métricas dos modelos.
- Distilled/: Técnicas de destilação de modelos.
- FineTuning/: Scripts para fine-tuning e avaliação em diferentes tarefas (Classificação, NER, etc).
- Graficos/: Geração de gráficos e visualizações.
- LSG/: Métodos para long sequence modeling.
- PreTreinamento/: Scripts para pré-treinamento do HelBERT.
- utils/: Funções utilitárias para manipulação de arquivos, métricas, etc.
Além disso, o repositório contém exemplos de datasets, modelos treinados e resultados de experimentos.
O pré-treinamento do HelBERT é realizado a partir de grandes corpora de editais, utilizando scripts em Codigos/PreTreinamento/
. O processo inclui:
- Limpeza e normalização dos textos (
cleaner_pretreinamento.py
) - Tokenização e preparação dos dados
- Treinamento do modelo BERT com Masked Language Modeling
O fine-tuning é realizado para diferentes tarefas, como:
- Classificação de textos (
FineTuning/Classificacao/
) - Reconhecimento de Entidades Nomeadas (NER) (
FineTuning/EntidadesNomeadas/
) - Outras tarefas específicas (Fertilidade, Objetos, etc)
Scripts de avaliação e cálculo de métricas estão disponíveis em CalculoMetricasHelBERTs/
e FineTuning/*/
.
- Instale as dependências:
pip install -r requirements.txt
- Prepare os dados:
Utilize os scripts em Codigos/BaseDeDados/ para limpeza e preparação dos datasets.
- Pré-treine o modelo:
Execute os scripts em Codigos/PreTreinamento/ para treinar o HelBERT do zero.
- Fine-tuning e avaliação:
Utilize os scripts em Codigos/FineTuning/ para treinar e avaliar o modelo em tarefas específicas.
- Visualize os resultados:
Gere gráficos e relatórios com os notebooks em Codigos/Graficos/ e Codigos/CalculoMetricasHelBERTs/.
Os resultados dos experimentos, métricas de avaliação e comparações com outros modelos estão disponíveis em:
Codigos/CalculoMetricasHelBERTs/metricas_modelos.json
Notebooks de análise em Codigos/CalculoMetricasHelBERTs/
O modelo HelBERT-base está disponível publicamente no Hugging Face Hub:
Você pode importar e utilizar o modelo diretamente em seu código Python com a biblioteca transformers
:
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("vic35get/HelBERT-base")
model = AutoModel.from_pretrained("vic35get/HelBERT-base")
# Exemplo de uso
inputs = tokenizer("Exemplo de texto jurídico para o HelBERT.", return_tensors="pt")
outputs = model(**inputs)
---