--- tags: - sentence-transformers - cross-encoder - generated_from_trainer - dataset_size:1674 - loss:BinaryCrossEntropyLoss base_model: yoriis/ce-final pipeline_tag: text-ranking library_name: sentence-transformers metrics: - accuracy - accuracy_threshold - f1 - f1_threshold - precision - recall - average_precision model-index: - name: CrossEncoder based on yoriis/ce-final results: - task: type: cross-encoder-classification name: Cross Encoder Classification dataset: name: eval type: eval metrics: - type: accuracy value: 0.9247311827956989 name: Accuracy - type: accuracy_threshold value: 0.6233179569244385 name: Accuracy Threshold - type: f1 value: 0.9435483870967742 name: F1 - type: f1_threshold value: 0.4820916950702667 name: F1 Threshold - type: precision value: 0.936 name: Precision - type: recall value: 0.9512195121951219 name: Recall - type: average_precision value: 0.981435073118385 name: Average Precision --- # CrossEncoder based on yoriis/ce-final This is a [Cross Encoder](https://www.sbert.net/docs/cross_encoder/usage/usage.html) model finetuned from [yoriis/ce-final](https://huggingface.co/yoriis/ce-final) using the [sentence-transformers](https://www.SBERT.net) library. It computes scores for pairs of texts, which can be used for text reranking and semantic search. ## Model Details ### Model Description - **Model Type:** Cross Encoder - **Base model:** [yoriis/ce-final](https://huggingface.co/yoriis/ce-final) - **Maximum Sequence Length:** 512 tokens - **Number of Output Labels:** 1 label ### Model Sources - **Documentation:** [Sentence Transformers Documentation](https://sbert.net) - **Documentation:** [Cross Encoder Documentation](https://www.sbert.net/docs/cross_encoder/usage/usage.html) - **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers) - **Hugging Face:** [Cross Encoders on Hugging Face](https://huggingface.co/models?library=sentence-transformers&other=cross-encoder) ## Usage ### Direct Usage (Sentence Transformers) First install the Sentence Transformers library: ```bash pip install -U sentence-transformers ``` Then you can load this model and run inference. ```python from sentence_transformers import CrossEncoder # Download from the 🤗 Hub model = CrossEncoder("yoriis/ce-final-task") # 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': ...}, ...] ``` ## Evaluation ### Metrics #### Cross Encoder Classification * Dataset: `eval` * Evaluated with [CrossEncoderClassificationEvaluator](https://sbert.net/docs/package_reference/cross_encoder/evaluation.html#sentence_transformers.cross_encoder.evaluation.CrossEncoderClassificationEvaluator) | Metric | Value | |:----------------------|:-----------| | accuracy | 0.9247 | | accuracy_threshold | 0.6233 | | f1 | 0.9435 | | f1_threshold | 0.4821 | | precision | 0.936 | | recall | 0.9512 | | **average_precision** | **0.9814** | ## Training Details ### Training Dataset #### Unnamed Dataset * Size: 1,674 training samples * Columns: sentence_0, sentence_1, and label * Approximate statistics based on the first 1000 samples: | | sentence_0 | sentence_1 | label | |:--------|:------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------|:---------------------------------------------------------------| | type | string | string | float | | details | | | | * Samples: | sentence_0 | sentence_1 | label | |:-------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------| | هل ذكر القرآن أوقات نوم معيّنة؟ | ألم تر إلى ربك كيف مد الظل ولو شاء لجعله ساكنا ثم جعلنا الشمس عليه دليلا. ثم قبضناه إلينا قبضا يسيرا. وهو الذي جعل لكم الليل لباسا والنوم سباتا وجعل النهار نشورا. وهو الذي أرسل الرياح بشرا بين يدي رحمته وأنزلنا من السماء ماء طهورا. لنحيي به بلدة ميتا ونسقيه مما خلقنا أنعاما وأناسي كثيرا. ولقد صرفناه بينهم ليذكروا فأبى أكثر الناس إلا كفورا. ولو شئنا لبعثنا في كل قرية نذيرا. فلا تطع الكافرين وجاهدهم به جهادا كبيرا. وهو الذي مرج البحرين هذا عذب فرات وهذا ملح أجاج وجعل بينهما برزخا وحجرا محجورا. وهو الذي خلق من الماء بشرا فجعله نسبا وصهرا وكان ربك قديرا. ويعبدون من دون الله ما لا ينفعهم ولا يضرهم وكان الكافر على ربه ظهيرا. | 1.0 | | ما الدلائل على أن القرآن أُنزل لجميع الناس أو جميع الأمم والشعوب؟ | وبالحق أنزلناه وبالحق نزل وما أرسلناك إلا مبشرا ونذيرا. وقرآنا فرقناه لتقرأه على الناس على مكث ونزلناه تنزيلا. قل آمنوا به أو لا تؤمنوا إن الذين أوتوا العلم من قبله إذا يتلى عليهم يخرون للأذقان سجدا. ويقولون سبحان ربنا إن كان وعد ربنا لمفعولا. ويخرون للأذقان يبكون ويزيدهم خشوعا. قل ادعوا الله أو ادعوا الرحمن أيا ما تدعوا فله الأسماء الحسنى ولا تجهر بصلاتك ولا تخافت بها وابتغ بين ذلك سبيلا. وقل الحمد لله الذي لم يتخذ ولدا ولم يكن له شريك في الملك ولم يكن له ولي من الذل وكبره تكبيرا. | 1.0 | | ما هي عقوبة من يتهم المرأة بالزنا بغير دليل؟ | يا أيها الذين آمنوا إذا جاءكم المؤمنات مهاجرات فامتحنوهن الله أعلم بإيمانهن فإن علمتموهن مؤمنات فلا ترجعوهن إلى الكفار لا هن حل لهم ولا هم يحلون لهن وآتوهم ما أنفقوا ولا جناح عليكم أن تنكحوهن إذا آتيتموهن أجورهن ولا تمسكوا بعصم الكوافر واسألوا ما أنفقتم وليسألوا ما أنفقوا ذلكم حكم الله يحكم بينكم والله عليم حكيم. وإن فاتكم شيء من أزواجكم إلى الكفار فعاقبتم فآتوا الذين ذهبت أزواجهم مثل ما أنفقوا واتقوا الله الذي أنتم به مؤمنون. | 0.0 | * Loss: [BinaryCrossEntropyLoss](https://sbert.net/docs/package_reference/cross_encoder/losses.html#binarycrossentropyloss) with these parameters: ```json { "activation_fn": "torch.nn.modules.linear.Identity", "pos_weight": null } ``` ### Training Hyperparameters #### Non-Default Hyperparameters - `eval_strategy`: steps - `per_device_train_batch_size`: 16 - `per_device_eval_batch_size`: 16 - `num_train_epochs`: 4 - `fp16`: True #### All Hyperparameters
Click to expand - `overwrite_output_dir`: False - `do_predict`: False - `eval_strategy`: steps - `prediction_loss_only`: True - `per_device_train_batch_size`: 16 - `per_device_eval_batch_size`: 16 - `per_gpu_train_batch_size`: None - `per_gpu_eval_batch_size`: None - `gradient_accumulation_steps`: 1 - `eval_accumulation_steps`: None - `torch_empty_cache_steps`: None - `learning_rate`: 5e-05 - `weight_decay`: 0.0 - `adam_beta1`: 0.9 - `adam_beta2`: 0.999 - `adam_epsilon`: 1e-08 - `max_grad_norm`: 1 - `num_train_epochs`: 4 - `max_steps`: -1 - `lr_scheduler_type`: linear - `lr_scheduler_kwargs`: {} - `warmup_ratio`: 0.0 - `warmup_steps`: 0 - `log_level`: passive - `log_level_replica`: warning - `log_on_each_node`: True - `logging_nan_inf_filter`: True - `save_safetensors`: True - `save_on_each_node`: False - `save_only_model`: False - `restore_callback_states_from_checkpoint`: False - `no_cuda`: False - `use_cpu`: False - `use_mps_device`: False - `seed`: 42 - `data_seed`: None - `jit_mode_eval`: False - `use_ipex`: False - `bf16`: False - `fp16`: True - `fp16_opt_level`: O1 - `half_precision_backend`: auto - `bf16_full_eval`: False - `fp16_full_eval`: False - `tf32`: None - `local_rank`: 0 - `ddp_backend`: None - `tpu_num_cores`: None - `tpu_metrics_debug`: False - `debug`: [] - `dataloader_drop_last`: False - `dataloader_num_workers`: 0 - `dataloader_prefetch_factor`: None - `past_index`: -1 - `disable_tqdm`: False - `remove_unused_columns`: True - `label_names`: None - `load_best_model_at_end`: False - `ignore_data_skip`: False - `fsdp`: [] - `fsdp_min_num_params`: 0 - `fsdp_config`: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False} - `fsdp_transformer_layer_cls_to_wrap`: None - `accelerator_config`: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None} - `deepspeed`: None - `label_smoothing_factor`: 0.0 - `optim`: adamw_torch - `optim_args`: None - `adafactor`: False - `group_by_length`: False - `length_column_name`: length - `ddp_find_unused_parameters`: None - `ddp_bucket_cap_mb`: None - `ddp_broadcast_buffers`: False - `dataloader_pin_memory`: True - `dataloader_persistent_workers`: False - `skip_memory_metrics`: True - `use_legacy_prediction_loop`: False - `push_to_hub`: False - `resume_from_checkpoint`: None - `hub_model_id`: None - `hub_strategy`: every_save - `hub_private_repo`: None - `hub_always_push`: False - `hub_revision`: None - `gradient_checkpointing`: False - `gradient_checkpointing_kwargs`: None - `include_inputs_for_metrics`: False - `include_for_metrics`: [] - `eval_do_concat_batches`: True - `fp16_backend`: auto - `push_to_hub_model_id`: None - `push_to_hub_organization`: None - `mp_parameters`: - `auto_find_batch_size`: False - `full_determinism`: False - `torchdynamo`: None - `ray_scope`: last - `ddp_timeout`: 1800 - `torch_compile`: False - `torch_compile_backend`: None - `torch_compile_mode`: None - `include_tokens_per_second`: False - `include_num_input_tokens_seen`: False - `neftune_noise_alpha`: None - `optim_target_modules`: None - `batch_eval_metrics`: False - `eval_on_start`: False - `use_liger_kernel`: False - `liger_kernel_config`: None - `eval_use_gather_object`: False - `average_tokens_across_devices`: False - `prompts`: None - `batch_sampler`: batch_sampler - `multi_dataset_batch_sampler`: proportional
### Training Logs | Epoch | Step | eval_average_precision | |:-----:|:----:|:----------------------:| | 1.0 | 105 | 0.9728 | | 2.0 | 210 | 0.9801 | | 3.0 | 315 | 0.9811 | | 4.0 | 420 | 0.9814 | ### Framework Versions - Python: 3.11.13 - Sentence Transformers: 4.1.0 - Transformers: 4.54.0 - PyTorch: 2.6.0+cu124 - Accelerate: 1.9.0 - Datasets: 4.0.0 - Tokenizers: 0.21.2 ## Citation ### BibTeX #### Sentence Transformers ```bibtex @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", } ```