Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 15
How to use Monad-dz/Arabic-Triplet-Matryoshka-V2-finetuned-titles-v1 with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("Monad-dz/Arabic-Triplet-Matryoshka-V2-finetuned-titles-v1")
sentences = [
"عن الوجه المثار\nحيث أنه يتبين من الإطلاع على ديباجة القرار المطعون فيه أن السيد \" عديلا إسماعيل رئيسا مقررا\" مما يفيد تلاوته للتقرير الشفوي قبل أي إستجواب طبقا للفقرة الأولى من المادة 431 من ق.إ.ج و أن إغفال ذكر هذا الإجراء في صلب القرار لايؤثر على سلامته مما يجعل من الوجه المثار غير سديد يتعين رفضه و بالنتيجة رفض الطعن.",
"حجية",
"محاكمة",
"طعن بالنقض"
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from Omartificial-Intelligence-Space/Arabic-Triplet-Matryoshka-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': 512, 'do_lower_case': False, 'architecture': 'BertModel'})
(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("Monad-dz/Arabic-Triplet-Matryoshka-V2-finetuned-titles-v1")
# Run inference
sentences = [
'والفرع الثاني\nلكن حيث ان الإستئناف كان من طرف النيابة ضد الحكم القاضي بالبراءة وأن ما يتمسك به الطاعن هو مقرر لخصمه ولا يجوز له أن يتمسك به.',
'طعن بالنقض',
'ادخال في الخصومة',
]
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.0398, -0.2231],
# [ 0.0398, 1.0000, 0.1186],
# [-0.2231, 0.1186, 1.0000]])
anchor, positive, and negative| anchor | positive | negative | |
|---|---|---|---|
| type | string | string | string |
| details |
|
|
|
| anchor | positive | negative |
|---|---|---|
حيث انه من المقرر قانون طبقا للمادة 207 من قانون الاجراءات المدنية و الادارية اذا وﺟـــد ارﺗــــﺒـــﺎط ﺑــــين خصومتين او اكثر معروضة اﻣـﺎم ﻧـﻔس اﻟﻘـﺎﺿي ﺟـﺎز ﻟﻪ ولحسن ﺳـﻴﺮ العدالة ضمها من تلقاء نفسه او بطلب من الخصوم و الفصل فيهما بحكم واحد. |
ضم القضايا |
ضم ودمج العقوبات |
حيث انه من المقرر قانون طبقا للمادة 207 من قانون الاجراءات المدنية و الادارية اذا وﺟـــد ارﺗــــﺒـــﺎط ﺑــــين خصومتين او اكثر معروضة اﻣـﺎم ﻧـﻔس اﻟﻘـﺎﺿي ﺟـﺎز ﻟﻪ ولحسن ﺳـﻴﺮ العدالة ضمها من تلقاء نفسه او بطلب من الخصوم و الفصل فيهما بحكم واحد. |
ضم القضايا |
طلبات |
حيث انه من المقرر قانون طبقا للمادة 207 من قانون الاجراءات المدنية و الادارية اذا وﺟـــد ارﺗــــﺒـــﺎط ﺑــــين خصومتين او اكثر معروضة اﻣـﺎم ﻧـﻔس اﻟﻘـﺎﺿي ﺟـﺎز ﻟﻪ ولحسن ﺳـﻴﺮ العدالة ضمها من تلقاء نفسه او بطلب من الخصوم و الفصل فيهما بحكم واحد. |
ضم القضايا |
شهادة رقم الاعمال |
TripletLoss with these parameters:{
"distance_metric": "TripletDistanceMetric.COSINE",
"triplet_margin": 0.4
}
anchor, positive, and negative| anchor | positive | negative | |
|---|---|---|---|
| type | string | string | string |
| details |
|
|
|
| anchor | positive | negative |
|---|---|---|
و بناءا على طعن النائب العام رفضته المحكمة العليا موضوعا بقرارها المؤرخ في 20/03/2019. و اضاف بانه كان يقيم بفرنسا و له راتبا شهريا يقدر بـ 1200 يورو و بسبب ايداعه الحبس من 17/01/2017 الى 10/11/2017 فانه فقد عمله و توقف راتبه لمدة تعادل 33 شهر بما يعادل 42900 يورو. كما تعرض اثناء تواجده بالمؤسسة العقابية لانهيار عصبي و اغمي عليه مرتين . و ان من نتائج متابعته حجز سيارته من تاريخ 08/01/2017 الى غاية 04/06/2019 و قد دفع لادارة الجمارك مبلغ 25000 دج تكاليف المحشر كما دفع مبلغ 112000 دج ثمن تغيير عجلاتها الاربعة و مبلغ 60000 دج اتعاب المحامي الاول الاستاذ مرسلي و مبلغ 20000 دج اتعاب المحامية قرماط حياة.و عليه فانه يلتمس تعويضه مبلغ 6.000.000 دج تعويضا ماديا عن مدة وضعه تحت النظر و الحبس الاحتياطي و مبلغ 8.000.000 دج تعويض عن حرمانه من اجرته و الاضرار اللاحقة باسرته من جراء معانتها بسبب حبس معيلها الوحيد. |
حجز |
جمارك |
و بناءا على طعن النائب العام رفضته المحكمة العليا موضوعا بقرارها المؤرخ في 20/03/2019. و اضاف بانه كان يقيم بفرنسا و له راتبا شهريا يقدر بـ 1200 يورو و بسبب ايداعه الحبس من 17/01/2017 الى 10/11/2017 فانه فقد عمله و توقف راتبه لمدة تعادل 33 شهر بما يعادل 42900 يورو. كما تعرض اثناء تواجده بالمؤسسة العقابية لانهيار عصبي و اغمي عليه مرتين . و ان من نتائج متابعته حجز سيارته من تاريخ 08/01/2017 الى غاية 04/06/2019 و قد دفع لادارة الجمارك مبلغ 25000 دج تكاليف المحشر كما دفع مبلغ 112000 دج ثمن تغيير عجلاتها الاربعة و مبلغ 60000 دج اتعاب المحامي الاول الاستاذ مرسلي و مبلغ 20000 دج اتعاب المحامية قرماط حياة.و عليه فانه يلتمس تعويضه مبلغ 6.000.000 دج تعويضا ماديا عن مدة وضعه تحت النظر و الحبس الاحتياطي و مبلغ 8.000.000 دج تعويض عن حرمانه من اجرته و الاضرار اللاحقة باسرته من جراء معانتها بسبب حبس معيلها الوحيد. |
حجز |
مصاريف الزيارة |
و بناءا على طعن النائب العام رفضته المحكمة العليا موضوعا بقرارها المؤرخ في 20/03/2019. و اضاف بانه كان يقيم بفرنسا و له راتبا شهريا يقدر بـ 1200 يورو و بسبب ايداعه الحبس من 17/01/2017 الى 10/11/2017 فانه فقد عمله و توقف راتبه لمدة تعادل 33 شهر بما يعادل 42900 يورو. كما تعرض اثناء تواجده بالمؤسسة العقابية لانهيار عصبي و اغمي عليه مرتين . و ان من نتائج متابعته حجز سيارته من تاريخ 08/01/2017 الى غاية 04/06/2019 و قد دفع لادارة الجمارك مبلغ 25000 دج تكاليف المحشر كما دفع مبلغ 112000 دج ثمن تغيير عجلاتها الاربعة و مبلغ 60000 دج اتعاب المحامي الاول الاستاذ مرسلي و مبلغ 20000 دج اتعاب المحامية قرماط حياة.و عليه فانه يلتمس تعويضه مبلغ 6.000.000 دج تعويضا ماديا عن مدة وضعه تحت النظر و الحبس الاحتياطي و مبلغ 8.000.000 دج تعويض عن حرمانه من اجرته و الاضرار اللاحقة باسرته من جراء معانتها بسبب حبس معيلها الوحيد. |
حجز |
محامي |
TripletLoss with these parameters:{
"distance_metric": "TripletDistanceMetric.COSINE",
"triplet_margin": 0.4
}
eval_strategy: stepsper_device_train_batch_size: 640per_device_eval_batch_size: 256learning_rate: 2e-05num_train_epochs: 15warmup_ratio: 0.1bf16: Trueload_best_model_at_end: Truepush_to_hub: Truehub_model_id: Monad-dz/Arabic-Triplet-Matryoshka-V2-finetuned-titles-v1overwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 640per_device_eval_batch_size: 256per_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: 15max_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: Falsebf16: Truefp16: 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: Trueignore_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: lengthproject: huggingfacetrackio_space_id: trackioddp_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: Trueresume_from_checkpoint: Nonehub_model_id: Monad-dz/Arabic-Triplet-Matryoshka-V2-finetuned-titles-v1hub_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: 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: Trueprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss | Validation Loss |
|---|---|---|---|
| 0.3953 | 100 | 0.3022 | 0.1735 |
| 0.7905 | 200 | 0.1247 | 0.0909 |
| 1.1858 | 300 | 0.0868 | 0.0752 |
| 1.5810 | 400 | 0.0688 | 0.0658 |
| 1.9763 | 500 | 0.0588 | 0.0638 |
| 2.3715 | 600 | 0.0482 | 0.0584 |
| 2.7668 | 700 | 0.0429 | 0.0575 |
| 3.1621 | 800 | 0.038 | 0.0588 |
| 3.5573 | 900 | 0.0329 | 0.0567 |
| 3.9526 | 1000 | 0.0304 | 0.0563 |
| 4.3478 | 1100 | 0.026 | 0.0593 |
| 4.7431 | 1200 | 0.0239 | 0.0563 |
| 5.1383 | 1300 | 0.0221 | 0.0580 |
| 5.5336 | 1400 | 0.0192 | 0.0573 |
| 5.9289 | 1500 | 0.0183 | 0.0603 |
| 6.3241 | 1600 | 0.016 | 0.0601 |
| 6.7194 | 1700 | 0.0155 | 0.0606 |
| 7.1146 | 1800 | 0.0138 | 0.0626 |
| 7.5099 | 1900 | 0.0122 | 0.0617 |
| 7.9051 | 2000 | 0.0132 | 0.0614 |
| 8.3004 | 2100 | 0.0106 | 0.0633 |
| 8.6957 | 2200 | 0.0106 | 0.0603 |
| 9.0909 | 2300 | 0.01 | 0.0613 |
| 9.4862 | 2400 | 0.0086 | 0.0624 |
| 9.8814 | 2500 | 0.009 | 0.0667 |
| 10.2767 | 2600 | 0.0082 | 0.0668 |
| 10.6719 | 2700 | 0.0075 | 0.0654 |
| 11.0672 | 2800 | 0.0079 | 0.0684 |
| 11.4625 | 2900 | 0.0068 | 0.0651 |
| 11.8577 | 3000 | 0.0067 | 0.0680 |
| 12.2530 | 3100 | 0.0062 | 0.0650 |
| 12.6482 | 3200 | 0.006 | 0.0659 |
| 13.0435 | 3300 | 0.0061 | 0.0677 |
| 13.4387 | 3400 | 0.0055 | 0.0681 |
| 13.8340 | 3500 | 0.0058 | 0.0669 |
| 14.2292 | 3600 | 0.0053 | 0.0675 |
| 14.6245 | 3700 | 0.0052 | 0.0671 |
@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{hermans2017defense,
title={In Defense of the Triplet Loss for Person Re-Identification},
author={Alexander Hermans and Lucas Beyer and Bastian Leibe},
year={2017},
eprint={1703.07737},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
Base model
aubmindlab/bert-base-arabertv02