Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper
•
1908.10084
•
Published
•
10
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-Titles-FT")
# Run inference
sentences = [
'حيث أن المادة 358 ق إ م وإ تنص أنه لا يبنى الطعن بالنقض إلا على وجه واحد أو أكثر من الأوجه التالية والوجه الخامس عشر يتضمن وجود مقتضيات متناقضة ضمن منطوق الحكم أو القرار.\n\nحيث أنه يقصد بهذا الوجه أن يكون منطوق القرار المطعون فيه يتضمن مقتضيات متناقضة تحول دون تنفيذه بينما نجد منطوق القرار المطعون فيه نص على إلغاء الحكم المستأنف والقضاء من جديد بإلزام الطاعنة بأن تسدد للمطعون ضده نيابة عن سي العيد أحمد مبلغ 730000دج تعويضا عن الأضرار اللاحقة بسيارته وتحميلها المصاريف القضائية......إلخ.\n\nحيث أن منطوق هذا القرار قابل للتنفيذ ولا يوجد مايمنع من تنفيذه فضلا عن ذلك فإن المجلس بين أسباب إلغاء الحكم وهو أن المطعون ضده قراي فوزي يأخذ التعويضات نيابة عن بن صيد أحمد الموكل عنه بموجب وكالة موثقة إضافة إلى أنه ألزم شركة التأمين بدفع التعويضات وليس كما جاءت به المحكمة بإلزام بوعبسة فارس تحت ضمان شركة التأمين وعليه فشروط الوجه الخامس عشر غير متوفرة ويتعين رفض الوجه ومعه رفض الطعن.\n\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.8131, -0.5740],
# [ 0.8131, 1.0000, -0.7326],
# [-0.5740, -0.7326, 1.0000]])
anchor, positive, and negative| anchor | positive | negative | |
|---|---|---|---|
| type | string | string | string |
| details |
|
|
|
| anchor | positive | negative |
|---|---|---|
حيث يبين من القرار المطعون فيه المؤيد للحكم المستأنف أن موضوع الدعوى يهدف إلى مطالبة المطعون ضده من الطاعنة بتمكينه من تعويض عن منحة الإحالة على التقاعد مؤسسا دعواه على كونه منتسب لدى الطاعنة منذ عدة سنوات إلى غاية إحالته على التقاعد وأنه مستحق لهذه المنحة بعد انخراطه وتعاقده مع الطاعنة وأن قضاة الموضوع استجابوا لطلبه وقضوا له بمبلغ مالي مقابل تعويض التقاعد في حين أن موضوع الدعوى لا يدخل ضمن النزاعات المذكورة على سبيل الحصر في المادة 500 من قانون الإجراءات المدنية والإدارية حتى يخوّل للمحكمة الإجتماعية الفصل في هذا النزاع هذا من جهة ومن جهة أخرى فإن النزاع لا يدخل ضمن العلاقات الفردية والجماعية في العمل بين العمال الأجراء والمستخدمين كما تنص على ذلك المادة الأولى من القانون 11/90 كما لا يدخل في النزاعات الفردية في العمل والمحاكم الفاصلة في المسائل الإجتماعية طالما أنه لا يوجد خلاف قائم بين عامل أجير ومستخدم في إطار تنفيذ علاقة العمل التي تربط الطرفين طبقا لأحكام المادة 02 من القانون 04/90 ومنه فإن النزاع المطروح لا تحكمه قواعد العمل والقواعد المطبقة بشأنه التي تفصل فيها المحاكم الإجتما... |
اختصاص نوعي |
طعن بالنقض |
حيث يبين من القرار المطعون فيه المؤيد للحكم المستأنف أن موضوع الدعوى يهدف إلى مطالبة المطعون ضده من الطاعنة بتمكينه من تعويض عن منحة الإحالة على التقاعد مؤسسا دعواه على كونه منتسب لدى الطاعنة منذ عدة سنوات إلى غاية إحالته على التقاعد وأنه مستحق لهذه المنحة بعد انخراطه وتعاقده مع الطاعنة وأن قضاة الموضوع استجابوا لطلبه وقضوا له بمبلغ مالي مقابل تعويض التقاعد في حين أن موضوع الدعوى لا يدخل ضمن النزاعات المذكورة على سبيل الحصر في المادة 500 من قانون الإجراءات المدنية والإدارية حتى يخوّل للمحكمة الإجتماعية الفصل في هذا النزاع هذا من جهة ومن جهة أخرى فإن النزاع لا يدخل ضمن العلاقات الفردية والجماعية في العمل بين العمال الأجراء والمستخدمين كما تنص على ذلك المادة الأولى من القانون 11/90 كما لا يدخل في النزاعات الفردية في العمل والمحاكم الفاصلة في المسائل الإجتماعية طالما أنه لا يوجد خلاف قائم بين عامل أجير ومستخدم في إطار تنفيذ علاقة العمل التي تربط الطرفين طبقا لأحكام المادة 02 من القانون 04/90 ومنه فإن النزاع المطروح لا تحكمه قواعد العمل والقواعد المطبقة بشأنه التي تفصل فيها المحاكم الإجتما... |
اختصاص نوعي |
تنازع اختصاص |
حيث يبين من القرار المطعون فيه المؤيد للحكم المستأنف أن موضوع الدعوى يهدف إلى مطالبة المطعون ضده من الطاعنة بتمكينه من تعويض عن منحة الإحالة على التقاعد مؤسسا دعواه على كونه منتسب لدى الطاعنة منذ عدة سنوات إلى غاية إحالته على التقاعد وأنه مستحق لهذه المنحة بعد انخراطه وتعاقده مع الطاعنة وأن قضاة الموضوع استجابوا لطلبه وقضوا له بمبلغ مالي مقابل تعويض التقاعد في حين أن موضوع الدعوى لا يدخل ضمن النزاعات المذكورة على سبيل الحصر في المادة 500 من قانون الإجراءات المدنية والإدارية حتى يخوّل للمحكمة الإجتماعية الفصل في هذا النزاع هذا من جهة ومن جهة أخرى فإن النزاع لا يدخل ضمن العلاقات الفردية والجماعية في العمل بين العمال الأجراء والمستخدمين كما تنص على ذلك المادة الأولى من القانون 11/90 كما لا يدخل في النزاعات الفردية في العمل والمحاكم الفاصلة في المسائل الإجتماعية طالما أنه لا يوجد خلاف قائم بين عامل أجير ومستخدم في إطار تنفيذ علاقة العمل التي تربط الطرفين طبقا لأحكام المادة 02 من القانون 04/90 ومنه فإن النزاع المطروح لا تحكمه قواعد العمل والقواعد المطبقة بشأنه التي تفصل فيها المحاكم الإجتما... |
اختصاص نوعي |
تنازع القوانين |
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 |
|---|---|---|
حيث يبين من الوقائع التي أوردها القرار المطعون فيه أنه سبق للطاعن وأن تقدم بدعوى أمام القسم الاجتماعي لمحكمة وهران من أجل المطالبة بدفع اشتراكاته لفترات شغله لدى مصالح وزير المالية المطعون ضده للفترة الممتدة من 01/07/1964 إلى 10/12/1967 وفقا لشهادة عمله حسب مبلغ 5837.76 دج غير أن القضاة لو يبينوا كيف تمسكوا باختصاصهم للفصل في النزاع الحالي |
اختصاص نوعي |
طعن بالنقض |
حيث يبين من الوقائع التي أوردها القرار المطعون فيه أنه سبق للطاعن وأن تقدم بدعوى أمام القسم الاجتماعي لمحكمة وهران من أجل المطالبة بدفع اشتراكاته لفترات شغله لدى مصالح وزير المالية المطعون ضده للفترة الممتدة من 01/07/1964 إلى 10/12/1967 وفقا لشهادة عمله حسب مبلغ 5837.76 دج غير أن القضاة لو يبينوا كيف تمسكوا باختصاصهم للفصل في النزاع الحالي |
اختصاص نوعي |
دعوى عدم نفاذ التصرف |
حيث يبين من الوقائع التي أوردها القرار المطعون فيه أنه سبق للطاعن وأن تقدم بدعوى أمام القسم الاجتماعي لمحكمة وهران من أجل المطالبة بدفع اشتراكاته لفترات شغله لدى مصالح وزير المالية المطعون ضده للفترة الممتدة من 01/07/1964 إلى 10/12/1967 وفقا لشهادة عمله حسب مبلغ 5837.76 دج غير أن القضاة لو يبينوا كيف تمسكوا باختصاصهم للفصل في النزاع الحالي |
اختصاص نوعي |
تنازع اختصاص |
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-Titles-FToverwrite_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-Titles-FThub_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.0420 | 10 | 0.5715 | 0.5573 |
| 0.0840 | 20 | 0.5355 | 0.4983 |
| 0.1261 | 30 | 0.4655 | 0.4037 |
| 0.1681 | 40 | 0.3602 | 0.2928 |
| 0.2101 | 50 | 0.2595 | 0.1994 |
| 0.2521 | 60 | 0.1743 | 0.1283 |
| 0.2941 | 70 | 0.1144 | 0.0847 |
| 0.3361 | 80 | 0.0813 | 0.0627 |
| 0.3782 | 90 | 0.0642 | 0.0499 |
| 0.4202 | 100 | 0.0496 | 0.0429 |
| 0.4622 | 110 | 0.0435 | 0.0383 |
| 0.5042 | 120 | 0.0407 | 0.0354 |
| 0.5462 | 130 | 0.0379 | 0.0336 |
| 0.5882 | 140 | 0.0359 | 0.0322 |
| 0.6303 | 150 | 0.0339 | 0.0308 |
| 0.6723 | 160 | 0.0355 | 0.0296 |
| 0.7143 | 170 | 0.0327 | 0.0280 |
| 0.7563 | 180 | 0.0293 | 0.0271 |
| 0.7983 | 190 | 0.0253 | 0.0263 |
| 0.8403 | 200 | 0.0257 | 0.0256 |
| 0.8824 | 210 | 0.0285 | 0.0254 |
| 0.9244 | 220 | 0.0239 | 0.0248 |
| 0.9664 | 230 | 0.0262 | 0.0246 |
| 1.0084 | 240 | 0.027 | 0.0236 |
| 1.0504 | 250 | 0.0227 | 0.0233 |
| 1.0924 | 260 | 0.0231 | 0.0225 |
| 1.1345 | 270 | 0.0217 | 0.0227 |
| 1.1765 | 280 | 0.0213 | 0.0217 |
| 1.2185 | 290 | 0.0212 | 0.0216 |
| 1.2605 | 300 | 0.0228 | 0.0210 |
| 1.3025 | 310 | 0.0226 | 0.0208 |
| 1.3445 | 320 | 0.0213 | 0.0210 |
| 1.3866 | 330 | 0.0211 | 0.0199 |
| 1.4286 | 340 | 0.0187 | 0.0199 |
| 1.4706 | 350 | 0.0185 | 0.0198 |
| 1.5126 | 360 | 0.0205 | 0.0190 |
| 1.5546 | 370 | 0.0195 | 0.0206 |
| 1.5966 | 380 | 0.0162 | 0.0191 |
| 1.6387 | 390 | 0.0163 | 0.0181 |
| 1.6807 | 400 | 0.0169 | 0.0196 |
| 1.7227 | 410 | 0.0159 | 0.0183 |
| 1.7647 | 420 | 0.0158 | 0.0181 |
| 1.8067 | 430 | 0.0178 | 0.0175 |
| 1.8487 | 440 | 0.0145 | 0.0183 |
| 1.8908 | 450 | 0.0167 | 0.0174 |
| 1.9328 | 460 | 0.0148 | 0.0169 |
| 1.9748 | 470 | 0.0148 | 0.0173 |
| 2.0168 | 480 | 0.0141 | 0.0173 |
| 2.0588 | 490 | 0.0135 | 0.0172 |
| 2.1008 | 500 | 0.0138 | 0.0175 |
| 2.1429 | 510 | 0.014 | 0.0170 |
| 2.1849 | 520 | 0.014 | 0.0166 |
| 2.2269 | 530 | 0.014 | 0.0167 |
| 2.2689 | 540 | 0.0138 | 0.0166 |
| 2.3109 | 550 | 0.0117 | 0.0177 |
| 2.3529 | 560 | 0.0136 | 0.0162 |
| 2.3950 | 570 | 0.013 | 0.0158 |
| 2.4370 | 580 | 0.0111 | 0.0161 |
| 2.4790 | 590 | 0.013 | 0.0161 |
| 2.5210 | 600 | 0.0139 | 0.0162 |
| 2.5630 | 610 | 0.0119 | 0.0163 |
| 2.6050 | 620 | 0.0108 | 0.0169 |
| 2.6471 | 630 | 0.0122 | 0.0154 |
| 2.6891 | 640 | 0.0107 | 0.0168 |
| 2.7311 | 650 | 0.0114 | 0.0154 |
| 2.7731 | 660 | 0.0109 | 0.0161 |
| 2.8151 | 670 | 0.0114 | 0.015 |
| 2.8571 | 680 | 0.01 | 0.0175 |
| 2.8992 | 690 | 0.0113 | 0.0156 |
| 2.9412 | 700 | 0.0115 | 0.0160 |
| 2.9832 | 710 | 0.0104 | 0.0156 |
| 3.0252 | 720 | 0.0107 | 0.0161 |
| 3.0672 | 730 | 0.0098 | 0.0158 |
| 3.1092 | 740 | 0.009 | 0.0164 |
@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