ReSB2-Bi-Encoder
SentenceTransformer model fine-tuned for retrieval of semantically related Brazilian legislative bills.
Model Details
Model Description
- Model Type: Sentence Transformer
- Maximum Sequence Length: 1500 tokens
- Output Dimensionality: 768 dimensions
- Similarity Function: Cosine Similarity
Model Sources
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
Full Model Architecture
SentenceTransformer(
(0): Transformer({'max_seq_length': 1500, 'do_lower_case': False, 'architecture': 'ModernBertModel'})
(1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
)
Usage
Direct Usage (Sentence Transformers)
First install the Sentence Transformers library:
pip install -U sentence-transformers
Then you can load this model and run inference.
from sentence_transformers import SentenceTransformer
# Download from the 🤗 Hub
model = SentenceTransformer("sentence_transformers_model_id")
# Run inference
sentences = [
'Dispõe sobre a estabilidade provisória do trabalhador vítima de acidente de trabalho que apresenta redução na capacidade laboral.\n\no congresso nacional decreta\n\nO Congresso Nacional decreta:\nArt. 1º O art. 118 da Lei 8.213, de 24 de julho de 1991, \npassa a vigorar com a seguinte redação:\n¿Art. 118. ............................................................................\nParágrafo único. A estabilidade referida no ¿caput¿ vigorará \naté a aposentadoria por tempo de contribuição do segurado, na hipótese de este \napresentar redução ou restrição de sua capacidade laboral em razão do acidente \ndo trabalho, independentemente de percepção de auxilio-acidente¿. \nArt. 2º Esta lei entra em vigor na data de sua publicação.',
'Acrescentar o art. 476-B ao Decreto-Lei nº 5.452, de 1º de maio de 1943, para garantir estabilidade ao empregado na cessação do seguro-doença ou auxílio enfermidade e dá outras providências.\n\no congresso nacional decreta\n\nO Congresso Nacional decreta: \n \n \n \nArt. 1º O Decreto-Lei nº 5.452, de 1º de maio de 1943, fica acrescido do \nseguinte Art. 476-B: \nArt. 476-B. Após a cessação do seguro-doença ou auxílio enfermidade, \nquando do retorno ao trabalho, o empregador deverá garantir ao empregado \no mesmo período que esteve afastado nestas situações, a título de \nestabilidade empregatícia. \n \nParágrafo único. Estende-se este direito à estabilidade preconizada, neste \nartigo, às situações previstas na Seção V deste diploma legal, que versa \nsobre a Proteção à Maternidade. \n \nArt. 2º Esta lei entra em vigor na data de sua publicação.',
'Dispõe sobre a concessão de incentivos fiscais para as indústrias do setor de reciclagem e do setor metal mecânico.\n\no congresso nacional decreta\n\nO Congresso Nacional decreta: \n \n \n \nArt. 1o Fica concedido às empresas que se dediquem à \nreciclagem de vidro, plástico, papel, pneu e metal, os seguintes benefícios \nfiscais do Imposto sobre Produtos Industrializados ¿ IPI e do Imposto sobre a \n \nImportação - II: \n \nI ¿ crédito presumido correspondente ao valor da alíquota \ndo IPI incidente sobre operação promovida por estabelecimento industrial nas \nsaídas dos produtos reciclados; \n \nII ¿ diferimento do IPI e do II incidentes sobre as \nimportações de máquinas, equipamentos, peças, parte s e acessórios \ndestinados a integrar o ativo fixo das empresas, para o momento da alienação \nou eventual saída desses bens; \n \nIII ¿ diferimento do IPI sobre a aquisição, no mercado \ninterno, de máquinas, equipamentos, peças, partes, acessórios e materiais \ndestinados a integrar o ativo fixo das empresas, para o momento da alienação \nou eventual saída desses bens. \n \n§ 1º Nas aquisições internas de máquinas, equipamentos, \npeças, partes e acessórios destinados a integrar o ativo fixo das empresas, o\nCÂMARA DOS DEPUTADOS \n \n \n \nimposto será de responsabilidade do estabelecimento adquirente da \nmercadoria, na qualidade de contribuinte substituto, e recolhido no momento da \nalienação ou saída dos respectivos bens. \n \n \n \n \n§ 2º Nas operações internas de entrada de matérias-\nprimas, produtos intermediários e material de embalagem, o imposto será de \nresponsabilidade do estabelecimento adquirente do produto final, na qualidade \nde contribuinte substituto, e apurado de forma global no momento da venda \ndos produtos fabricados. \n \n§ 3º Os impostos incidentes sobre as importações de \nmatérias-primas, produtos intermediários e material de embalagem serão \napurados de forma global no momento da venda dos produtos fabricados. \n \n§ 4º Perderá o direito ao tratamento tributário previsto \nneste artigo, com a conseqüente restauração da sistemática normal de \napuração dos impostos e a imediata devolução aos cofres públicos, com os \nacréscimos legais devidos, de todos os valores não recolhidos, decorrentes do \nbenefício concedido, o contribuinte que, ao longo do gozo do benefício, \napresentar qualquer irregularidade com relação ao cumprimento das exigências \nprevistas no art. 5º desta lei. \n \n§ 5º Não será permitido às empresas beneficiadas o \naproveitamento de qualquer crédito relativo às operações de entrada de \nmercadorias, \nmatérias-primas, \nprodutos \nintermediários \ne \nmaterial \nde \nembalagem necessários às suas atividades. \n \nArt. 2º As empresas do setor metal mecânico terão \nreduzida as bases de cálculo do IPI e do II, na pro porção de 33,33% (trinta e \ntrês inteiros e trinta e três centésimos por cento) , nas operações de saídas \ninternas. \n \nArt. 3º Os benefícios estabelecidos nesta Lei não s e \naplicam ao contribuinte que: possua débito com o Instituto Nacional do Seguro \nSocial - INSS, ou com a Fazenda Pública Federal, cu ja exigibilidade não esteja \nsuspensa. \n \nArt. 4º Os incentivos fiscais previstos nesta Lei vigorarão\nCÂMARA DOS DEPUTADOS \n \n \n \naté o último dia útil do décimo ano subseqüente ao da data de sua publicação. \n \n \nArt. 5º Esta lei entra em vigor na data de sua publicação.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[ 1.0000, 0.8096, 0.0534],
# [ 0.8096, 1.0000, -0.0377],
# [ 0.0534, -0.0377, 1.0000]])
Evaluation
Metrics
Semantic Similarity
- Dataset:
eval - Evaluated with EmbeddingSimilarityEvaluator
| Metric | Value |
|---|---|
| pearson_cosine | 0.8644 |
| spearman_cosine | 0.7286 |
Training Details
Training Dataset
Unnamed Dataset
- Size: 40,825 training samples
- Columns: text1 and text2
- Approximate statistics based on the first 1000 samples:
text1 text2 type string string details min: 79 tokensmean: 624.5 tokensmax: 1500 tokens min: 81 tokensmean: 560.15 tokensmax: 1500 tokens - Samples:
text1 text2 Cria o Programa Renda Básica Universalo congresso nacional decretaO CONGRESSO NACIONAL decreta: Art. 1º Fica criada a Renda Básica Universal, instrumento de garantia de renda aos cidadãos, como instrumento de garantias mínimas para a dignidade humana. Art. 2º Para fins de aplicação desta lei são considerados idosos em extrema vulnerabilidade que tenham: I- Entre 60 e 64 anos de idade; II- Que não possuam fonte de renda ou sua renda não ultrapasse a meio salario mínimo. Art. 3º Para fins de aplicação desta lei são considerados cidadãos em extrema vulnerabilidade as pessoas que: I- Tenham entre 30 e 59 anos de idade; II- Sua renda não ultrapasse meio salario mínimo por mês. Art. 4º Para fins de aplicação desta lei são considerados jovens vulneráveis as pessoas que: I- Tenham entre 15 e 29 anos de idade; II- A renda per capta familiar não ultrapasse um salário mínimo; Art. 5º Para fins de aplicação desta lei são consideradas crianças vul... Fica instituído o programa de renda mínima para todos os brasileiros que tenham renda inferior ao valor do salário mínimo nacional e dá outras providenciaso congresso nacional decretaO CONGRESSO NACIONAL decreta:Art. 1° Todos os brasileiros em situação de extrema pobreza evulnerabilidade social receberão um auxilio deste programa no valor de um saláriomínimo mensal, independentemente de estar recebendo outro benefício social § 1º O atual Cadastro Único (CadUnico) servirá como base de dados parao pagamento da renda mínima nacional§ 2º São considerados brasileiros em situação de extrema pobreza:I-Não tenham fonte de renda;II-Renda igual ou inferior a meio salário mínimo;III-Renda per capta familiar que não ultrapasse um salário mínimo;Art. 3º As despesas decorrentes desta Lei deverão estar previstas noOrçamento da União anualmente. Art. 4° Esta lei entra em vigor na data de sua publicação.JUSTIFICTIVAO Brasil foi inserido novamente no mapa da fome, infeliz... Altera a Lei nº 9.503, de 23 de setembro de 1997, que institui o Código de Trânsito Brasileiro, para dispor sobre mensagem de advertência impressa na embalagem dos produtos de telefonia celular comercializados no País.o congresso nacional decretaO Congresso Nacional decreta:Art. 1º Esta lei acrescenta dispositivo ao Capítulo dasDisposições Gerais e Transitórias da Lei nº 9.503, de 23 de setembro de 1997,que institui o Código de Trânsito Brasileiro, para obrigar que a embalagem dosprodutos de telefonia celular comercializados no País contenha mensagem deadvertência acerca do risco de acidente de trânsito relacionado ao uso deaparelho celular ao volante de veículo automotor.Art. 2º A Lei nº 9.503, de 23 de setembro de 1997, queinstitui o Código de Trânsito Brasileiro, passa a vigorar acrescida do seguinteart. 315-A:“Art. 315-A. A embalagem dos produtos de telefoniacelular comercializados no País conterá a seguinte mensagem deadvertência: ‘Importante: Utilizar o telefone c... Inclua-se o art. 79-A na Lei nº 9.503, de 23 de setembro de 1997, no sentido de estabelecer campanha contra o uso do celular ao dirigir.o congresso nacional decretaO Congresso Nacional decreta: Art. 1º Esta Lei acrescenta o art. 79-A na Lei nº 9.503, de 23 de setembro de 1997, Código de Trânsito Brasileiro - CBT, no sentido de estabelecer campanha contra o uso do celular ao dirigir. Art. 2º Inclua-se o art. 79-A na Lei nº 9.503, de 23 de setembro de 1997, com a seguinte redação: ¿Art. 79-A Os órgãos e entidades executivos de trânsito da União, dos Estados, do Distrito Federal e dos Municípios deverão firmar convênio com as operadoras móveis de telecomunicações em operação no Brasil com o intuito de divulgar campanhas via mensagens curtas de texto ou outros serviços ou funcionalidades de mensagens eletrônicas, informando o número de acidentes automobilísticos, com ou sem vítimas fatais, comprovadamente provocados pelo uso do celular ao volante. § 1º As me... Altera a redação do Código Penal (Decreto-Lei nº 2.848, de 7 de dezembro de 1940) e da Lei de Execuções Penais (Lei 7.210 de 11 de julho de 1984), dispondo sobre o regime de cumprimento de pena, dentre outras providências.o congresso nacional decretaO Congresso Nacional decreta: Art. 1º Esta lei estabelece o regime fechado e o aberto para cumprimento da pena privativa de liberdade, bem como altera as condições do livramento condicional e do cumprimento de pena no regime aberto. Art. 2º O art. 33 do Decreto-Lei nº 2.848, de 7 de dezembro de 1940 (Código Penal), passa a vigorar com a seguinte redação: ¿Art. 33. A pena de reclusão deve ser cumprida em regime fechado ou aberto. A de detenção, em regime aberto, salvo necessidade de transferência a regime fechado. § 1º ...................................................................................... ............................................................................................. c) regime aberto a execução ... Altera o Decreto-Lei nº 2.848, de 1940.o congresso nacional decretaO Congresso Nacional decreta: Art. 1º Esta Lei altera o Decreto-Lei nº 2.848, de 1940. Art. 2º Os incisos I, II e V do art. 83 do Decreto-Lei nº 2.848, de 1940, passam a vigorar com a seguinte redação: ¿Art. 83 - O juiz poderá conceder livramento condicional ao condenado a pena privativa de liberdade igual ou superior a 2 (dois) anos, desde que: I - cumprida mais da metade da pena se o condenado não for reincidente em crime doloso e tiver bons antecedentes; II - cumpridos mais de dois terços da pena se o condenado for reincidente em crime doloso; ...................................................................................... V - cumpridos mais de quatro quintos da pena, nos casos de condenação por crime hediondo, prática de tortura, tráfico ilícito de entorpecentes e drogas afins, tráfico de pessoas e terrorismo, se o apenado não for reincidente específico em crimes dessa ... - Loss: MultipleNegativesSymmetricRankingLoss with these parameters:
{ "scale": 20.0, "similarity_fct": "cos_sim", "gather_across_devices": false }
Training Hyperparameters
Non-Default Hyperparameters
eval_strategy: epochper_device_train_batch_size: 10per_device_eval_batch_size: 10learning_rate: 2e-05weight_decay: 0.01warmup_ratio: 0.1seed: 148937data_seed: 148937batch_sampler: no_duplicates
All Hyperparameters
overwrite_output_dir: Falsedo_predict: Falseeval_strategy: epochprediction_loss_only: Trueper_device_train_batch_size: 10per_device_eval_batch_size: 10per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 2e-05weight_decay: 0.01adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 3max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.1warmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Truesave_safetensors: Truesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseno_cuda: Falseuse_cpu: Falseuse_mps_device: Falseseed: 148937data_seed: 148937jit_mode_eval: Falseuse_ipex: Falsebf16: Falsefp16: Falsefp16_opt_level: O1half_precision_backend: autobf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: 0ddp_backend: Nonetpu_num_cores: Nonetpu_metrics_debug: Falsedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonepast_index: -1disable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Falseignore_data_skip: Falsefsdp: []fsdp_min_num_params: 0fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}fsdp_transformer_layer_cls_to_wrap: Noneaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}parallelism_config: Nonedeepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torch_fusedoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falsedataloader_pin_memory: Truedataloader_persistent_workers: Falseskip_memory_metrics: Trueuse_legacy_prediction_loop: Falsepush_to_hub: Falseresume_from_checkpoint: Nonehub_model_id: Nonehub_strategy: every_savehub_private_repo: Nonehub_always_push: Falsehub_revision: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseinclude_for_metrics: []eval_do_concat_batches: Truefp16_backend: autopush_to_hub_model_id: Nonepush_to_hub_organization: Nonemp_parameters:auto_find_batch_size: Falsefull_determinism: Falsetorchdynamo: Noneray_scope: lastddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseliger_kernel_config: Noneeval_use_gather_object: Falseaverage_tokens_across_devices: Falseprompts: Nonebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}
Training Logs
| Epoch | Step | Training Loss | eval_spearman_cosine |
|---|---|---|---|
| 0.1225 | 500 | 0.5793 | - |
| 0.2449 | 1000 | 0.1086 | - |
| 0.3674 | 1500 | 0.0876 | - |
| 0.4898 | 2000 | 0.0712 | - |
| 0.6123 | 2500 | 0.0544 | - |
| 0.7348 | 3000 | 0.052 | - |
| 0.8572 | 3500 | 0.0449 | - |
| 0.9797 | 4000 | 0.0431 | - |
| 1.0 | 4083 | - | 0.7142 |
| 1.1021 | 4500 | 0.0305 | - |
| 1.2246 | 5000 | 0.0323 | - |
| 1.3470 | 5500 | 0.035 | - |
| 1.4695 | 6000 | 0.0289 | - |
| 1.5920 | 6500 | 0.0297 | - |
| 1.7144 | 7000 | 0.0254 | - |
| 1.8369 | 7500 | 0.0273 | - |
| 1.9593 | 8000 | 0.0225 | - |
| 2.0 | 8166 | - | 0.7223 |
| 2.0818 | 8500 | 0.0228 | - |
| 2.2043 | 9000 | 0.0176 | - |
| 2.3267 | 9500 | 0.0175 | - |
| 2.4492 | 10000 | 0.02 | - |
| 2.5716 | 10500 | 0.0224 | - |
| 2.6941 | 11000 | 0.021 | - |
| 2.8166 | 11500 | 0.0188 | - |
| 2.9390 | 12000 | 0.0155 | - |
| 3.0 | 12249 | - | 0.7286 |
Framework Versions
- Python: 3.9.21
- Sentence Transformers: 5.1.1
- Transformers: 4.56.2
- PyTorch: 2.8.0+cu128
- Accelerate: 1.4.0
- Datasets: 3.3.1
- Tokenizers: 0.22.0
Citation
If you use this model, please cite:
@inproceedings{lage2026resb2,
title={ReSB²: Machine-Assisted Linking of Legislative Bills using Domain-Adapted ModernBERT and Explainable AI},
author={Lage, Lucas Gabriel and others},
booktitle={Proceedings of the ACM Conference on Hypertext and Social Media},
year={2026}
}
License
The models developed and released in this repository, including the trained ReSB² models, are provided for research and academic purposes.
The use of the underlying pre-trained models is subject to the licenses and terms of use defined by their original providers. Users are responsible for complying with the respective licenses when using, modifying, or redistributing these models.
Acknowledgments
This work was supported by the Legislative Assembly of Minas Gerais (ALMG), CNPq, CAPES, and FAPEMIG.