mertcobanov/all-nli-triplets-turkish
Viewer • Updated • 291k • 28 • 1
How to use mertcobanov/mpnet-base-all-nli-triplet-turkish-v4-dgx with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("mertcobanov/mpnet-base-all-nli-triplet-turkish-v4-dgx")
sentences = [
"Bir köpek sahibi, evcil hayvanıyla birlikte koşuyor ve evcil hayvan bir parkurda engellerden kaçınıyor.",
"Bazı bitkilerin önünde mavi bir kano.",
"Bir adam köpeğinin yanında koşuyor.",
"Adam bir kediyle birlikte."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from microsoft/mpnet-base on the all-nli-triplets-turkish dataset. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.
SentenceTransformer(
(0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: MPNetModel
(1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': 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("mertcobanov/mpnet-base-all-nli-triplet-turkish-v4-dgx")
# Run inference
sentences = [
'Böyle şeyler görmek ve eğer yapabileceğiniz en küçük bir şey varsa, bu yardımcı olur.',
'Böyle bir şeyi gözlemlemek ve yapıp yapamayacağınızı bilmek için.',
'Böyle bir şeyi görmek kötü, eğer yapabiliyorsanız buna hiç katkıda bulunmayın.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
all-nli-dev-turkish and all-nli-test-turkishTripletEvaluator| Metric | all-nli-dev-turkish | all-nli-test-turkish |
|---|---|---|
| cosine_accuracy | 0.7764 | 0.7741 |
anchor_translated, positive_translated, and negative_translated| anchor_translated | positive_translated | negative_translated | |
|---|---|---|---|
| type | string | string | string |
| details |
|
|
|
| anchor_translated | positive_translated | negative_translated |
|---|---|---|
Bir kişi, bir atın üzerinde, bozulmuş bir uçağın üzerinden atlıyor. |
Bir kişi dışarıda, bir atın üzerinde. |
Bir kişi bir lokantada omlet siparişi veriyor. |
Bir Küçük Lig takımı, bir oyuncunun bir üsse kayarak girmeye çalıştığı sırada onu yakalamaya çalışıyor. |
Bir takım bir koşucuyu dışarı atmaya çalışıyor. |
Bir takım Satürn'de beyzbol oynuyor. |
Kadın beyaz giyiyor. |
Beyaz bir ceket giymiş bir kadın bir tekerlekli sandalyeyi itiyor. |
Siyah giyinmiş bir adam, siyah giyinmiş bir kadını kucaklıyor. |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
anchor_translated, positive_translated, and negative_translated| anchor_translated | positive_translated | negative_translated | |
|---|---|---|---|
| type | string | string | string |
| details |
|
|
|
| anchor_translated | positive_translated | negative_translated |
|---|---|---|
Ayrıca, bu özel tüketim vergileri, diğer vergiler gibi, hükümetin ödeme zorunluluğunu sağlama yetkisini kullanarak belirlenir. |
Hükümetin ödeme zorlaması, özel tüketim vergilerinin nasıl hesaplandığını belirler. |
Özel tüketim vergileri genel kuralın bir istisnasıdır ve aslında GSYİH payına dayalı olarak belirlenir. |
Gri bir sweatshirt giymiş bir sanatçı, canlı renklerde bir kasaba tablosu üzerinde çalışıyor. |
Bir ressam gri giysiler içinde bir kasabanın resmini yapıyor. |
Bir kişi bir beyzbol sopası tutuyor ve gelen bir atış için planda bekliyor. |
İmkansız. |
Yapılamaz. |
Tamamen mümkün. |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
eval_strategy: stepsper_device_train_batch_size: 64per_device_eval_batch_size: 64learning_rate: 2e-05num_train_epochs: 10warmup_ratio: 0.1fp16: Truebatch_sampler: no_duplicatesoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 64per_device_eval_batch_size: 64per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 2e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 10max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.1warmup_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: Falsehub_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: no_duplicatesmulti_dataset_batch_sampler: proportional| Epoch | Step | Training Loss | Validation Loss | all-nli-dev-turkish_cosine_accuracy | all-nli-test-turkish_cosine_accuracy |
|---|---|---|---|---|---|
| 0 | 0 | - | - | 0.5729 | - |
| 0.2119 | 100 | 6.6103 | 4.5154 | 0.6970 | - |
| 0.4237 | 200 | 5.1602 | 3.7328 | 0.7195 | - |
| 0.6356 | 300 | 4.4533 | 3.3389 | 0.7372 | - |
| 0.8475 | 400 | 3.4465 | 3.6044 | 0.7187 | - |
| 1.0572 | 500 | 2.6977 | 3.3043 | 0.7418 | - |
| 1.2691 | 600 | 3.8142 | 3.2066 | 0.7512 | - |
| 1.4809 | 700 | 3.4333 | 3.0716 | 0.7508 | - |
| 1.6928 | 800 | 3.1488 | 2.9590 | 0.7553 | - |
| 1.9047 | 900 | 1.8677 | 3.2416 | 0.7442 | - |
| 2.1144 | 1000 | 2.2034 | 2.9323 | 0.7634 | - |
| 2.3263 | 1100 | 2.9834 | 2.9406 | 0.7669 | - |
| 2.5381 | 1200 | 2.6785 | 2.8607 | 0.7672 | - |
| 2.75 | 1300 | 2.5096 | 2.8939 | 0.7684 | - |
| 2.9619 | 1400 | 0.876 | 3.2539 | 0.7416 | - |
| 3.1716 | 1500 | 2.3355 | 2.7503 | 0.7758 | - |
| 3.3835 | 1600 | 2.4666 | 2.7920 | 0.7707 | - |
| 3.5953 | 1700 | 2.2691 | 2.7860 | 0.7729 | - |
| 3.8072 | 1800 | 1.8024 | 2.9899 | 0.7571 | - |
| 4.0169 | 1900 | 0.6443 | 3.0993 | 0.7456 | - |
| 4.2288 | 2000 | 2.3976 | 2.7792 | 0.7811 | - |
| 4.4407 | 2100 | 2.1145 | 2.7968 | 0.7728 | - |
| 4.6525 | 2200 | 1.9788 | 2.7243 | 0.7751 | - |
| 4.8644 | 2300 | 1.1676 | 2.9885 | 0.7567 | - |
| 5.0742 | 2400 | 1.0009 | 2.7374 | 0.7767 | - |
| 5.2860 | 2500 | 2.1276 | 2.7822 | 0.7767 | - |
| 5.4979 | 2600 | 1.8459 | 2.7822 | 0.7760 | - |
| 5.7097 | 2700 | 1.7659 | 2.7322 | 0.7766 | - |
| 5.9216 | 2800 | 0.5916 | 3.0191 | 0.7596 | - |
| 6.1314 | 2900 | 1.3908 | 2.6973 | 0.7772 | - |
| 6.3432 | 3000 | 1.9257 | 2.7585 | 0.7763 | - |
| 6.5551 | 3100 | 1.6558 | 2.7350 | 0.7760 | - |
| 6.7669 | 3200 | 1.5368 | 2.7903 | 0.7722 | - |
| 6.9788 | 3300 | 0.1968 | 3.0849 | 0.7479 | - |
| 7.1886 | 3400 | 1.8044 | 2.6626 | 0.7825 | - |
| 7.4004 | 3500 | 1.7048 | 2.7380 | 0.7790 | - |
| 7.6123 | 3600 | 1.5666 | 2.7250 | 0.7796 | - |
| 7.8242 | 3700 | 1.0954 | 2.9620 | 0.7629 | - |
| 8.0339 | 3800 | 0.487 | 2.8900 | 0.7641 | - |
| 8.2458 | 3900 | 1.8398 | 2.7186 | 0.7796 | - |
| 8.4576 | 4000 | 1.5659 | 2.7259 | 0.7778 | - |
| 8.6695 | 4100 | 1.4825 | 2.7007 | 0.7760 | - |
| 8.8814 | 4200 | 0.7019 | 2.9050 | 0.7675 | - |
| 9.0911 | 4300 | 0.9278 | 2.7606 | 0.7731 | - |
| 9.3030 | 4400 | 1.766 | 2.6978 | 0.7787 | - |
| 9.5148 | 4500 | 1.4699 | 2.7114 | 0.7801 | - |
| 9.7267 | 4600 | 1.4647 | 2.7096 | 0.7799 | - |
| 9.9386 | 4700 | 0.3321 | 2.7418 | 0.7764 | - |
| 9.9809 | 4720 | - | - | - | 0.7741 |
@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{henderson2017efficient,
title={Efficient Natural Language Response Suggestion for Smart Reply},
author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
year={2017},
eprint={1705.00652},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
Base model
microsoft/mpnet-base
from sentence_transformers import SentenceTransformer model = SentenceTransformer("mertcobanov/mpnet-base-all-nli-triplet-turkish-v4-dgx") sentences = [ "Bir köpek sahibi, evcil hayvanıyla birlikte koşuyor ve evcil hayvan bir parkurda engellerden kaçınıyor.", "Bazı bitkilerin önünde mavi bir kano.", "Bir adam köpeğinin yanında koşuyor.", "Adam bir kediyle birlikte." ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [4, 4]