Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 13
How to use amorfati/custom-hindi-emb-model-contrastive with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("amorfati/custom-hindi-emb-model-contrastive")
sentences = [
" हैरतअंगेज... अद्भुत, नामुमकिन के बराबर है क्रिकेट की दुनिया के इन 6 वर्ल्ड रिकॉर्ड्स को तोड़ना ",
"हैरतअंगेज... अद्भुत, नामुमकिन के बराबर है क्रिकेट की दुनिया के इन 6 वर्ल्ड रिकॉर्ड्स को तोड़ना",
"Gajendra Singh Shekhawat: 53 की उम्र में गजेंद्र सिंह शेखावत का दिखा अनोखा जज्बा, 12 हजार मीटर की ऊंचाई से लगाई छलांग",
"ब्रह्मांड की शुरुआत में प्रकाश कहां से आया? क्या भगवान ने स्विच दबाया? विज्ञान ने खोला राज"
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2. It maps sentences & paragraphs to a 384-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': 128, 'do_lower_case': False}) with Transformer model: BertModel
(1): Pooling({'word_embedding_dimension': 384, '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("amorfati/custom-hindi-emb-model-contrastive")
# Run inference
sentences = [
' Team India : पूरा भरोसा हम चैंपियन बनेंगे... अब चैंपियंस ट्रॉफी और WTC की बारी, जय शाह का बड़ा बयान; कौन होगा कप्तान? ',
'Team India : कौन होगा टीम इंडिया का नया बॉलिंग कोच? विनय कुमार नहीं! इस वर्ल्ड कप विनर की खुल सकती है किस्मत',
'Samsung Galaxy Ring हुई लॉन्च, 9 साइज और 3 कलर ऑप्शन में मिलेगी, जानें फीचर्स',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
premise, hypothesis, and label| premise | hypothesis | label | |
|---|---|---|---|
| type | string | string | int |
| details |
|
|
|
| premise | hypothesis | label |
|---|---|---|
पति से छिपकर पत्नी का करना चाहिए ये काम, सुधा मूर्ति की ये बात संवार देगी आपकी शादी |
Bangladeshi Hindus: 'हिंदू बन गए हैं आसान टारेगट' - ढाका में हमलों के बाद बांग्लादेशी हिंदू ने बताया देश का 'काला सच' |
0 |
फर्जी कॉल, SMS से लेकर WhatsApp मैसेज तक, Chakshu पोर्टल पर करें हर फ्रॉड की शिकायत, होगी कार्रवाई |
विदेशी Trucks में ड्राइवर को सिर्फ AC ही नहीं बल्कि, मिलती हैं ये लग्जरी सुविधाएं |
0 |
GK Quiz: कौन सा जीव है जिसे अपनी मौत आने से पहले उसे पता चल जाता है? |
Indian Army Recruitment 2024: इंडियन आर्मी में निकली डायरेक्ट भर्ती, हवलदार समेत इन पदों पर मिलेगी नौकरी |
0 |
ContrastiveLoss with these parameters:{
"distance_metric": "SiameseDistanceMetric.COSINE_DISTANCE",
"margin": 0.5,
"size_average": true
}
premise, hypothesis, and label| premise | hypothesis | label | |
|---|---|---|---|
| type | string | string | int |
| details |
|
|
|
| premise | hypothesis | label |
|---|---|---|
Vastu Tips: घर के मुख्य दरवाजे पर ये एक चीज लटकाने से दौड़ी आएंगी मां लक्ष्मी, पैसों की तंगी से मिलेगा छुटकारा |
Vastu Tips: घर के मुख्य दरवाजे पर ये एक चीज लटकाने से दौड़ी आएंगी मां लक्ष्मी, पैसों की तंगी से मिलेगा छुटकारा |
1 |
CLAT 2025: कल से शुरू हो रही रजिस्ट्रेशन प्रक्रिया, अप्लाई करने के लिए क्या योग्यता चाहिए; क्या होगा एग्जाम पैटर्न और कितनी होगी फीस जानें |
CLAT 2025: कल से शुरू हो रही रजिस्ट्रेशन प्रक्रिया, अप्लाई करने के लिए क्या योग्यता चाहिए; क्या होगा एग्जाम पैटर्न और कितनी होगी फीस जानें |
1 |
XAT 2025: 15 जुलाई से शुरू होंगे रजिस्ट्रेशन, जानें कैसे भरें एप्लिकेशन फॉर्म |
XAT 2025: 15 जुलाई से शुरू होंगे रजिस्ट्रेशन, जानें कैसे भरें एप्लिकेशन फॉर्म |
1 |
ContrastiveLoss with these parameters:{
"distance_metric": "SiameseDistanceMetric.COSINE_DISTANCE",
"margin": 0.5,
"size_average": true
}
eval_strategy: stepsper_device_train_batch_size: 16per_device_eval_batch_size: 16learning_rate: 2e-05num_train_epochs: 20warmup_ratio: 0.1overwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_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: Nonelearning_rate: 2e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 20max_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: 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: Falsehub_always_push: Falsegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseeval_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: Falsebatch_sampler: batch_samplermulti_dataset_batch_sampler: proportional| Epoch | Step | Training Loss | loss |
|---|---|---|---|
| 0.8850 | 100 | 0.0056 | 0.0052 |
| 1.7699 | 200 | 0.0028 | 0.0037 |
| 2.6549 | 300 | 0.0019 | 0.0034 |
| 3.5398 | 400 | 0.0014 | 0.0039 |
| 4.4248 | 500 | 0.0011 | 0.0039 |
| 5.3097 | 600 | 0.0005 | 0.0033 |
| 6.1947 | 700 | 0.0005 | 0.0031 |
| 7.0796 | 800 | 0.0004 | 0.0032 |
| 7.9646 | 900 | 0.0004 | 0.0031 |
| 8.8496 | 1000 | 0.0004 | 0.0028 |
| 9.7345 | 1100 | 0.0003 | 0.0029 |
| 10.6195 | 1200 | 0.0004 | 0.0029 |
| 11.5044 | 1300 | 0.0003 | 0.0028 |
| 12.3894 | 1400 | 0.0002 | 0.0029 |
| 13.2743 | 1500 | 0.0003 | 0.0028 |
| 14.1593 | 1600 | 0.0002 | 0.0027 |
| 15.0442 | 1700 | 0.0003 | 0.0028 |
| 15.9292 | 1800 | 0.0003 | 0.0027 |
| 16.8142 | 1900 | 0.0003 | 0.0027 |
| 17.6991 | 2000 | 0.0002 | 0.0028 |
| 18.5841 | 2100 | 0.0002 | 0.0027 |
| 19.4690 | 2200 | 0.0003 | 0.0026 |
@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",
}
@inproceedings{hadsell2006dimensionality,
author={Hadsell, R. and Chopra, S. and LeCun, Y.},
booktitle={2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'06)},
title={Dimensionality Reduction by Learning an Invariant Mapping},
year={2006},
volume={2},
number={},
pages={1735-1742},
doi={10.1109/CVPR.2006.100}
}