Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 15
How to use AhmadAfles/my-first-AraGenre with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("AhmadAfles/my-first-AraGenre", trust_remote_code=True)
sentences = [
"يعتبر تسريب فحوى المحادثات السرية لوسائل الإعلام أداة ضغط غير مباشرة تُستخدم لإحراج الطرف الآخر وإجباره على تقديم تنازلات.",
"وَفِي النِّهَايَةِ، يَبْقَى الغُمُوضُ هُوَ المِلْحَ الَّذِي يُعْطِي لِلْحَيَاةِ طَعْماً مُخْتَلِفاً، فَمَا نُسَمِّيهِ مُعْجِزَةً، هُوَ رُبَّمَا لُغْزٌ لَمْ يَبْلُغْهُ عَقْلُنَا بَعْدُ.",
"يُتِيحُ مَفْهُومُ إِنْتَرْنِتِ الأَشْيَاءِ رَبْطَ جَمِيعِ الأَجْهِزَةِ المَنْزِلِيَّةِ بِشَبَكَةٍ وَاحِدَةٍ يُمْكِنُ التَّحَكُّمُ بِهَا عَبْرَ تَطْبِيقٍ الهَاتِفِ المَحْمُولِ.",
"إن التمسك بقواعد الأسبقية وبروتوكولات الجلوس في المؤتمرات ليس مجرد شكليات، بل يعكس حجم ومكانة الدولة في المنظومة الدولية."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from U4RASD/NeoAraBERT. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for retrieval.
SentenceTransformer(
(0): NeoWrapper(
(model): NeoBERT(
(encoder): Embedding(65000, 768, padding_idx=0)
(transformer_encoder): ModuleList(
(0-27): 28 x EncoderBlock(
(qkv): Linear(in_features=768, out_features=2304, bias=False)
(wo): Linear(in_features=768, out_features=768, bias=False)
(ffn): SwiGLU(
(w12): Linear(in_features=768, out_features=4096, bias=False)
(w3): Linear(in_features=2048, out_features=768, bias=False)
)
(attention_norm): RMSNorm((768,), eps=1e-05, elementwise_affine=True)
(ffn_norm): RMSNorm((768,), eps=1e-05, elementwise_affine=True)
)
)
(layer_norm): RMSNorm((768,), eps=1e-05, elementwise_affine=True)
)
)
)
First install the Sentence Transformers library:
pip install -U sentence-transformers
Then you can load this model and run inference.
from sentence_transformers import SentenceTransformer
# Download from the 🤗 Hub
model = SentenceTransformer("sentence_transformers_model_id")
# Run inference
sentences = [
'يرتبط تراجع التصنيف الائتماني للدولة بارتفاع نسبة الدين العام إلى الناتج المحلي الإجمالي، مما يرفع تكلفة الاقتراض مستقبلاً من الأسواق الدولية.',
'إن تنامي ظاهرة التغير المناخي يفرض تكاليف باهظة على قطاع التأمين العالمي، الذي بدأ يعيد تقييم بوالص التأمين ضد الكوارث في المناطق الساحلية.',
'أبهر استوديو يوفوتبل المتابعين بقدرته الفائقة على دمج الرسوم ثلاثية الأبعاد (CGI) مع الرسم التقليدي في أنمي قاتل الشياطين، ليقدم تجربة قتال بصرية غير مسبوقة.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[1.0000, 0.8434, 0.1994],
# [0.8434, 1.0000, 0.2142],
# [0.1994, 0.2142, 1.0000]])
sentence_0 and sentence_1| sentence_0 | sentence_1 | |
|---|---|---|
| type | string | string |
| modality | text | text |
| details |
|
|
| sentence_0 | sentence_1 |
|---|---|
الكتب في المكتبة دي بتنقل نفسها من رف لرف، دخلت لقيت كتاب عن 'اختفاء الأشخاص' مفتوح على الصفحة اللي مكتوب فيها اسمي بالظبط. |
بَعْدَ مُرُورِ عَشْرِ سَنَوَاتٍ، عَادَ الرَّجُلُ لِيَجِدَ كُلَّ شَيْءٍ فِي مَكَانِهِ بِدِقَّةٍ؛ لَا غُبَارَ عَلَى الأَثَاثِ، وَلَا أَثَرَ لِأَيِّ بَشَرٍ فِيهِ. |
الأسعار كل يوم في الطالع، والمرتب زي ما هو مش راضي يتحرك. المواطن البسيط مبقاش ملاحق على مصاريف الأكل والشرب والكهربا. |
الحكاية مش حكاية فلوس وبس، الفكرة كلها في إدارة الموارد وصناعة بدائل محليّة عشان نقدر نستغني عن الاستيراد اللي بياكل الأخضر واليابس. |
وفي نهاية مطافنا الاستشاري لهذا الأسبوع، تذكروا دائماً أن السلام الداخلي يبدأ من التصالح مع الماضي وتقبل الأمور التي لا نملك القدرة على تغييرها. |
لو ابنك المراهق بدأ يتغير ويبعد عنكم، بلاش أسلوب التحقيق والزعق، صادقه واسمعه أكتر ما بتتكلم، خليه يحس إن البيت هو أمانه مش مكان للمحاكمة. |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim",
"gather_across_devices": false,
"directions": [
"query_to_doc"
],
"partition_mode": "joint",
"hardness_mode": null,
"hardness_strength": 0.0
}
per_device_train_batch_size: 16per_device_eval_batch_size: 16multi_dataset_batch_sampler: round_robinoverwrite_output_dir: Falsedo_predict: Falseprediction_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: 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: Nonedispatch_batches: Nonesplit_batches: 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: batch_samplermulti_dataset_batch_sampler: round_robinrouter_mapping: {}learning_rate_mapping: {}@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",
}
@misc{oord2019representationlearningcontrastivepredictive,
title={Representation Learning with Contrastive Predictive Coding},
author={Aaron van den Oord and Yazhe Li and Oriol Vinyals},
year={2019},
eprint={1807.03748},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/1807.03748},
}
Unable to build the model tree, the base model loops to the model itself. Learn more.