SentenceTransformer based on dbmdz/bert-base-turkish-uncased
This is a sentence-transformers model finetuned from dbmdz/bert-base-turkish-uncased on the cleaned_turkish_embedding_model_training_data_colab 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.
Model Details
Model Description
- Model Type: Sentence Transformer
- Base model: dbmdz/bert-base-turkish-uncased
- Maximum Sequence Length: 512 tokens
- Output Dimensionality: 768 dimensions
- Similarity Function: Cosine Similarity
- Training Dataset:
Model Sources
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
Full Model Architecture
SentenceTransformer(
(0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BertModel
(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})
)
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 SentenceTransformer
# Download from the 🤗 Hub
model = SentenceTransformer("trmteb/bert-base-turkish-uncased-cachedmnrl-contrastive-loss")
# Run inference
sentences = [
'S: İtalyanca bir cümle göz önüne alındığında, cümle üzerinde küçük değişiklikler yaparak yeni bir İtalyan cezası üretin.Burada, değişikliklerin anlamsal olarak ilişkili olduğundan ve girişe sözdizimsel olarak benzer olduğundan emin olun.Ve üretilen cümlenin yüksek sağduyulu mantıklılığı olması gerekir, yani bunun doğru olma olasılığı vardır.\nSiete entusiasti di scavare un Serpente Un Luogo Nascosto.\nA:',
'Verilen cümlede küçük değişiklikler yaparak yeni bir İtalyan cümle oluşturmak için şu adımları izleyeceğim:\n\nAdım 1: Orijinal cümlenin anlamını anlayın.\n"Siete entusiasti di scavare un Serpente Un Luogo Nascosto" "" Gizli bir yerde bir yılanı kazmaktan heyecan duyuyorsunuz. "Konunun (siz) gizli bir yerde bir yılanı kazma eylemi konusunda hevesli olduğunu ima eder.\n\nAdım 2: Cümledeki temel öğeleri tanımlayın.\nCümledeki temel unsurlar:\n- Konu: "Siete" (siz)\n- fiil: "çöpe" (kazmak için)\n- Nesne: "Un Serpente" (bir yılan)\n- Konum: "Un Luogo Nascosto\'da" (Gizli Bir Yerde)\n\nAdım 3: Anlamsal olarak ilgili değişikliklerle yeni bir cümle oluşturun.\nAnlamsal alaka düzeyini korumak için, genel anlamı sağlam tutarken orijinal cümlede küçük değişiklikler yapacağım.İşte yeni cümle:\n\n"Un Luogo Misterioso\'da Siete Entusiasti di Scoprire un Serpente."\nBu yeni cümle "Gizemli bir yerde bir yılan keşfetmekten heyecan duyuyorsunuz" anlamına geliyor.Keşif ve heyecan duygusunu korumak için "Scoprire" ile "Scoprire" (keşfetmek) ile değiştirdim.Ayrıca, gizlilik ve entrika fikrini korumak için "nascosto" (gizli) "Misterioso" olarak değiştirdim.\n\nAdım 4: Sözdizimsel benzerlik sağlayın.\nYeni cümle, orijinal cümle ile aynı sözdizimsel yapıyı, "siete" (siz), "scoprire" (keşfetmek için) fiili, "un serpente" (bir yılan) nesnesi ile korurLuogo Misterioso "(gizemli bir yerde).Bu, yeni cümlenin sözdizimsel olarak orijinaline benzer olmasını sağlar.\n\nAdım 5: Sağlıklı uygunluğu doğrulayın.\nÜretilen cümlenin makul bir gerçek olma olasılığı olmasını sağlamak için, tarif edilen senaryonun uygunluğunu göz önünde bulundurmamız gerekir.Gizemli bir yerde bir yılan keşfetmek yaygın olmasa da, olasılık alanı içindedir.Bu nedenle, üretilen cümlenin yüksek bir sağduyulu vardır.\n\nBu adımları izleyerek, anlamsal olarak ilişkili, sözdizimsel olarak benzer ve yüksek sağduyse sahip olma kriterlerini karşılayan yeni bir İtalyan cümle oluşturdum.',
'Mühendisler için ellerin iyice kurulanması şeklindeki ekstrem el yıkama tekniğini uygulayan, C++ ile yazılmış bazı örnek kodlar aşağıda verilmiştir:\n```c++\n#include <iostream>\nad alanı std\'sini kullanma;\n \nint ana() {\n //Kullanıcıdan adını girmesini isteyin\n cout << "Lütfen adınızı giriniz: ";\n dize adı;\n getline(cin, isim);\n \n // İsme göre kimin ellerini kurutması gerektiğini belirleyin\n bool needToDry = false;\n if (isim == "John") {\n needToDry = doğru;\n } else if (isim == "Jane") {\n needToDry = yanlış;\n } başka {\n // Gerektiğinde diğer adları burada işleyin\n while (doğru) {\n cout << "Geçersiz ad girildi. Lütfen tekrar deneyin: ";\n getline(cin, isim);\n \n if (isim == "John") {\n needToDry = doğru;\n kırmak;\n } else if (isim == "Jane") {\n needToDry = yanlış;\n kırmak;\n }\n }\n }\n \n // Sonucu göster\n if (needToDry) {\n cout << "Merhaba " + name + ". Görünüşe göre ellerinizi kurutmanız gerekiyor."\n << son\n << "En az 20 saniye fırçaladığınızdan emin olun, iyice durulayın"\n << "ve ardından bunları tamamen kurutmak için kağıt havlu kullanın." << endl;\n } başka {\n cout << "Merhaba " + name + ". Adınıza göre görünmüyor"\n << "işe dönmeden önce ellerinizi kurutmanız gerektiği gibi." \n << endl;\n }\n \n 0 değerini döndür;\n}\n\'\'\'\'\nBu kod, John\'un veya Jane\'in ellerini kurulaması gerekip gerekmediğini belirlemek için "if" ifadesini kullanır. Kullanıcının girdiği ad bu iki değerden biriyle eşleşirse karşılık gelen boole değeri buna göre ayarlanacaktır. Ancak, girilen ad tanınmazsa kod geri döner ve kullanıcıdan "John" veya "Jane" yazana kadar adını yeniden girmesini ister. \'While\' döngüsü, kullanıcının adını girerken yapmış olabileceği hataları düzeltme şansına sahip olmasını sağlar. Doğru ad girildiğinde, kullanıcıya ellerini kurulaması gerekip gerekmediğini bildiren uygun mesaj görüntülenir.',
]
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]
Evaluation
Metrics
Binary Classification
- Dataset:
dev
- Evaluated with
BinaryClassificationEvaluator
Metric | Value |
---|---|
cosine_accuracy | 1.0 |
cosine_accuracy_threshold | -0.1172 |
cosine_f1 | 1.0 |
cosine_f1_threshold | -0.1172 |
cosine_precision | 1.0 |
cosine_recall | 1.0 |
cosine_ap | 1.0 |
cosine_mcc | 0.0 |
Training Details
Training Dataset
cleaned_turkish_embedding_model_training_data_colab
- Dataset: cleaned_turkish_embedding_model_training_data_colab at d35bbe7
- Size: 32,523,072 training samples
- Columns:
anchor
andpositive
- Approximate statistics based on the first 1000 samples:
anchor positive type string string details - min: 6 tokens
- mean: 139.24 tokens
- max: 512 tokens
- min: 7 tokens
- mean: 234.7 tokens
- max: 512 tokens
- Samples:
anchor positive Yüksek Sosyal Medyayı Hesaplayan bir Julia komut dosyası pasajı oluşturun: Yeni Başlayanlar İçin Mühendis için Kullanıcı Etkileşimi. Bias'a dayalı olarak farklı eylemleri koşullu olarak gerçekleştirmek için if/else veya switch/case ifadelerini kullanın. Prova yapın ve ardından kontrol akışının ana hatlarını çizen ve farklı senaryoları nasıl ele aldığınıza dair yorumları ekleyin.
Burada, tespit edilen önyargının türüne bağlı olarak hangi eylemin gerçekleştirileceğini belirlemek için koşullu ifadeler (if...else) kullanarak yeni başlayan mühendisler için yüksek sosyal medya kullanıcı etkileşimini hesaplayan örnek bir Julia komut dosyası verilmiştir: ```julia kullanma CSV içe aktarma DataFrames # Giriş dosyası yolunu ve sütun adlarını tanımlayın input_file = "data.csv" sütunlar = ["post", "beğeniler", "retweetler", "yanıtlar"] # CSV dosyasındaki giriş verilerini DataFrame df =DataFrames'e okuyun. okunabilir(giriş_dosyası, sütunlar=sütunlar) # Beğenileri, retweetleri, yanıtları toplayarak toplam etkileşimleri hesaplayın etkileşimler = df[:, :likes] .+ df[:, :retweets] + df[:, :replies] # Şunun için eşikleri tanımlayın: düşük, orta ve yüksek düzeyde etkileşim low_threshold = 10 orta_threshold = 25 high_threshold = 40 # Olumlu yanıtların yüzdesini hesaplama işlevi function get_percentage(x) return round((count(y -> y == true, x)/length( x))*100; rakam=2) end # 1:size...
İşte bir hedef: Kamp ateşinde patlamış mısır yapmak. Bu hedefe ulaşmak için hangi yol daha mantıklıdır?
Kamp ateşinde patlamış mısır yapmanın farklı yolları vardır, ancak mantıklı olan yollardan biri patlamış mısır patlatıcısı kullanmaktır. Patlamış mısır patlatıcısı, patlamış mısır tanelerini patlarken karıştıracak bir mekanizmaya sahip, uzun saplı ve kapaklı özel bir tenceredir. Patlamış mısır patlatıcısını kullanmak için önce bir kamp ateşi yakarsınız ve ateşin sıcak kömürlere dönüşmesine izin verirsiniz. Daha sonra patlamış mısır patlatıcısını sıcak kömürlerin üzerine yerleştirip biraz yağ ve patlamış mısır taneleri eklersiniz. Daha sonra kapağı kapatıp sapı ateşin üzerinde tutarken, kolu çevirerek çekirdekleri karıştırırsınız. Çekirdekler patladıkça tencereyi dolduracak ve kamp ateşinizde taze patlamış mısırın tadını çıkarabilirsiniz! Bu yöntem mantıklıdır çünkü kamp ateşinde patlamış mısır yapmanın güvenli ve etkili bir yoludur ve patlamış mısırın eşit şekilde pişmesini ve yanmamasını sağlar.
Aşağıdaki soruyu cevaplayın: İşlem: - Bulaşık Makinesini açın - Alt rafı dışarı kaydırın - Kirli bir tabak alın - Tabağı durulayın - Tabağı rafa yerleştirin - Suyun tüm parçalara ulaşması için yeterli alan bırakarak tekrarlayın - Sabunu doldurun fincan - Bulaşık makinesini açın. Soru: Diyelim ki sadece birkaç eşya yerleştiriliyor, bulaşık makinesinin daha iyi temizlenmesine YARDIMCI olmayı nasıl etkileyecek? - A: daha fazla - B: daha az - C: etkisi yok Cevap:
C: etkisi yok Adım adım gerekçe: 1. Bulaşık makinesinin açılması: Bu, kirli bulaşıklara erişmek ve onları yerleştirmek için gereklidir. 2. Kaydırma alt raftan dışarı: Bu, kirli bulaşıkları yüklemek için kolay erişim sağlar. 3. Kirli bir tabağın alınması: Bulaşıkların temizlenmesi için bulaşık makinesine yerleştirilmesi gerekir. 4. Plakanın durulanması: Bu, bulaşık makinesine koymadan önce büyük yiyecek parçacıklarının temizlenmesine yardımcı olur. 5. Tabağın rafa yerleştirilmesi: Tabağın, bulaşık makinesinde temizlenmesi için rafa sabitlenmesi gerekir. 6. Suyun tüm eşyalara ulaşması için yeterli alan bırakarak bu adımların tekrarlanması: Tüm bulaşıkların düzgün bir şekilde yerleştirilmesini ve verimli bir şekilde temizlenmesi için su ve deterjan için yeterli alana sahip olmasını sağlar. 7. Sabun kabının doldurulması: Bulaşık makineleri, bulaşıkları etkili bir şekilde temizlemek için deterjana ihtiyaç duyar. 8. Bulaşık makinesinin çalıştırılması: Temizleme işleminin başlaması için bulaş...
- Loss:
CachedMultipleNegativesRankingLoss
with these parameters:{ "scale": 20.0, "similarity_fct": "cos_sim", "mini_batch_size": 128 }
Evaluation Dataset
cleaned_turkish_embedding_model_training_data_colab
- Dataset: cleaned_turkish_embedding_model_training_data_colab at d35bbe7
- Size: 1,697,434 evaluation samples
- Columns:
sentence1
,sentence2
, andlabel
- Approximate statistics based on the first 1000 samples:
sentence1 sentence2 label type string string int details - min: 7 tokens
- mean: 130.72 tokens
- max: 512 tokens
- min: 4 tokens
- mean: 209.28 tokens
- max: 512 tokens
- 1: 100.00%
- Samples:
sentence1 sentence2 label Ar-Ge ekibi personel sayısı planlayıcımız olan ve işe alım çabaları ve yönetim için kullanılan bir elektronik tablom var (FY22-23 Talepleri olarak adlandırılıyor). Kaynak bulma ekibini yönetiyorum ve ekibim için ayrı iş akışları/listeler/grafikler oluşturmak amacıyla bu konudaki bilgileri (bulunabilecek en güncel yer burası) kullanmak istiyorum, böylece doğru rolleri/becerileri önceliklendirebilir ve kaynak sağlayabiliriz. şimdi ve gelecekteki gelecek (ilerideki gelecekteki rolleri planlamamıza olanak tanıyacak). FY22-23 e-tablosu ihtiyacımız olan tüm verileri içeriyor. İlk önce verileri size verdiğim sütunlardan (size verdikten sonra) başka bir e-tabloya çekmek için formüller oluşturmama yardımcı olabilir misiniz? Daha sonra bu verileri oluşturmak için kullanabiliriz. bize yardımcı olacak küçük araçlar (örneğin, hem o an için hem de gelecekte ihtiyaç duyacağımız şeyler/yaklaşanlar için kaynak sağlamaya odaklanmamız gereken rolleri/becerileri vurgulayan kısa vadeli ve uzun vadeli bir ö...
Elbette, bu konuda size yardımcı olmaktan memnuniyet duyarım. Öncelikle verileri bir e-tablodan diğerine çekmek için formülleri nasıl kullanabileceğinizi açıklayayım. Bunu yapmak için Google E-Tablolar'daki "IMPORTRANGE" işlevini kullanabilirsiniz. Bu işlev, bir e-tablodan diğerine bir dizi hücreyi aktarmanıza olanak tanır. Bunu nasıl kullanabileceğinize dair bir örnek:
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/[spreadsheet-id]", "Sheet1!A1:C3")
In Bu örnekte, "[e-tablo kimliği]", verileri içe aktarmak istediğiniz e-tablonun benzersiz tanımlayıcısıdır ve "Sayfa1!A1:C3", içe aktarmak istediğiniz hücre aralığıdır. Farklı hücreleri veya farklı sayıda hücreyi içe aktarmak için bu aralığı ayarlayabilirsiniz. İkinci e-tablodaki verilere sahip olduğunuzda, bunu ihtiyacınız olan listeleri ve grafikleri oluşturmak için kullanabilirsiniz. Örneğin, ekibinizin kısa ve uzun vadede odaklanacağı en önemli rollerin ve becerilerin bir listesini oluşturmak için "SIRALAMA" ve "FİLTRE" ...1
S: Bir cümle verildiğinde, pek olası olmayan bir sonraki ifadeyi üretin. Bir sonraki ifade verilen bağlamla mantıksal olarak ilgili olmamalıdır. İnsanlar bir kanoda küreklerle kürek çekiyorlar. Adam A:
Adam aniden Shakespeare'in sonelerini mükemmel bir beşli ölçüyle okumaya başladı. Adım 1: Verilen bağlamı tanımlayın - insanlar bir kanoda küreklerle kürek çekiyorlar. Adım 2: Hiç beklenmedik bir sonraki ifadeyi oluşturun - Adam aniden Shakespeare'in sonelerini mükemmel bir beşli ölçüyle okumaya başladı. Adım 3: İfadeyi gerekçelendirin - Verilen bağlam kürekli bir kanoda kürek çeken insanlarla ilgilidir ve bu aktivite ile Shakespeare'in sonelerini okumak arasında mantıksal bir bağlantı yoktur. Bu nedenle, ifade olası değildir ve verilen bağlamla alakalı değildir.
1
Olağanüstü Diş hijyenini dönüştüren bir Go modülü pasajı oluşturun: Profesyoneller için Karar Vermede Diş Fırçalama. Güvenliğe dayalı olarak farklı durumları ele almak için if/else veya switch/case ifadelerini ekleyin. Yaklaşımınızı açıklayan yorumlarla kontrol akışınızın iyi bir şekilde belgelendiğinden emin olun.
İşte Golang'da bu işlevselliğin olası bir uygulaması:
go package main import ( "fmt" ) func transformExtremeDentalHygiene(input string) string { // Çıktıyı saklayacak değişkeni tanımla var çıktı dizisi // Hangisinin hangisi olduğunu belirlemek için switch case ifadesi giriş değerine bağlı olarak uygulanacak dönüşüm switch input { case "Dişleri günde iki kez fırçalayın": çıktı = fmt.Sprintf("Bu %v, plak gelişemeyeceğinden daha iyi diş sağlığına yol açar.", input) case "Günde bir kez diş ipi kullanın" ": Output = fmt.Sprintf("Bu %v, dişlerin arasındaki yiyecek parçacıklarını uzaklaştırarak çürüme riskini azaltır.", input) default: Output = fmt.Sprintf("%v aşırı bir durum olarak görülmese de yine de önemli", input) } return çıktı } func main() { input := "Günde bir kez diş ipi kullanın" result := transformExtremeDentalHygiene(input) fmt.Println(result) }
1
- Loss:
CachedMultipleNegativesRankingLoss
with these parameters:{ "scale": 20.0, "similarity_fct": "cos_sim", "mini_batch_size": 128 }
Training Hyperparameters
Non-Default Hyperparameters
eval_strategy
: stepsper_device_train_batch_size
: 32768per_device_eval_batch_size
: 32768learning_rate
: 3e-05num_train_epochs
: 1lr_scheduler_type
: cosine_with_restartswarmup_ratio
: 0.05bf16
: Truebatch_sampler
: no_duplicates
All Hyperparameters
Click to expand
overwrite_output_dir
: Falsedo_predict
: Falseeval_strategy
: stepsprediction_loss_only
: Trueper_device_train_batch_size
: 32768per_device_eval_batch_size
: 32768per_gpu_train_batch_size
: Noneper_gpu_eval_batch_size
: Nonegradient_accumulation_steps
: 1eval_accumulation_steps
: Nonetorch_empty_cache_steps
: Nonelearning_rate
: 3e-05weight_decay
: 0.0adam_beta1
: 0.9adam_beta2
: 0.999adam_epsilon
: 1e-08max_grad_norm
: 1.0num_train_epochs
: 1max_steps
: -1lr_scheduler_type
: cosine_with_restartslr_scheduler_kwargs
: {}warmup_ratio
: 0.05warmup_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
: 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
: 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}tp_size
: 0fsdp_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
: 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
Training Logs
Epoch | Step | Training Loss | Validation Loss | dev_cosine_ap |
---|---|---|---|---|
0.8157 | 810 | 1.7383 | - | - |
0.8258 | 820 | 1.7339 | - | - |
0.8359 | 830 | 1.7353 | - | - |
0.8459 | 840 | 1.7311 | - | - |
0.8560 | 850 | 1.7383 | - | - |
0.8661 | 860 | 1.7355 | - | - |
0.8761 | 870 | 1.7314 | - | - |
0.8862 | 880 | 1.7261 | - | - |
0.8963 | 890 | 1.7358 | - | - |
0.9063 | 900 | 1.7219 | 0.5177 | 1.0 |
0.9164 | 910 | 1.7281 | - | - |
0.9265 | 920 | 1.7357 | - | - |
0.9366 | 930 | 1.7271 | - | - |
0.9466 | 940 | 1.7305 | - | - |
0.9567 | 950 | 1.7279 | - | - |
0.9668 | 960 | 1.7203 | - | - |
0.9768 | 970 | 1.7309 | - | - |
0.9869 | 980 | 1.724 | - | - |
0.9970 | 990 | 1.3144 | - | - |
Framework Versions
- Python: 3.11.12
- Sentence Transformers: 4.1.0
- Transformers: 4.51.3
- PyTorch: 2.6.0+cu124
- Accelerate: 1.6.0
- Datasets: 3.6.0
- Tokenizers: 0.21.1
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",
}
CachedMultipleNegativesRankingLoss
@misc{gao2021scaling,
title={Scaling Deep Contrastive Learning Batch Size under Memory Limited Setup},
author={Luyu Gao and Yunyi Zhang and Jiawei Han and Jamie Callan},
year={2021},
eprint={2101.06983},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
- Downloads last month
- 1,465
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
🙋
Ask for provider support
Model tree for trmteb/turkish-embedding-model
Base model
dbmdz/bert-base-turkish-uncasedDataset used to train trmteb/turkish-embedding-model
Evaluation results
- Cosine Accuracy on devself-reported1.000
- Cosine Accuracy Threshold on devself-reported-0.117
- Cosine F1 on devself-reported1.000
- Cosine F1 Threshold on devself-reported-0.117
- Cosine Precision on devself-reported1.000
- Cosine Recall on devself-reported1.000
- Cosine Ap on devself-reported1.000
- Cosine Mcc on devself-reported0.000