CrossEncoder based on MatMulMan/araelectra-base-discriminator-tydi-tafseer-pairs

This is a Cross Encoder model finetuned from MatMulMan/araelectra-base-discriminator-tydi-tafseer-pairs using the sentence-transformers library. It computes scores for pairs of texts, which can be used for text reranking and semantic search.

Model Details

Model Description

Model Sources

Usage

Direct Usage (Sentence Transformers)

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("cross_encoder_model_id")
# Get scores for pairs of texts
pairs = [
    ['يعني يا ترى، الموظفين اللي بيشتغلوا في قسم الامتحانات بالجامعة، ليهم كام يوم إجازة للمذاكرة قبل الامتحانات؟ (تركيز على قسم الامتحانات وتحديد الفترة الزمنية)؟', 'القانون حدد 7 أيام فقط من تقديم الاستقالة علشان العامل يقدر يتراجع عنها. لو عدت المدة دي بدون ما يطلب التراجع، بتعتبر استقالته نهائية.'],
    ['ممكن أعرف القانون الجديد بيقول، سنه المعاش في شركات القطاع الخاص بقى كام دلوقتي؟', 'المكافأة هي مبلغ ثابت بياخده العامل عن السنين اللي اشتغلها. أما التعويض، فهو مبلغ إضافي بيتدفع لو حصلت له مشكلة زي فصل تعسفي أو إصابة. الاتنين مختلفين في السبب وطريقة الحساب.'],
    ['أقصى مبلغ ممكن يتخصم من المرتب أد إيه؟ (أد إيه = كم)', 'أقصى حد للخصم من المرتب هو 25% من صافي المرتب، زي ما القانون حدد، إلا إذا في حكم قضائي زي النفقة.'],
    ['ممكن أعرف ماذا الفرق الجوهري بين عقد الدوام اللي فيه تاريخ نهاية وعقد العمل المفتوح اللي ملوش تاريخ نهاية؟', 'أيوه، الأم المرضعة من حقها يوميًا "فترتين رضاعة" كل واحدة نص ساعة، أو تقدر تدمجهم كساعة كاملة. وده بيستمر لمدة 24 شهر من يوم الولادة.'],
    ['بالنسبة للاشتراكات، العامل بيتحمل جزء أد إيه منها وصاحب العمل بيتحمل الجزء الباقي؟ عايزين نعرف توزيع المساهمات بالضبط.', 'أيوه، القانون بيطلب تشكيل لجنة للسلامة والصحة المهنية في المنشآت الكبيرة، خصوصًا اللي فيها أكتر من عدد معين من العمال. اللجنة دي بتتابع تطبيق إجراءات السلامة.'],
]
scores = model.predict(pairs)
print(scores.shape)
# (5,)

# Or rank different texts based on similarity to a single text
ranks = model.rank(
    'يعني يا ترى، الموظفين اللي بيشتغلوا في قسم الامتحانات بالجامعة، ليهم كام يوم إجازة للمذاكرة قبل الامتحانات؟ (تركيز على قسم الامتحانات وتحديد الفترة الزمنية)؟',
    [
        'القانون حدد 7 أيام فقط من تقديم الاستقالة علشان العامل يقدر يتراجع عنها. لو عدت المدة دي بدون ما يطلب التراجع، بتعتبر استقالته نهائية.',
        'المكافأة هي مبلغ ثابت بياخده العامل عن السنين اللي اشتغلها. أما التعويض، فهو مبلغ إضافي بيتدفع لو حصلت له مشكلة زي فصل تعسفي أو إصابة. الاتنين مختلفين في السبب وطريقة الحساب.',
        'أقصى حد للخصم من المرتب هو 25% من صافي المرتب، زي ما القانون حدد، إلا إذا في حكم قضائي زي النفقة.',
        'أيوه، الأم المرضعة من حقها يوميًا "فترتين رضاعة" كل واحدة نص ساعة، أو تقدر تدمجهم كساعة كاملة. وده بيستمر لمدة 24 شهر من يوم الولادة.',
        'أيوه، القانون بيطلب تشكيل لجنة للسلامة والصحة المهنية في المنشآت الكبيرة، خصوصًا اللي فيها أكتر من عدد معين من العمال. اللجنة دي بتتابع تطبيق إجراءات السلامة.',
    ]
)
# [{'corpus_id': ..., 'score': ...}, {'corpus_id': ..., 'score': ...}, ...]

Training Details

Training Dataset

