Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 14
How to use Hgkang00/FT-label-aug-consent-10 with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("Hgkang00/FT-label-aug-consent-10")
sentences = [
"Frequent headaches and muscle soreness are a result of my insomnia.",
"My frequent headaches and muscle soreness are a direct result of my insomnia.",
"A manic episode often prevents me from sitting still or relaxing as I constantly need to be on the move.",
"The fear of being away from familiar places during a panic attack is why I have refused job opportunities with travel obligations."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from sentence-transformers/all-MiniLM-L6-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': 256, '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})
(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("Hgkang00/FT-label-aug-consent-10")
# Run inference
sentences = [
'Insomnia has led me to experience frequent headaches and muscle soreness.',
'My insomnia has caused me to experience frequent headaches and muscle soreness.',
'I struggle with distinguishing between reality and illusions when I feel detached from reality at times.',
]
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]
FT_label_augEmbeddingSimilarityEvaluator| Metric | Value |
|---|---|
| pearson_cosine | 0.4256 |
| spearman_cosine | 0.2325 |
| pearson_manhattan | 0.5095 |
| spearman_manhattan | 0.2319 |
| pearson_euclidean | 0.5154 |
| spearman_euclidean | 0.2325 |
| pearson_dot | 0.4256 |
| spearman_dot | 0.2325 |
| pearson_max | 0.5154 |
| spearman_max | 0.2325 |
sentence1, sentence2, and score| sentence1 | sentence2 | score | |
|---|---|---|---|
| type | string | string | float |
| details |
|
|
|
| sentence1 | sentence2 | score |
|---|---|---|
Presence of one or more of the following intrusion symptoms associated with the traumatic event: recurrent distressing memories, dreams, flashbacks, psychological distress, or physiological reactions to cues of the traumatic event. |
I avoid making phone calls, even to close friends or family, because I'm afraid of saying something wrong or sounding awkward. |
0.0 |
The phobic object or situation almost always provokes immediate fear or anxiety. |
I find it hard to stick to a consistent eating schedule, sometimes going days without feeling the need to eat at all. |
-1.0 |
The fear or anxiety is out of proportion to the actual danger posed by the specific object or situation and to the sociocultural context. |
I have difficulty going to places where I feel there are no immediate exits, such as cinemas or auditoriums, as the fear of being stuck or unable to escape escalates my anxiety. |
-1.0 |
CoSENTLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "pairwise_cos_sim"
}
sentence1, sentence2, and score| sentence1 | sentence2 | score | |
|---|---|---|---|
| type | string | string | float |
| details |
|
|
|
| sentence1 | sentence2 | score |
|---|---|---|
Excessive anxiety and worry occurring more days than not for at least 6 months, about a number of events or activities such as work or school performance. |
Simple activities like going for a walk or doing household chores feel like daunting tasks due to my low energy levels. |
-1.0 |
The individual fears acting in a way or showing anxiety symptoms that will be negatively evaluated, leading to humiliation, embarrassment, rejection, or offense to others. |
I often find myself mindlessly snacking throughout the day due to changes in my appetite. |
-1.0 |
Persistent avoidance of stimuli associated with the trauma, evidenced by avoiding distressing memories, thoughts, or feelings, or external reminders of the event. |
Simple activities like going for a walk or doing household chores feel like daunting tasks due to my low energy levels. |
-1.0 |
CoSENTLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "pairwise_cos_sim"
}
eval_strategy: epochper_device_train_batch_size: 256per_device_eval_batch_size: 128num_train_epochs: 10warmup_ratio: 0.1batch_sampler: no_duplicatesoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: epochprediction_loss_only: Trueper_device_train_batch_size: 256per_device_eval_batch_size: 128per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonelearning_rate: 5e-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: no_duplicatesmulti_dataset_batch_sampler: proportional| Epoch | Step | Training Loss | loss | FT_label_aug_spearman_cosine |
|---|---|---|---|---|
| 1.0 | 523 | 7.773 | - | - |
| 2.0 | 1046 | 0.0004 | - | - |
| 2.9828 | 1560 | - | 11.8818 | 0.2184 |
| 1.0172 | 1569 | 0.1169 | - | - |
| 2.0172 | 2092 | 5.4076 | - | - |
| 3.0172 | 2615 | 0.0002 | - | - |
| 3.9828 | 3120 | - | 11.8669 | 0.2054 |
| 2.0344 | 3138 | 0.1571 | - | - |
| 3.0344 | 3661 | 4.0179 | - | - |
| 4.0344 | 4184 | 0.0001 | - | - |
| 4.9828 | 4680 | - | 12.8814 | 0.2291 |
| 3.0516 | 4707 | 0.1592 | - | - |
| 4.0516 | 5230 | 2.835 | 13.5336 | 0.2325 |
@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},
}
Base model
nreimers/MiniLM-L6-H384-uncased