Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 19
How to use NoneWorks/ModernBert_LegalMx with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("NoneWorks/ModernBert_LegalMx")
sentences = [
"¿Qué información debe contener la declaración fiscal?",
"(REFORMADO, P.O. 28 DE JULIO DE 2014)\nArtículo 23.- El Congreso del Estado se instalará cada tres años, el 15 de septiembre del año de la elección.\n",
"ARTICULO 92.- Los causantes deberán: I.- Llevar los libros de contabilidad y registros que, según sus actividades, estén obligados conforme a otras Leyes. II.- Conservar en su domicilio fiscal los libros, registros y demás documentos relacionados con sus operaciones, hasta por un plazo de cinco años. En caso de clausura o liquidación, el plazo se contará a partir de que se realice cualesquiera de estos hechos. III.- Proporcionar a los funcionarios fiscales autorizados los libros, registros, documentos y demás informes relacionados con sus actividades. IV.- Citar el número de Registro correspondiente en toda declaración, manifestación, promoción o gestión que hagan ante las Autoridades Fiscales. V.- Comparecer ante las Autoridades Fiscales, a requerimiento de éstas.",
"ARTICULO 27.- Cuando no se paguen las contribuciones en la fecha límite o dentro del plazo fijado por las disposiciones fiscales, o cuando el pago hubiere sido menor al que corresponda; deberán pagarse recargos sobre los montos no cubiertos oportunamente, que se calcularán por cada mes transcurrido o fracción de este, desde la fecha de su exigibilidad hasta el día en que se paguen. Los recargos se causarán hasta por cinco años y se calcularán sobre el total del crédito fiscal, excluyendo los recargos, gastos de ejecución y multas por infracción a las disposiciones fiscales, conforme a la tasa que anualmente disponga la Ley de Ingresos del Estado. Cuando se paguen en forma espontánea las prestaciones omitidas y sus recargos, éstos no excederán del 100% del crédito omitido. (REFORMADO PRIMER PÁRRAFO, P.O. 26 DE ENERO DE 2024)"
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from wilfredomartel/ModernBERT-base-es-legal-v2. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.
SentenceTransformer(
(0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: 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})
)
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 = [
'¿Qué es la posesión?',
'Artículo 215.- El dominio y posesión de los bienes comunes reside en ambos cónyuges, mientras subsista la sociedad; pero las acciones en contra de ésta o sobre los bienes sociales serán dirigidas contra el administrador. Las reclamaciones relativas a obligaciones que son carga de la sociedad legal procederán contra el administrador. Constituido el patrimonio familiar conforme a las reglas de este Código, los cónyuges no pueden ejercer actos de dominio sobre los bienes afectos a éste, y las reclamaciones relativas a obligaciones de la sociedad no pueden cumplirse con los bienes que forman parte del patrimonio familiar.',
'Artículo 210.- Son propios de cada cónyuge: I.- Los bienes de que era dueño al tiempo de celebrarse el matrimonio y los que adquiera por prescripción durante la sociedad, así como los que durante la misma adquiera por don de la fortuna, por donación de cualquier especie o por herencia o legado constituido a favor de uno de ellos; (REFORMADA, P.O. 28 DE JUNIO DE 2021) II.- Los bienes adquiridos durante la sociedad por compra o permuta de los bienes raíces que pertenezcan a cada uno de ellos antes de celebrarse el matrimonio; III.- Los adquiridos por consolidación de la propiedad y el usufructo, cuando se hace en beneficio de uno solo de ellos. (REFORMADO, P.O. 23 DE SEPTIEMBRE DE 2024)',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
anchor, positive, and negative| anchor | positive | negative | |
|---|---|---|---|
| type | string | string | string |
| details |
|
|
|
| anchor | positive | negative |
|---|---|---|
¿Cuáles son los requisitos para contraer matrimonio? |
Artículo 37.- Los registros que se realicen se referirán exclusivamente a los actos concernientes al estado civil de las personas y harán constar el principio y extensión de su vida jurídica, acreditarán las relaciones de parentesco, matrimonio y las que deriven de actos judiciales y administrativos relativos al estado civil. Tales registros se asentarán en las formas especiales elaboradas y autorizadas previamente para cada caso que se denominarán "Formas del Registro Civil", y en la base de datos del registro informático, según el sistema adoptado y autorizado por el Reglamento interno correspondiente. La infracción a esta disposición producirá la nulidad de los registos (sic). Deberán contener la clave única de registro de población o en su defecto, su transcripción. Los formatos, una vez utilizados, se encuadernarán en volúmenes hasta de doscientas fojas, correspondientes al año a que se refieran. (REFORMADO, P.O. 23 DE SEPTIEMBRE DE 2013) |
Artículo 290.- El Juez está obligado a suplir la deficiencia de las partes en el convenio propuesto. Las limitaciones formales de la prueba que rigen en la materia civil, no deben aplicarse en los casos de divorcio respecto del o los convenios propuestos. (REFORMADO, P.O. 22 DE JUNIO DE 2015) |
¿Cuáles son los requisitos para contraer matrimonio? |
Artículo 38.- Los registros se podrán asentar en forma física o electrónica, mediante los sistemas informáticos autorizados, en formatos por triplicado que serán: de nacimiento, de reconocimiento de hijos, de adopción, de tutela, de matrimonio, de divorcio, de defunción, de inscripción de las sentencias ejecutorias que declaren ausencia o presunción de muerte o la pérdida o limitación de la capacidad para administrar bienes. Los registros realizados en forma electrónica deberán ser autorizados con la firma electrónica certificada del funcionario. La firma electrónica de los funcionarios deberá ser certificada por la autoridad certificadora, dependiente de la Secretaría de Gobierno del Ejecutivo Estatal, en la forma y tiempo en que lo señale la Ley sobre el Uso de Medios Electrónicos para el Estado de Aguascalientes. (REFORMADO, P.O. 6 DE MARZO DE 2000) |
Artículo 106.- La sentencia ejecutoria que decrete un divorcio será enviada mediante copia certificada por el Juez al Oficial del Registro Civil que corresponda para que se realice el registro respectivo. (REFORMADO, P.O. 6 DE MARZO DE 2000) |
¿Cuáles son los requisitos para contraer matrimonio? |
Artículo 44.- Cuando los interesados no puedan concurrir personalmente a las oficinas de Registro Civil, podrán hacerse representar por un mandatario especial para el acto, cuyo nombramiento conste por lo menos en carta poder otorgado ante dos testigos. En caso de matrimonio o de reconocimiento de hijos las firmas del instrumento deberán ratificarse ante Notario Público. (REFORMADO, P.O. 6 DE MARZO DE 2000) |
Artículo 106.- La sentencia ejecutoria que decrete un divorcio será enviada mediante copia certificada por el Juez al Oficial del Registro Civil que corresponda para que se realice el registro respectivo. (REFORMADO, P.O. 6 DE MARZO DE 2000) |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
per_device_train_batch_size: 16learning_rate: 2e-05warmup_ratio: 0.1fp16: Truedataloader_num_workers: 2batch_sampler: no_duplicatesoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: noprediction_loss_only: Trueper_device_train_batch_size: 16per_device_eval_batch_size: 8per_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.0adam_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: 42data_seed: Nonejit_mode_eval: Falseuse_ipex: Falsebf16: Falsefp16: Truefp16_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: 2dataloader_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}deepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torchoptim_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: proportional| Epoch | Step | Training Loss |
|---|---|---|
| 1.1111 | 50 | 2.4891 |
| 2.2222 | 100 | 1.0429 |
@inproceedings{reimers-2019-sentence-bert,
title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
author = "Reimers, Nils and Gurevych, Iryna",
booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
month = "11",
year = "2019",
publisher = "Association for Computational Linguistics",
url = "https://arxiv.org/abs/1908.10084",
}
@misc{henderson2017efficient,
title={Efficient Natural Language Response Suggestion for Smart Reply},
author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
year={2017},
eprint={1705.00652},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
Base model
answerdotai/ModernBERT-base