Downloads · 30 days
19
9% of all-time downloads
DrProfessor/lexai-embeddings
lexai-embeddings is a sentence similarity model from DrProfessor. Use it when you need a score for how close two texts are. It is set up for sentence-transformers.
This is a sentence-transformers model finetuned from sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2. It maps sentences & paragraphs to a 384-dimensional dense vector space and can be used for retrieval.
Downloads · 30 days
19
9% of all-time downloads
All-time downloads
213
Public
Parameters
118M
488 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors471 MB · 96%
From the Hugging Face model README
This is a sentence-transformers model finetuned from sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2. It maps sentences & paragraphs to a 384-dimensional dense vector space and can be used for retrieval.
SentenceTransformer(
(0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'BertModel'})
(1): Pooling({'embedding_dimension': 384, 'pooling_mode': 'mean', '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 = [
"Quelles sont les types de mises à jour régies par l'article L224-25-24 du Code de la Consommation ?",
"Les mises à jour d'un contenu numérique ou d'un service numérique sont régies par la présente sous-section. Pour l'application de la présente sous-section, on entend par mises à jour, les mises à jour ou les modifications visant à maintenir, adapter ou faire évoluer les fonctionnalités du contenu numérique ou du service numérique, y compris les mises à jour de sécurité, que ces mises à jour soient nécessaires ou non au maintien de la conformité du contenu ou service numérique.",
"Lorsque le corps d'une personne décédée est retrouvé et peut être identifié, un acte de décès doit être dressé par l'officier de l'état civil du lieu présumé du décès, quel que soit le temps écoulé entre le décès et la découverte du corps. Si le défunt ne peut être identifié, l'acte de décès doit comporter son signalement le plus complet ; en cas d'identification ultérieure, l'acte est rectifié dans les conditions prévues à l'article 99-1 du présent code. L'officier d'état civil informe sans délai le procureur de la République du décès, afin qu'il puisse prendre les réquisitions nécessaires aux fins d'établir l'identité du défunt.",
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[ 1.0000, 0.7270, -0.0635],
# [ 0.7270, 1.0000, 0.0301],
# [-0.0635, 0.0301, 1.0000]])
<!--
### Direct Usage (Transformers)
<details><summary>Click to see the direct usage in Transformers</summary>
</details>
-->
<!--
### Downstream Usage (Sentence Transformers)
You can finetune this model on your own dataset.
<details><summary>Click to expand</summary>
</details>
-->
<!--
### Out-of-Scope Use
*List how the model may foreseeably be misused and address what users ought not to do with the model.*
-->
lexai-juridique| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.73 |
| cosine_accuracy@3 | 0.9036 |
| cosine_accuracy@5 | 0.9504 |
| cosine_accuracy@10 | 0.978 |
| cosine_precision@1 | 0.73 |
| cosine_precision@3 | 0.3012 |
| cosine_precision@5 | 0.1901 |
| cosine_precision@10 | 0.0978 |
| cosine_recall@1 | 0.73 |
| cosine_recall@3 | 0.9036 |
| cosine_recall@5 | 0.9504 |
| cosine_recall@10 | 0.978 |
| cosine_ndcg@10 | 0.8633 |
| cosine_mrr@10 | 0.8255 |
| cosine_map@100 | 0.8263 |
| anchor | positive | |
|---|---|---|
| type | string | string |
| details | <ul><li>min: 14 tokens</li><li>mean: 29.29 tokens</li><li>max: 50 tokens</li></ul> | <ul><li>min: 11 tokens</li><li>mean: 88.05 tokens</li><li>max: 128 tokens</li></ul> |
| anchor | positive |
|---|---|
| <code>Quelles sont les raisons pour lesquelles une partie peut être déclarée irrecevable dans une procédure civile ?</code> | <code>Constitue une fin de non-recevoir tout moyen qui tend à faire déclarer l'adversaire irrecevable en sa demande, sans examen au fond, pour défaut de droit d'agir, tel le défaut de qualité, le défaut d'intérêt, la prescription, le délai préfix, la chose jugée.</code> |
| <code>Quelles sont les obligations des parties en matière de mesures d'instruction selon l'article 11 du Code de Procédure Civile ?</code> | <code>Les parties sont tenues d'apporter leur concours aux mesures d'instruction sauf au juge à tirer toute conséquence d'une abstention ou d'un refus. Si une partie détient un élément de preuve, le juge peut, à la requête de l'autre partie, lui enjoindre de le produire, au besoin à peine d'astreinte. Il peut, à la requête de l'une des parties, demander ou ordonner, au besoin sous la même peine, la production de tous documents détenus par des tiers s'il n'existe pas d'empêchement légitime.</code> |
| <code>Quelles sont les causes de récusation d'un juge selon l'article 341 du Code de Procédure Civile ?</code> | <code>Sauf disposition particulière, la récusation d'un juge est admise pour les causes prévues par l'article L. 111-6 du code de l'organisation judiciaire.</code> |
{
"scale": 20.0,
"similarity_fct": "cos_sim",
"gather_across_devices": false,
"directions": [
"query_to_doc"
],
"partition_mode": "joint",
"hardness_mode": null,
"hardness_strength": 0.0
}
per_device_train_batch_size: 128learning_rate: 2e-05num_train_epochs: 25warmup_steps: 127fp16: Trueload_best_model_at_end: Truedo_predict: Falseprediction_loss_only: Trueper_device_train_batch_size: 128per_device_eval_batch_size: 8gradient_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: 25max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_ratio: Nonewarmup_steps: 127log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Trueenable_jit_checkpoint: Falsesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseuse_cpu: Falseseed: 42data_seed: Nonebf16: Falsefp16: Truebf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: -1ddp_backend: Nonedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonedisable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Trueignore_data_skip: Falsefsdp: []fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}accelerator_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: Nonegroup_by_length: Falselength_column_name: lengthproject: huggingfacetrackio_space_id: trackioddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falsedataloader_pin_memory: Truedataloader_persistent_workers: Falseskip_memory_metrics: Truepush_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_for_metrics: []eval_do_concat_batches: Trueauto_find_batch_size: Falsefull_determinism: Falseddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneinclude_num_input_tokens_seen: noneftune_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: Trueuse_cache: Falseprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss | lexai-juridique_cosine_ndcg@10 |
|---|---|---|---|
| -1 | -1 | - | 0.6606 |
| 0.9615 | 50 | 1.0566 | - |
| 1.0 | 52 | - | 0.7910 |
| 1.9231 | 100 | 0.5243 | - |
| 2.0 | 104 | - | 0.8299 |
| 2.8846 | 150 | 0.3634 | - |
| 3.0 | 156 | - | 0.8432 |
| 3.8462 | 200 | 0.2632 | - |
| 4.0 | 208 | - | 0.8424 |
| 4.8077 | 250 | 0.2096 | - |
| 5.0 | 260 | - | 0.8541 |
| 5.7692 | 300 | 0.1761 | - |
| 6.0 | 312 | - | 0.8542 |
| 6.7308 | 350 | 0.1477 | - |
| 7.0 | 364 | - | 0.8600 |
| 7.6923 | 400 | 0.1433 | - |
| 8.0 | 416 | - | 0.8596 |
| 8.6538 | 450 | 0.1146 | - |
| 9.0 | 468 | - | 0.8631 |
| 9.6154 | 500 | 0.1088 | - |
| 10.0 | 520 | - | 0.8632 |
| 10.5769 | 550 | 0.1055 | - |
| 11.0 | 572 | - | 0.8627 |
| 11.5385 | 600 | 0.0909 | - |
| 12.0 | 624 | - | 0.8620 |
| 12.5 | 650 | 0.0924 | - |
| 13.0 | 676 | - | 0.8605 |
| 13.4615 | 700 | 0.0922 | - |
| 14.0 | 728 | - | 0.8593 |
| 14.4231 | 750 | 0.0808 | - |
| 15.0 | 780 | - | 0.8633 |
| 15.3846 | 800 | 0.0810 | - |
| 16.0 | 832 | - | 0.8604 |
| 16.3462 | 850 | 0.0762 | - |
| 17.0 | 884 | - | 0.8608 |
| 17.3077 | 900 | 0.0738 | - |
| 18.0 | 936 | - | 0.8593 |
| 18.2692 | 950 | 0.0772 | - |
| 19.0 | 988 | - | 0.8604 |
| 19.2308 | 1000 | 0.0793 | - |
| 20.0 | 1040 | - | 0.8610 |
| 20.1923 | 1050 | 0.0676 | - |
| 21.0 | 1092 | - | 0.8582 |
| 21.1538 | 1100 | 0.0685 | - |
| 22.0 | 1144 | - | 0.8560 |
| 22.1154 | 1150 | 0.0771 | - |
| 23.0 | 1196 | - | 0.8589 |
| 23.0769 | 1200 | 0.0723 | - |
| 24.0 | 1248 | - | 0.8582 |
| 24.0385 | 1250 | 0.0727 | - |
| 25.0 | 1300 | 0.0682 | 0.8570 |
| -1 | -1 | - | 0.8633 |
@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{oord2019representationlearningcontrastivepredictive,
title={Representation Learning with Contrastive Predictive Coding},
author={Aaron van den Oord and Yazhe Li and Oriol Vinyals},
year={2019},
eprint={1807.03748},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/1807.03748},
}
<!--
## Glossary
*Clearly define terms in order to be accessible across audiences.*
-->
<!--
## Model Card Authors
*Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
-->
<!--
## Model Card Contact
*Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
-->