Downloads · 30 days
55
14% of all-time downloads
MeherMs/legal-contract-similarity
legal-contract-similarity is a sentence similarity model from MeherMs. 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/all-MiniLM-L6-v2. It maps sentences & paragraphs to a 384-dimensional dense vector space and can be used for retrieval.
Downloads · 30 days
55
14% of all-time downloads
All-time downloads
393
Public
Parameters
22.7M
90.9 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors90.9 MB · 99%
From the Hugging Face model README
This is a sentence-transformers model finetuned from sentence-transformers/all-MiniLM-L6-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})
(2): Normalize({})
)
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("MeherMs/legal-contract-similarity")
# Run inference
sentences = [
'Each party agrees to keep confidential all proprietary information disclosed by the other party and to use such information solely for the purposes of this agreement.',
'All information shared between parties may be freely distributed to third parties without restriction.',
'The client shall own all intellectual property rights to work created by the contractor under this engagement.',
]
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.2213, 0.2642],
# [0.2213, 1.0000, 0.1867],
# [0.2642, 0.1867, 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.*
-->
legal-similarity-v1| Metric | Value |
|---|---|
| pearson_cosine | 1.0 |
| spearman_cosine | 1.0 |
| sentence_0 | sentence_1 | label | |
|---|---|---|---|
| type | string | string | float |
| modality | text | text | |
| details | <ul><li>min: 10 tokens</li><li>mean: 25.0 tokens</li><li>max: 33 tokens</li></ul> | <ul><li>min: 10 tokens</li><li>mean: 22.5 tokens</li><li>max: 34 tokens</li></ul> | <ul><li>min: 0.1</li><li>mean: 0.44</li><li>max: 0.8</li></ul> |
| sentence_0 | sentence_1 | label |
|---|---|---|
| <code>Each party agrees to keep confidential all proprietary information disclosed by the other party and to use such information solely for the purposes of this agreement.</code> | <code>All information shared between parties may be freely distributed to third parties without restriction.</code> | <code>0.3</code> |
| <code>The company assumes full responsibility for all damages caused by negligence or breach of contract.</code> | <code>All information shared between parties may be freely distributed to third parties without restriction.</code> | <code>0.1</code> |
| <code>Each party agrees to keep confidential all proprietary information disclosed by the other party and to use such information solely for the purposes of this agreement.</code> | <code>The receiving party shall maintain confidentiality of all proprietary information shared by the disclosing party and shall use it only as permitted under this agreement.</code> | <code>0.8</code> |
{
"loss_fct": "torch.nn.modules.loss.MSELoss",
"cos_score_transformation": "torch.nn.modules.linear.Identity"
}
num_train_epochs: 20disable_tqdm: Truemulti_dataset_batch_sampler: round_robinper_device_train_batch_size: 8num_train_epochs: 20max_steps: -1learning_rate: 5e-05lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_steps: 0optim: adamw_torch_fusedoptim_args: Noneweight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08optim_target_modules: Nonegradient_accumulation_steps: 1average_tokens_across_devices: Truemax_grad_norm: 1label_smoothing_factor: 0.0bf16: Falsefp16: Falsebf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Nonetorch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneuse_liger_kernel: Falseliger_kernel_config: Noneuse_cache: Falseneftune_noise_alpha: Nonetorch_empty_cache_steps: Noneauto_find_batch_size: Falselog_on_each_node: Truelogging_nan_inf_filter: Trueinclude_num_input_tokens_seen: nolog_level: passivelog_level_replica: warningdisable_tqdm: Trueproject: huggingfacetrackio_space_id: Nonetrackio_bucket_id: Nonetrackio_static_space_id: Noneper_device_eval_batch_size: 8prediction_loss_only: Trueeval_on_start: Falseeval_do_concat_batches: Trueeval_use_gather_object: Falseeval_accumulation_steps: Noneinclude_for_metrics: []batch_eval_metrics: Falsesave_only_model: Falsesave_on_each_node: Falseenable_jit_checkpoint: Falsepush_to_hub: Falsehub_private_repo: Nonehub_model_id: Nonehub_strategy: every_savehub_always_push: Falsehub_revision: Noneload_best_model_at_end: Falseignore_data_skip: Falserestore_callback_states_from_checkpoint: Falsefull_determinism: Falseseed: 42data_seed: Noneuse_cpu: Falseaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}parallelism_config: Nonedataloader_drop_last: Falsedataloader_num_workers: 0dataloader_pin_memory: Truedataloader_persistent_workers: Falsedataloader_prefetch_factor: Noneremove_unused_columns: Truelabel_names: Nonetrain_sampling_strategy: randomlength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falseddp_static_graph: Noneddp_backend: Noneddp_timeout: 1800fsdp: Nonefsdp_config: Nonedeepspeed: Nonedebug: []skip_memory_metrics: Truedo_predict: Falseresume_from_checkpoint: Nonewarmup_ratio: Nonelocal_rank: -1prompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: round_robinrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | legal-similarity-v1_spearman_cosine |
|---|---|---|
| 1.0 | 2 | 1.0000 |
| 2.0 | 4 | 1.0000 |
| 2.5 | 5 | 1.0000 |
| 3.0 | 6 | 1.0000 |
| 4.0 | 8 | 1.0000 |
| 5.0 | 10 | 1.0000 |
| 6.0 | 12 | 1.0000 |
| 7.0 | 14 | 1.0000 |
| 7.5 | 15 | 1.0000 |
| 8.0 | 16 | 1.0000 |
| 9.0 | 18 | 1.0000 |
| 10.0 | 20 | 1.0000 |
| 11.0 | 22 | 1.0000 |
| 12.0 | 24 | 1.0000 |
| 12.5 | 25 | 1.0000 |
| 13.0 | 26 | 1.0000 |
| 14.0 | 28 | 1.0000 |
| 15.0 | 30 | 1.0000 |
| 16.0 | 32 | 1.0000 |
| 17.0 | 34 | 1.0000 |
| 17.5 | 35 | 1.0000 |
| 18.0 | 36 | 1.0000 |
| 19.0 | 38 | 1.0000 |
| 20.0 | 40 | 1.0000 |
@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",
}
<!--
## 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.*
-->