Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 13
How to use yoriis/arabert-tydi-quqa-ar with sentence-transformers:
from sentence_transformers import CrossEncoder
model = CrossEncoder("yoriis/arabert-tydi-quqa-ar")
query = "Which planet is known as the Red Planet?"
passages = [
"Venus is often called Earth's twin because of its similar size and proximity.",
"Mars, known for its reddish appearance, is often referred to as the Red Planet.",
"Jupiter, the largest planet in our solar system, has a prominent red spot.",
"Saturn, famous for its rings, is sometimes mistaken for the Red Planet."
]
scores = model.predict([(query, passage) for passage in passages])
print(scores)This is a Cross Encoder model finetuned from aubmindlab/bert-base-arabertv2 using the sentence-transformers library. It computes scores for pairs of texts, which can be used for text reranking and semantic search.
First install the Sentence Transformers library:
pip install -U sentence-transformers
Then you can load this model and run inference.
from sentence_transformers import CrossEncoder
# Download from the 🤗 Hub
model = CrossEncoder("yoriis/arabert-tydi-quqa-ar")
# Get scores for pairs of texts
pairs = [
['من هو النبي الذي تكلم مع الهدهد؟', 'وإذ قال الله يا عيسى ابن مريم أأنت قلت للناس اتخذوني وأمي إلهين من دون الله قال سبحانك ما يكون لي أن أقول ما ليس لي بحق إن كنت قلته فقد علمته تعلم ما في نفسي ولا أعلم ما في نفسك إنك أنت علام الغيوب. ما قلت لهم إلا ما أمرتني به أن اعبدوا الله ربي وربكم وكنت عليهم شهيدا ما دمت فيهم فلما توفيتني كنت أنت الرقيب عليهم وأنت على كل شيء شهيد. إن تعذبهم فإنهم عبادك وإن تغفر لهم فإنك أنت العزيز الحكيم. قال الله هذا يوم ينفع الصادقين صدقهم لهم جنات تجري من تحتها الأنهار خالدين فيها أبدا رضي الله عنهم ورضوا عنه ذلك الفوز العظيم. لله ملك السماوات والأرض وما فيهن وهو على كل شيء قدير.'],
['هل الضوء هو النور في القرآن؟', 'الرحمن. علم القرآن. خلق الإنسان. علمه البيان. الشمس والقمر بحسبان. والنجم والشجر يسجدان. والسماء رفعها ووضع الميزان. ألا تطغوا في الميزان. وأقيموا الوزن بالقسط ولا تخسروا الميزان. والأرض وضعها للأنام. فيها فاكهة والنخل ذات الأكمام. والحب ذو العصف والريحان. فبأي آلاء ربكما تكذبان.'],
['ما هي أنواع الجهاد؟', 'كتب عليكم القتال وهو كره لكم وعسى أن تكرهوا شيئا وهو خير لكم وعسى أن تحبوا شيئا وهو شر لكم والله يعلم وأنتم لا تعلمون. يسألونك عن الشهر الحرام قتال فيه قل قتال فيه كبير وصد عن سبيل الله وكفر به والمسجد الحرام وإخراج أهله منه أكبر عند الله والفتنة أكبر من القتل ولا يزالون يقاتلونكم حتى يردوكم عن دينكم إن استطاعوا ومن يرتدد منكم عن دينه فيمت وهو كافر فأولئك حبطت أعمالهم في الدنيا والآخرة وأولئك أصحاب النار هم فيها خالدون. إن الذين آمنوا والذين هاجروا وجاهدوا في سبيل الله أولئك يرجون رحمت الله والله غفور رحيم.'],
['اتفاقية "سيداو" تقول لا يُسمح للرجل بتعدد الزوجات. كيف نرد على ذلك من نصوص القرآن؟ ', 'وما كان لمؤمن ولا مؤمنة إذا قضى الله ورسوله أمرا أن يكون لهم الخيرة من أمرهم ومن يعص الله ورسوله فقد ضل ضلالا مبينا. وإذ تقول للذي أنعم الله عليه وأنعمت عليه أمسك عليك زوجك واتق الله وتخفي في نفسك ما الله مبديه وتخشى الناس والله أحق أن تخشاه فلما قضى زيد منها وطرا زوجناكها لكي لا يكون على المؤمنين حرج في أزواج أدعيائهم إذا قضوا منهن وطرا وكان أمر الله مفعولا. ما كان على النبي من حرج فيما فرض الله له سنة الله في الذين خلوا من قبل وكان أمر الله قدرا مقدورا. الذين يبلغون رسالات الله ويخشونه ولا يخشون أحدا إلا الله وكفى بالله حسيبا. ما كان محمد أبا أحد من رجالكم ولكن رسول الله وخاتم النبيين وكان الله بكل شيء عليما.'],
['هل لفظ (العام) مثل لفظ (السّنة) في القرآن؟', 'حم. تنزيل الكتاب من الله العزيز العليم. غافر الذنب وقابل التوب شديد العقاب ذي الطول لا إله إلا هو إليه المصير. ما يجادل في آيات الله إلا الذين كفروا فلا يغررك تقلبهم في البلاد.'],
]
scores = model.predict(pairs)
print(scores.shape)
# (5,)
# Or rank different texts based on similarity to a single text
ranks = model.rank(
'من هو النبي الذي تكلم مع الهدهد؟',
[
'وإذ قال الله يا عيسى ابن مريم أأنت قلت للناس اتخذوني وأمي إلهين من دون الله قال سبحانك ما يكون لي أن أقول ما ليس لي بحق إن كنت قلته فقد علمته تعلم ما في نفسي ولا أعلم ما في نفسك إنك أنت علام الغيوب. ما قلت لهم إلا ما أمرتني به أن اعبدوا الله ربي وربكم وكنت عليهم شهيدا ما دمت فيهم فلما توفيتني كنت أنت الرقيب عليهم وأنت على كل شيء شهيد. إن تعذبهم فإنهم عبادك وإن تغفر لهم فإنك أنت العزيز الحكيم. قال الله هذا يوم ينفع الصادقين صدقهم لهم جنات تجري من تحتها الأنهار خالدين فيها أبدا رضي الله عنهم ورضوا عنه ذلك الفوز العظيم. لله ملك السماوات والأرض وما فيهن وهو على كل شيء قدير.',
'الرحمن. علم القرآن. خلق الإنسان. علمه البيان. الشمس والقمر بحسبان. والنجم والشجر يسجدان. والسماء رفعها ووضع الميزان. ألا تطغوا في الميزان. وأقيموا الوزن بالقسط ولا تخسروا الميزان. والأرض وضعها للأنام. فيها فاكهة والنخل ذات الأكمام. والحب ذو العصف والريحان. فبأي آلاء ربكما تكذبان.',
'كتب عليكم القتال وهو كره لكم وعسى أن تكرهوا شيئا وهو خير لكم وعسى أن تحبوا شيئا وهو شر لكم والله يعلم وأنتم لا تعلمون. يسألونك عن الشهر الحرام قتال فيه قل قتال فيه كبير وصد عن سبيل الله وكفر به والمسجد الحرام وإخراج أهله منه أكبر عند الله والفتنة أكبر من القتل ولا يزالون يقاتلونكم حتى يردوكم عن دينكم إن استطاعوا ومن يرتدد منكم عن دينه فيمت وهو كافر فأولئك حبطت أعمالهم في الدنيا والآخرة وأولئك أصحاب النار هم فيها خالدون. إن الذين آمنوا والذين هاجروا وجاهدوا في سبيل الله أولئك يرجون رحمت الله والله غفور رحيم.',
'وما كان لمؤمن ولا مؤمنة إذا قضى الله ورسوله أمرا أن يكون لهم الخيرة من أمرهم ومن يعص الله ورسوله فقد ضل ضلالا مبينا. وإذ تقول للذي أنعم الله عليه وأنعمت عليه أمسك عليك زوجك واتق الله وتخفي في نفسك ما الله مبديه وتخشى الناس والله أحق أن تخشاه فلما قضى زيد منها وطرا زوجناكها لكي لا يكون على المؤمنين حرج في أزواج أدعيائهم إذا قضوا منهن وطرا وكان أمر الله مفعولا. ما كان على النبي من حرج فيما فرض الله له سنة الله في الذين خلوا من قبل وكان أمر الله قدرا مقدورا. الذين يبلغون رسالات الله ويخشونه ولا يخشون أحدا إلا الله وكفى بالله حسيبا. ما كان محمد أبا أحد من رجالكم ولكن رسول الله وخاتم النبيين وكان الله بكل شيء عليما.',
'حم. تنزيل الكتاب من الله العزيز العليم. غافر الذنب وقابل التوب شديد العقاب ذي الطول لا إله إلا هو إليه المصير. ما يجادل في آيات الله إلا الذين كفروا فلا يغررك تقلبهم في البلاد.',
]
)
# [{'corpus_id': ..., 'score': ...}, {'corpus_id': ..., 'score': ...}, ...]
sentence_0, sentence_1, and label| sentence_0 | sentence_1 | label | |
|---|---|---|---|
| type | string | string | float |
| details |
|
|
|
| sentence_0 | sentence_1 | label |
|---|---|---|
من هو النبي الذي تكلم مع الهدهد؟ |
وإذ قال الله يا عيسى ابن مريم أأنت قلت للناس اتخذوني وأمي إلهين من دون الله قال سبحانك ما يكون لي أن أقول ما ليس لي بحق إن كنت قلته فقد علمته تعلم ما في نفسي ولا أعلم ما في نفسك إنك أنت علام الغيوب. ما قلت لهم إلا ما أمرتني به أن اعبدوا الله ربي وربكم وكنت عليهم شهيدا ما دمت فيهم فلما توفيتني كنت أنت الرقيب عليهم وأنت على كل شيء شهيد. إن تعذبهم فإنهم عبادك وإن تغفر لهم فإنك أنت العزيز الحكيم. قال الله هذا يوم ينفع الصادقين صدقهم لهم جنات تجري من تحتها الأنهار خالدين فيها أبدا رضي الله عنهم ورضوا عنه ذلك الفوز العظيم. لله ملك السماوات والأرض وما فيهن وهو على كل شيء قدير. |
0.0 |
هل الضوء هو النور في القرآن؟ |
الرحمن. علم القرآن. خلق الإنسان. علمه البيان. الشمس والقمر بحسبان. والنجم والشجر يسجدان. والسماء رفعها ووضع الميزان. ألا تطغوا في الميزان. وأقيموا الوزن بالقسط ولا تخسروا الميزان. والأرض وضعها للأنام. فيها فاكهة والنخل ذات الأكمام. والحب ذو العصف والريحان. فبأي آلاء ربكما تكذبان. |
0.0 |
ما هي أنواع الجهاد؟ |
كتب عليكم القتال وهو كره لكم وعسى أن تكرهوا شيئا وهو خير لكم وعسى أن تحبوا شيئا وهو شر لكم والله يعلم وأنتم لا تعلمون. يسألونك عن الشهر الحرام قتال فيه قل قتال فيه كبير وصد عن سبيل الله وكفر به والمسجد الحرام وإخراج أهله منه أكبر عند الله والفتنة أكبر من القتل ولا يزالون يقاتلونكم حتى يردوكم عن دينكم إن استطاعوا ومن يرتدد منكم عن دينه فيمت وهو كافر فأولئك حبطت أعمالهم في الدنيا والآخرة وأولئك أصحاب النار هم فيها خالدون. إن الذين آمنوا والذين هاجروا وجاهدوا في سبيل الله أولئك يرجون رحمت الله والله غفور رحيم. |
0.0 |
BinaryCrossEntropyLoss with these parameters:{
"activation_fn": "torch.nn.modules.linear.Identity",
"pos_weight": null
}
per_device_train_batch_size: 16per_device_eval_batch_size: 16overwrite_output_dir: Falsedo_predict: Falseeval_strategy: noprediction_loss_only: Trueper_device_train_batch_size: 16per_device_eval_batch_size: 16per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 5e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1num_train_epochs: 3max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.0warmup_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: 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: 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: batch_samplermulti_dataset_batch_sampler: proportional| Epoch | Step | Training Loss |
|---|---|---|
| 0.5400 | 500 | 0.0274 |
| 1.0799 | 1000 | 0.0003 |
| 1.6199 | 1500 | 0.0001 |
| 2.1598 | 2000 | 0.0001 |
| 2.6998 | 2500 | 0.0001 |
| 0.7418 | 500 | 0.9666 |
| 1.4837 | 1000 | 0.3318 |
| 2.2255 | 1500 | 0.2711 |
| 2.9674 | 2000 | 0.2051 |
@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",
}
Base model
aubmindlab/bert-base-arabertv2