Unnamed Dataset

  • Size: 173,920 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
    • min: 36 characters
    • mean: 116.64 characters
    • max: 320 characters
    • min: 16 characters
    • mean: 142.71 characters
    • max: 399 characters
    • min: 0.0
    • mean: 0.26
    • max: 1.0
  • Samples:
    sentence_0 sentence_1 label
    يعني يا ترى، الموظفين اللي بيشتغلوا في قسم الامتحانات بالجامعة، ليهم كام يوم إجازة للمذاكرة قبل الامتحانات؟ (تركيز على قسم الامتحانات وتحديد الفترة الزمنية)؟ القانون حدد 7 أيام فقط من تقديم الاستقالة علشان العامل يقدر يتراجع عنها. لو عدت المدة دي بدون ما يطلب التراجع، بتعتبر استقالته نهائية. 0.0
    ممكن أعرف القانون الجديد بيقول، سنه المعاش في شركات القطاع الخاص بقى كام دلوقتي؟ المكافأة هي مبلغ ثابت بياخده العامل عن السنين اللي اشتغلها. أما التعويض، فهو مبلغ إضافي بيتدفع لو حصلت له مشكلة زي فصل تعسفي أو إصابة. الاتنين مختلفين في السبب وطريقة الحساب. 0.0
    أقصى مبلغ ممكن يتخصم من المرتب أد إيه؟ (أد إيه = كم) أقصى حد للخصم من المرتب هو 25% من صافي المرتب، زي ما القانون حدد، إلا إذا في حكم قضائي زي النفقة. 1.0
  • Loss: BinaryCrossEntropyLoss with these parameters:
    {
        "activation_fn": "torch.nn.modules.linear.Identity",
        "pos_weight": null
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • num_train_epochs: 4
  • disable_tqdm: True

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: no
  • 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: False
  • 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: True
  • 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 Training Loss
0.0460 500 0.5364
0.0920 1000 0.2314
0.1380 1500 0.151
0.1840 2000 0.1318
0.2300 2500 0.1201
0.2760 3000 0.1132
0.3220 3500 0.0935
0.3680 4000 0.082
0.4140 4500 0.0817
0.4600 5000 0.0804
0.5060 5500 0.0726
0.5520 6000 0.0662
0.5980 6500 0.0632
0.6440 7000 0.0579
0.6900 7500 0.0558
0.7360 8000 0.0448
0.7820 8500 0.0626
0.8280 9000 0.0419
0.8740 9500 0.0495
0.9200 10000 0.047
0.9660 10500 0.0447
1.0120 11000 0.0376
1.0580 11500 0.0342
1.1040 12000 0.0404
1.1500 12500 0.0364
1.1960 13000 0.0329
1.2420 13500 0.0373
1.2879 14000 0.0407
1.3339 14500 0.0298
1.3799 15000 0.0319
1.4259 15500 0.0361
1.4719 16000 0.0423
1.5179 16500 0.0349
1.5639 17000 0.0304
1.6099 17500 0.0291
1.6559 18000 0.0277
1.7019 18500 0.0288
1.7479 19000 0.0285
1.7939 19500 0.0288
1.8399 20000 0.0268
1.8859 20500 0.027
1.9319 21000 0.0215
1.9779 21500 0.0214
2.0239 22000 0.0263
2.0699 22500 0.0192
2.1159 23000 0.0242
2.1619 23500 0.0286
2.2079 24000 0.0144
2.2539 24500 0.0283
2.2999 25000 0.0209
2.3459 25500 0.0188
2.3919 26000 0.0211
2.4379 26500 0.0264
2.4839 27000 0.0245
2.5299 27500 0.023
2.5759 28000 0.0211
2.6219 28500 0.0248
2.6679 29000 0.0201
2.7139 29500 0.0194
2.7599 30000 0.0176
2.8059 30500 0.0194
2.8519 31000 0.0165
2.8979 31500 0.0209
2.9439 32000 0.0178
2.9899 32500 0.0166
3.0359 33000 0.0207
3.0819 33500 0.0143
3.1279 34000 0.0114
3.1739 34500 0.0208
3.2199 35000 0.0143
3.2659 35500 0.0221
3.3119 36000 0.0218
3.3579 36500 0.0144
3.4039 37000 0.0201
3.4499 37500 0.0172
3.4959 38000 0.0177
3.5419 38500 0.0129
3.5879 39000 0.013
3.6339 39500 0.016
3.6799 40000 0.0137
3.7259 40500 0.0171
3.7718 41000 0.0201
3.8178 41500 0.0166
3.8638 42000 0.0097
3.9098 42500 0.0146
3.9558 43000 0.0182

Framework Versions

  • Python: 3.11.13
  • Sentence Transformers: 4.1.0
  • Transformers: 4.54.1
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.9.0
  • Datasets: 4.0.0
  • Tokenizers: 0.21.4

Citation

BibTeX

Sentence Transformers

@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",
}
Downloads last month
2
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for DHOM-Uni/FAQ-Ai-Assistant-V4