Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 15
How to use arafamustafa/gte-small-similarity with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("arafamustafa/gte-small-similarity")
sentences = [
"Using this advanced technology, we will be able to gain transparency in our elections, without compromising the privacy of voters, and we have a way to accurately demonstrate the mathematical results of elections. Also, at the request of the voter, there will be a way to allow the voter to vote online in the election and follow his vote in the ballot box to ensure that his vote is stored safely and safely without changing or changing it in any way.",
"Using this advanced technology, we will be able to gain transparency in our elections, without compromising the privacy of voters, and we have a way to accurately demonstrate the mathematical results of elections. Also, at the request of the voter, there will be a way to allow the voter to vote online in the election and follow his vote in the ballot box to ensure that his vote is stored safely and safely without changing or changing it in any way.",
"we decided to make a platform, Pharmacies can be far away from your place. After noticing all these problems we made a survey to found a solution for this problem, Health is considering as the important thing in our lives, we find the solution must be the processions of the technology era, like some is not always available, can solve these problems in the side of, we found most of people suffer from a large number of problem include problems that presented previously, we have noticed that there are many problems in medicine field, the prices change from place to another",
"determine the type of project as it was a construction project or an architectural project or sewage project After specifying the name, Enter the name of the project, The platform helps the user to find the appropriate map that he is looking for, type of project He will show him the map of the building as he wants to see it."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from thenlper/gte-small. 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, 'architecture': '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})
(2): Normalize()
)
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 = [
'Medical Plus application is an web based application that provides the patients with speed time to find the best clinics and doctors, such as find the nearest clinic, search for best doctors, find all specialists, get latest news about new doctors and illness, ticket prices, ask for something you want to know about your illness and find new information from specific doctor.',
'get latest news about new doctors, such as find the nearest clinic, search for best doctors, ask for something you want to know about your illness, doctors, illness, find new information from specific doctor., ticket prices, find all specialists, Medical Plus application is an web based application that provides the patients with speed time to find the best clinics',
'he system provides online information of blood bank and administrators can also all information about Blood bank, donor, patient request and blood requirements.The Target of the application is to make the donation process more easily, spread awareness about this process, the way to deal with it.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[1.0000, 0.8653, 0.3511],
# [0.8653, 1.0000, 0.2667],
# [0.3511, 0.2667, 1.0000]])
sentence_0, sentence_1, and label| sentence_0 | sentence_1 | label | |
|---|---|---|---|
| type | string | string | float |
| details |
|
|
|
| sentence_0 | sentence_1 | label |
|---|---|---|
And we dedicated that one of the most dangerous problem, that the patient not get the right Medicine for his conditions because of commercial and capitalism polices of the Medicine industry factories and Supply and demand policy of the doctors. |
demand policy of the doctors., that the patient not get the right Medicine for his conditions because of commercial, we dedicated that one of the most dangerous problem, Supply, capitalism polices of the Medicine industry factories |
0.6 |
providing information about companies,chat online,providing different works,payment system |
providing information about companies, providing, chat online |
0.6 |
Using this advanced technology, we will be able to gain transparency in our elections, without compromising the privacy of voters, and we have a way to accurately demonstrate the mathematical results of elections. Also, at the request of the voter, there will be a way to allow the voter to vote online in the election and follow his vote in the ballot box to ensure that his vote is stored safely and safely without changing or changing it in any way. |
at the request of the voter, with this advanced technology, without compromising the privacy of voters, we have a way to accurately demonstrate the mathematical results of elections. Also, there will be a way to allow the, we will be able to gain transparency in our elections |
0.6 |
CosineSimilarityLoss with these parameters:{
"loss_fct": "torch.nn.modules.loss.MSELoss"
}
multi_dataset_batch_sampler: round_robinoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: noprediction_loss_only: Trueper_device_train_batch_size: 8per_device_eval_batch_size: 8per_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: 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}parallelism_config: Nonedeepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torch_fusedoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthproject: huggingfacetrackio_space_id: trackioddp_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: Falsehub_revision: Nonegradient_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: noneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseliger_kernel_config: Noneeval_use_gather_object: Falseaverage_tokens_across_devices: Trueprompts: 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",
}
Base model
thenlper/gte-small