Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper
• 1908.10084 • Published
• 12
This is a Cross Encoder model finetuned from Qwen/Qwen3-Reranker-0.6B on the vodex-turkish-triplets-large dataset using the sentence-transformers library. It computes scores for pairs of texts, which can be used for text reranking and semantic search.
This model was fine-tuned on Turkish data specifically sourced from the telecommunications domain.
While it performs well on telecom-related tasks such as mobile services, billing, campaigns, and subscription details, it may not generalize well to other domains.
Please assess its performance carefully before applying it outside of telecommunications use cases.
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("seroe/Qwen3-Reranker-0.6B-turkish-triplet")
# Get scores for pairs of texts
pairs = [
['Yeni Red Business VIP tarifesi, yüksek veri ve dakika ihtiyaçları olan işletmeler için tasarlanmış bir premium seçenektir.', 'Red Business VIP, işletmelerin yoğun veri ve konuşma ihtiyaçlarını karşılamak için geliştirilmiş bir üst düzey tarifedir.'],
["Vodafone'un Yeni Uyumlu Hoşgeldin Kampanyası, belirli tarifeler için 12+12 ay taahhüt karşılığında indirimler sunmaktadır ve kampanya iki dönemden oluşmaktadır.", "Vodafone'un Yeni Uyumlu Hoşgeldin Kampanyası, 12+12 ay taahhüt veren abonelere belirli tarifelerde ilk 12 ay için 20 TL, ikinci 12 ay için 15 TL indirim sağlamaktadır."],
["Vodafone'un Kolay Paketleri, faturasız hat kullanıcılarına TL yükleme gereksinimi olmadan avantajlı paketler sunar ve her ay otomatik yenilenmez.", "Vodafone'un Kolay Paketleri, faturasız hat kullanıcıları için tasarlanmış olup, TL yükleme zorunluluğu olmadan satın alınabilir ve otomatik yenileme yapılmaz."],
["Samsung Galaxy Note 3 cihazı, Vodafone'un Red tarifeleriyle birlikte aylık ek ödeme seçenekleriyle sunulmuş ve kampanya kodlarıyla desteklenmiştir.", 'Vodafone, Samsung Galaxy Note 3 cihazını Red tarifeleriyle birleştirerek, aylık ek ödeme planları ve kampanya kodlarıyla müşterilere sunmuştur.'],
['Red Elite Extra tarifesi, 36 aylık taahhütle 40 TL başlangıç fiyatı ve 165 TL üst fiyat seçeneğiyle sona eren kampanyalar arasında yer almıştır.', "Vodafone'un sona eren kampanyaları arasında yer alan Red Elite Extra tarifesi, 36 aylık taahhütle 40 TL'den başlayıp 165 TL'ye kadar fiyatlandırılmıştır."],
]
scores = model.predict(pairs)
print(scores.shape)
# (5,)
# Or rank different texts based on similarity to a single text
ranks = model.rank(
'Yeni Red Business VIP tarifesi, yüksek veri ve dakika ihtiyaçları olan işletmeler için tasarlanmış bir premium seçenektir.',
[
'Red Business VIP, işletmelerin yoğun veri ve konuşma ihtiyaçlarını karşılamak için geliştirilmiş bir üst düzey tarifedir.',
"Vodafone'un Yeni Uyumlu Hoşgeldin Kampanyası, 12+12 ay taahhüt veren abonelere belirli tarifelerde ilk 12 ay için 20 TL, ikinci 12 ay için 15 TL indirim sağlamaktadır.",
"Vodafone'un Kolay Paketleri, faturasız hat kullanıcıları için tasarlanmış olup, TL yükleme zorunluluğu olmadan satın alınabilir ve otomatik yenileme yapılmaz.",
'Vodafone, Samsung Galaxy Note 3 cihazını Red tarifeleriyle birleştirerek, aylık ek ödeme planları ve kampanya kodlarıyla müşterilere sunmuştur.',
"Vodafone'un sona eren kampanyaları arasında yer alan Red Elite Extra tarifesi, 36 aylık taahhütle 40 TL'den başlayıp 165 TL'ye kadar fiyatlandırılmıştır.",
]
)
# [{'corpus_id': ..., 'score': ...}, {'corpus_id': ..., 'score': ...}, ...]
val-hard and test-hardCrossEncoderRerankingEvaluator with these parameters:{
"at_k": 10,
"always_rerank_positives": true
}
| Metric | val-hard | test-hard |
|---|---|---|
| map | 0.7818 (+0.0995) | 0.7816 (+0.0987) |
| mrr@10 | 0.7820 (+0.0998) | 0.7819 (+0.0991) |
| ndcg@10 | 0.8364 (+0.1539) | 0.8362 (+0.1533) |
query, positive, and negative| query | positive | negative | |
|---|---|---|---|
| type | string | string | string |
| details |
|
|
|
| query | positive | negative |
|---|---|---|
Yeni Red Business VIP tarifesi, yüksek veri ve dakika ihtiyaçları olan işletmeler için tasarlanmış bir premium seçenektir. |
Red Business VIP, işletmelerin yoğun veri ve konuşma ihtiyaçlarını karşılamak için geliştirilmiş bir üst düzey tarifedir. |
Vodafone'un kurumsal tarifeleri, yalnızca küçük işletmelerin düşük veri ihtiyaçlarına odaklanmaktadır. |
Vodafone'un Yeni Uyumlu Hoşgeldin Kampanyası, belirli tarifeler için 12+12 ay taahhüt karşılığında indirimler sunmaktadır ve kampanya iki dönemden oluşmaktadır. |
Vodafone'un Yeni Uyumlu Hoşgeldin Kampanyası, 12+12 ay taahhüt veren abonelere belirli tarifelerde ilk 12 ay için 20 TL, ikinci 12 ay için 15 TL indirim sağlamaktadır. |
Vodafone'un Yeni Uyumlu Hoşgeldin Kampanyası, yalnızca faturasız hat kullanıcılarına özel olarak tasarlanmış bir kampanyadır ve taahhüt gerektirmez. |
Vodafone'un Kolay Paketleri, faturasız hat kullanıcılarına TL yükleme gereksinimi olmadan avantajlı paketler sunar ve her ay otomatik yenilenmez. |
Vodafone'un Kolay Paketleri, faturasız hat kullanıcıları için tasarlanmış olup, TL yükleme zorunluluğu olmadan satın alınabilir ve otomatik yenileme yapılmaz. |
Vodafone'un Kolay Paketleri, faturalı hat kullanıcılarına özel olarak tasarlanmış ve her ay otomatik olarak yenilenen paketlerdir. |
CachedMultipleNegativesRankingLoss with these parameters:{
"scale": 10.0,
"num_negatives": 4,
"activation_fn": "torch.nn.modules.activation.Sigmoid",
"mini_batch_size": 32
}
eval_strategy: stepsper_device_train_batch_size: 512per_device_eval_batch_size: 1024learning_rate: 1e-06weight_decay: 0.08num_train_epochs: 2warmup_ratio: 0.2save_only_model: Truebf16: Truedataloader_num_workers: 8load_best_model_at_end: Truegroup_by_length: Truebatch_sampler: no_duplicatesoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 512per_device_eval_batch_size: 1024per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 1e-06weight_decay: 0.08adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1num_train_epochs: 2max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.2warmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Truesave_safetensors: Truesave_on_each_node: Falsesave_only_model: Truerestore_callback_states_from_checkpoint: Falseno_cuda: Falseuse_cpu: Falseuse_mps_device: Falseseed: 42data_seed: Nonejit_mode_eval: Falseuse_ipex: 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: 8dataloader_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}deepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torchoptim_args: Noneadafactor: Falsegroup_by_length: Truelength_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: Falsegradient_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: Falseeval_use_gather_object: Falseaverage_tokens_across_devices: Falseprompts: Nonebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportional| Epoch | Step | Training Loss | val-hard_ndcg@10 | test-hard_ndcg@10 |
|---|---|---|---|---|
| 0.2370 | 100 | 1.192 | 0.7554 (+0.0729) | 0.7552 (+0.0723) |
| 0.4739 | 200 | 0.0214 | 0.7909 (+0.1085) | 0.7892 (+0.1062) |
| 0.7109 | 300 | 0.0066 | 0.8135 (+0.1310) | 0.8115 (+0.1285) |
| 0.9479 | 400 | 0.0048 | 0.8143 (+0.1318) | 0.8141 (+0.1311) |
| 1.1848 | 500 | 0.0034 | 0.8281 (+0.1456) | 0.8270 (+0.1440) |
| 1.4218 | 600 | 0.0028 | 0.8321 (+0.1496) | 0.8319 (+0.1489) |
| 1.6588 | 700 | 0.0027 | 0.8334 (+0.1509) | 0.8333 (+0.1503) |
| 1.8957 | 800 | 0.0026 | 0.8364 (+0.1539) | 0.8362 (+0.1533) |
@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",
}