Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 13
How to use yoriis/GTE-tydi-tafseer with sentence-transformers:
from sentence_transformers import CrossEncoder
model = CrossEncoder("yoriis/GTE-tydi-tafseer")
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 yoriis/GTE-tydi 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/GTE-tydi-tafseer")
# Get scores for pairs of texts
pairs = [
['«يا أيها الذين أوتوا الكتاب آمنوا بما نزلنا» من القرآن «مصدقا لما معكم» من التوراة «من قبل أن نطمس وجوها» نمحو ما فيها من العين والأنف والحاجب «فنردها على أدبارها» فنجعلها كالأقفاء لوحا واحدا «أو نلعنهم» نمسخهم قردة «كما لعنا» مسخنا «أصحاب السبت» منهم «وكان أمر الله» قضاؤه «مفعولا» ولما نزلت أسلم عبد الله بن سلام فقيل كان وعيدا بشرط فلما أسلم به ببعضهم رفع وقيل يكون طمس ومسح قبل قيام الساعة\n «إن الله لا يغفر أن يشرك» أي الإشراك «به ويغفر ما دون» سوى «ذلك» من الذنوب «لمن يشاء» المغفرة له بأن يدخله الجنة بلا عذاب ومن شاء عذبه من المؤمنين بذنوبه ثم يدخله الجنة «ومن يشرك بالله فقد افترى إثما» ذنبا «عظيما» كبيرا', 'قل من ينجيكم من ظلمات البر والبحر تدعونه تضرعا وخفية لئن أنجانا من هذه لنكونن من الشاكرين. قل الله ينجيكم منها ومن كل كرب ثم أنتم تشركون. قل هو القادر على أن يبعث عليكم عذابا من فوقكم أو من تحت أرجلكم أو يلبسكم شيعا ويذيق بعضكم بأس بعض انظر كيف نصرف الآيات لعلهم يفقهون. وكذب به قومك وهو الحق قل لست عليكم بوكيل. لكل نبإ مستقر وسوف تعلمون.'],
['«قل يا أيها الناس» أي أهل مكة «إن كنتم في شك من ديني» أنه حق «فلا أعبد الذين تعبدون من دون الله» أي غيره وهو الأصنام لشككم فيه «ولكن أعبد الله الذي يتوفاكم» يقبض أرواحكم «وأمرت أن» أي بأن «أكون من المؤمنين»\n «و» قيل لي «أن أقم وجهك للدين حنيفا» مائلا إليه «ولا تكونن من المشركين»\n «ولا تدع» تعبد «من دون الله ما لا ينفعك» إن عبدته «ولا يضرك» إن لم تعبده «فإن فعلت» ذلك فرضا «فإنك إذا من الظالمين»', 'قل للذين كفروا إن ينتهوا يغفر لهم ما قد سلف وإن يعودوا فقد مضت سنت الأولين. وقاتلوهم حتى لا تكون فتنة ويكون الدين كله لله فإن انتهوا فإن الله بما يعملون بصير. وإن تولوا فاعلموا أن الله مولاكم نعم المولى ونعم النصير.'],
['«أجعلتم سقاية الحاج وعمارة المسجد الحرام» أي أهل ذلك «كمن آمن بالله واليوم الآخر وجاهد في سبيل الله لا يستوون عند الله» في الفضل «والله لا يهدي القوم الظالمين» الكافرين نزلت ردا على من قال ذلك وهو العباس أو غيره\n «الذين آمنوا وهاجروا وجاهدوا في سبيل الله بأموالهم وأنفسهم أعظم درجة» رتبة «عند الله» من غيرهم «وأولئك هم الفائزون» الظافرون بالخير\n «يبشرهم ربهم برحمة منه ورضوان وجنات لهم فيها نعيم مقيم» دائم\n «خالدين» حال مقدرة «فيها أبدا إن الله عنده أجر عظيم»', 'أجعلتم سقاية الحاج وعمارة المسجد الحرام كمن آمن بالله واليوم الآخر وجاهد في سبيل الله لا يستوون عند الله والله لا يهدي القوم الظالمين. الذين آمنوا وهاجروا وجاهدوا في سبيل الله بأموالهم وأنفسهم أعظم درجة عند الله وأولئك هم الفائزون. يبشرهم ربهم برحمة منه ورضوان وجنات لهم فيها نعيم مقيم. خالدين فيها أبدا إن الله عنده أجر عظيم.'],
['«نحن خلقناكم» أوجدناكم من عدم «فلولا» هلا «تصدقون» بالبعث إذ القادر على الإنشاء قادر على الإعادة\n «أفرأيتم ما تمنون» تريقون من المني في أرحام النساء\n «أأنتم» بتحقيق الهمزتين وإبدال الثانية ألفا وتسهيلها وإدخال ألف بين المسهلة والأخرى وتركه في المواضع الأخرى «تخلقونه» أي المني بشرا «أم نحن الخالقون»\n «نحن قدرنا» بالتشديد والتخفيف «بينكم الموت وما نحن بمسبوقين» بعاجزين\n «على» عن «أن نبدل» نجعل «أمثالكم» مكانكم «وننشئكم» نخلقكم «في مالا تعلمون» من الصور كالقردة والخنازير\n «ولقد علمتم النشاءة الأولى» وفي قراءة بسكون الشين «فلولا تذكرون» فيه إدغام التاء الثانية في الأصل في الذال', 'القارعة. ما القارعة. وما أدراك ما القارعة. يوم يكون الناس كالفراش المبثوث. وتكون الجبال كالعهن المنفوش.'],
['«والعاديات» الخيل تعدو في الغزو وتضبح «ضبحا» هو صوت أجوافها إذا عدت\n «فالموريات» الخيل توري النار «قدحا» بحوافرها إذا سارت في الأرض ذات الحجارة بالليل\n «فالمغيرات صبحا» الخيل تغير على العدو وقت الصبح بإغارة أصحابها\n «فأثرن» هيجن «به» بمكان عدوهن أو بذلك الوقت «نقعا» غبارا بشدة حركتهن\n «فوسطن به» بالنقع «جمعا» من العدو أي صرن وسطه وعطف الفعل على الاسم لأنه في تأويل الفعل أي واللاتي عدون فأورين فأغرن', 'إذ أنتم بالعدوة الدنيا وهم بالعدوة القصوى والركب أسفل منكم ولو تواعدتم لاختلفتم في الميعاد ولكن ليقضي الله أمرا كان مفعولا ليهلك من هلك عن بينة ويحيى من حي عن بينة وإن الله لسميع عليم. إذ يريكهم الله في منامك قليلا ولو أراكهم كثيرا لفشلتم ولتنازعتم في الأمر ولكن الله سلم إنه عليم بذات الصدور. وإذ يريكموهم إذ التقيتم في أعينكم قليلا ويقللكم في أعينهم ليقضي الله أمرا كان مفعولا وإلى الله ترجع الأمور.'],
]
scores = model.predict(pairs)
print(scores.shape)
# (5,)
# Or rank different texts based on similarity to a single text
ranks = model.rank(
'«يا أيها الذين أوتوا الكتاب آمنوا بما نزلنا» من القرآن «مصدقا لما معكم» من التوراة «من قبل أن نطمس وجوها» نمحو ما فيها من العين والأنف والحاجب «فنردها على أدبارها» فنجعلها كالأقفاء لوحا واحدا «أو نلعنهم» نمسخهم قردة «كما لعنا» مسخنا «أصحاب السبت» منهم «وكان أمر الله» قضاؤه «مفعولا» ولما نزلت أسلم عبد الله بن سلام فقيل كان وعيدا بشرط فلما أسلم به ببعضهم رفع وقيل يكون طمس ومسح قبل قيام الساعة\n «إن الله لا يغفر أن يشرك» أي الإشراك «به ويغفر ما دون» سوى «ذلك» من الذنوب «لمن يشاء» المغفرة له بأن يدخله الجنة بلا عذاب ومن شاء عذبه من المؤمنين بذنوبه ثم يدخله الجنة «ومن يشرك بالله فقد افترى إثما» ذنبا «عظيما» كبيرا',
[
'قل من ينجيكم من ظلمات البر والبحر تدعونه تضرعا وخفية لئن أنجانا من هذه لنكونن من الشاكرين. قل الله ينجيكم منها ومن كل كرب ثم أنتم تشركون. قل هو القادر على أن يبعث عليكم عذابا من فوقكم أو من تحت أرجلكم أو يلبسكم شيعا ويذيق بعضكم بأس بعض انظر كيف نصرف الآيات لعلهم يفقهون. وكذب به قومك وهو الحق قل لست عليكم بوكيل. لكل نبإ مستقر وسوف تعلمون.',
'قل للذين كفروا إن ينتهوا يغفر لهم ما قد سلف وإن يعودوا فقد مضت سنت الأولين. وقاتلوهم حتى لا تكون فتنة ويكون الدين كله لله فإن انتهوا فإن الله بما يعملون بصير. وإن تولوا فاعلموا أن الله مولاكم نعم المولى ونعم النصير.',
'أجعلتم سقاية الحاج وعمارة المسجد الحرام كمن آمن بالله واليوم الآخر وجاهد في سبيل الله لا يستوون عند الله والله لا يهدي القوم الظالمين. الذين آمنوا وهاجروا وجاهدوا في سبيل الله بأموالهم وأنفسهم أعظم درجة عند الله وأولئك هم الفائزون. يبشرهم ربهم برحمة منه ورضوان وجنات لهم فيها نعيم مقيم. خالدين فيها أبدا إن الله عنده أجر عظيم.',
'القارعة. ما القارعة. وما أدراك ما القارعة. يوم يكون الناس كالفراش المبثوث. وتكون الجبال كالعهن المنفوش.',
'إذ أنتم بالعدوة الدنيا وهم بالعدوة القصوى والركب أسفل منكم ولو تواعدتم لاختلفتم في الميعاد ولكن ليقضي الله أمرا كان مفعولا ليهلك من هلك عن بينة ويحيى من حي عن بينة وإن الله لسميع عليم. إذ يريكهم الله في منامك قليلا ولو أراكهم كثيرا لفشلتم ولتنازعتم في الأمر ولكن الله سلم إنه عليم بذات الصدور. وإذ يريكموهم إذ التقيتم في أعينكم قليلا ويقللكم في أعينهم ليقضي الله أمرا كان مفعولا وإلى الله ترجع الأمور.',
]
)
# [{'corpus_id': ..., 'score': ...}, {'corpus_id': ..., 'score': ...}, ...]
evalCrossEncoderClassificationEvaluator| Metric | Value |
|---|---|
| accuracy | 1.0 |
| accuracy_threshold | 0.8513 |
| f1 | 1.0 |
| f1_threshold | 0.8513 |
| precision | 1.0 |
| recall | 1.0 |
| average_precision | 1.0 |
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 |
«أجعلتم سقاية الحاج وعمارة المسجد الحرام» أي أهل ذلك «كمن آمن بالله واليوم الآخر وجاهد في سبيل الله لا يستوون عند الله» في الفضل «والله لا يهدي القوم الظالمين» الكافرين نزلت ردا على من قال ذلك وهو العباس أو غيره |
أجعلتم سقاية الحاج وعمارة المسجد الحرام كمن آمن بالله واليوم الآخر وجاهد في سبيل الله لا يستوون عند الله والله لا يهدي القوم الظالمين. الذين آمنوا وهاجروا وجاهدوا في سبيل الله بأموالهم وأنفسهم أعظم درجة عند الله وأولئك هم الفائزون. يبشرهم ربهم برحمة منه ورضوان وجنات لهم فيها نعيم مقيم. خالدين فيها أبدا إن الله عنده أجر عظيم. |
1.0 |
BinaryCrossEntropyLoss with these parameters:{
"activation_fn": "torch.nn.modules.linear.Identity",
"pos_weight": null
}
eval_strategy: stepsnum_train_epochs: 4fp16: Trueoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 8per_device_eval_batch_size: 8per_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: 4max_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: Truefp16_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: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss | eval_average_precision |
|---|---|---|---|
| 0.4386 | 500 | 0.1057 | 1.0 |
| 0.8772 | 1000 | 0.001 | 1.0000 |
| 1.0 | 1140 | - | 1.0 |
| 1.3158 | 1500 | 0.0008 | 1.0000 |
| 1.7544 | 2000 | 0.0005 | 1.0000 |
| 2.0 | 2280 | - | 1.0000 |
| 2.1930 | 2500 | 0.0005 | 1.0 |
| 2.6316 | 3000 | 0.0004 | 1.0 |
| 3.0 | 3420 | - | 1.0000 |
| 3.0702 | 3500 | 0.0004 | 1.0 |
| 3.5088 | 4000 | 0.0004 | 1.0000 |
| 3.9474 | 4500 | 0.0004 | 1.0 |
| 4.0 | 4560 | - | 1.0 |
@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-arabertv02