Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 13
How to use amorfati/custom-hindi-emb-model with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("amorfati/custom-hindi-emb-model")
sentences = [
" Kuldeep Yadav : तो क्या बॉलीवुड एक्ट्रेस से शादी करने जा रहे वर्ल्ड चैंपियन कुलदीप यादव? बोले - जल्द ही खुशखबरी मिलेगी... ",
"Shagun Apsagun: पूजा में नारियल का खराब निकलना शुभ या अशुभ? जानें मिलने वाले संकेत",
"दोस्त की बहन पर आया दिल, प्यार में तोड़ीं धर्म की बेड़ियां, टीम इंडिया के दिग्गज की ऐसी थी लव स्टोरी",
"WhatsApp पर और भी ज्यादा स्मार्ट होगा Meta AI, एक इशारे पर कर देगा ये काम, चौंका देंगे फायदे"
]
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")
# Run inference
sentences = [
' बैंक ऑफ बड़ौदा ने कस्टमर्स को दिया झटका! इन लोगों की बढ़ेंगी मुश्किलें ',
'Hemant Soren: सीएम बनते ही हेमंत सोरेन के सिर पर फिर लटकी तलवार, जमानत रद्द करवाने के लिए सुप्रीम कोर्ट पहुंची ED',
'Karnataka: चुनाव जीतने के जश्न में खुलेआम बंटी शराब.. भाजपा ने इस नेता को पार्टी से कर दिया बेदखल',
]
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 |
|---|---|---|
UCO Bank: यूको बैंक में होने जा रही बंपर भर्तियों के लिए करें अप्लाई, इस दिन बंद हो रही आवेदन प्रक्रिया |
Law टेस्ट की कट-ऑफ कम कराने के लिए डाली याचिका, CJI ने दिया ऐसा जवाब, बोलेंगे-वाह! |
2 |
इन 5 लक्षणों के साथ आता है डेंगू का बुखार, घर पर इस तरह से पाएं राहत, प्लेटलेट्स भी नहीं होंगे कम |
Bengal Video: हाथ-पांव पकड़े, जमकर मारे डंडे, चिल्लाती रही महिला; TMC के गुंडों का फिर दिखा कहर |
2 |
क्या कल्कि 2898 एडी Robert Downey Jr की इस फिल्म की है कॉपी? डायरेक्टर ने बताया चौंकाने वाला सच |
IND vs ZIM : 8 छक्के 7 चौके... अभिषेक शर्मा के आगे बौने पड़ गए जिम्बाब्वे के गेंदबाज, ठोका तीसरा सबसे तेज शतक |
2 |
CoSENTLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "pairwise_cos_sim"
}
premise, hypothesis, and label| premise | hypothesis | label | |
|---|---|---|---|
| type | string | string | int |
| details |
|
|
|
| premise | hypothesis | label |
|---|---|---|
अरमान मलिक ने विशाल पांडे को मारा थप्पड़, Video हुआ वायरल; क्या अब यूट्यूबर हो जाएंगे BB हाउस से बाहर? |
खुद से आधी उम्र के हीरो संग इस भोजपुरी एक्ट्रेस ने किया कुछ ऐसा, वायरल हो गया गाने का Video; आए करोड़ों व्यूज |
1 |
अनुष्का शर्मा ने शेयर किया क्रिप्टिक पोस्ट तो इधर दिखे विराट कोहली, क्या सही में शिफ्ट हो गए लंदन? |
'ऐसी लड़की मिली आपको जो...', विक्की कौशल और कैटरीना कैफ की जोड़ी पर क्या बोल गए अनिल कपूर |
1 |
क्या Alien ने भेजे हैं सिग्नल? समझने के लिए वैज्ञानिकों ने लगाई ऐसी गणित |
एक भाई धरती पर था, जुड़वां अंतरिक्ष में...दोनों की बायोलॉजी में क्या अंतर दिखा? |
1 |
CoSENTLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "pairwise_cos_sim"
}
eval_strategy: stepsper_device_train_batch_size: 16per_device_eval_batch_size: 16learning_rate: 2e-05num_train_epochs: 10warmup_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: 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: 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: Falsebatch_sampler: batch_samplermulti_dataset_batch_sampler: proportional| Epoch | Step | Training Loss | loss |
|---|---|---|---|
| 1.0417 | 100 | 11.3102 | 0.0 |
| 2.0833 | 200 | 4.3476 | 0.0 |
| 3.125 | 300 | 4.2806 | 0.0 |
| 4.1667 | 400 | 4.2333 | 0.0 |
| 5.2083 | 500 | 4.1671 | 0.0 |
| 6.25 | 600 | 4.0698 | 0.0 |
| 7.2917 | 700 | 4.0096 | 0.0 |
| 8.3333 | 800 | 4.0257 | 0.0 |
| 9.375 | 900 | 4.0044 | 0.0 |
@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",
}
@online{kexuefm-8847,
title={CoSENT: A more efficient sentence vector scheme than Sentence-BERT},
author={Su Jianlin},
year={2022},
month={Jan},
url={https://kexue.fm/archives/8847},
}