Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 15
How to use ChenyuEcho/hospital_qapairs_modinmod_oldtrainmethod with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("ChenyuEcho/hospital_qapairs_modinmod_oldtrainmethod")
sentences = [
"Qual é o problema reportado por Brian K. Lee ao suporte de TI?",
"Delays in initiating palliative care consults in the acute care unit and a request to review and streamline the referral triggers/protocol.",
"Teclas aderentes no teclado dificultam a digitação dos dados dos pacientes críticos nos sistemas de ventilação e monitoramento, com urgência para evitar atrasos nos protocolos de oxigenoterapia.",
"Cefepime injectable is in short supply. The thread proposes revising the administration plan, considering alternative antibiotics, informing frontline nurses, and coordinating with Pharmacy Services."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from Qwen/Qwen3-Embedding-0.6B. It maps sentences & paragraphs to a 1024-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': 768, 'do_lower_case': False, 'architecture': 'PeftModelForFeatureExtraction'})
(1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': False, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': True, '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
queries = [
"What issue did Internal Medicine Resident Priya Gupta raise to Revenue Cycle Manager Andrew Bennett on 2025-09-08, and what outcome did she hope to achieve?",
]
documents = [
'She flagged delays in critical lab value reporting that were delaying coding and reimbursement for inpatient cases, and she sought workflow improvements to tighten the reporting/documentation loop to reduce denials.',
'Dr. Foster notes Gadovist was removed from the formulary, potentially reducing MRI diagnostic sensitivity for patients with renal impairment, and asks Mia to consult Pharmacy for approved alternatives with the same sensitivity; Mia has contacted Pharmacy and will relay a formal reply and expedite any viable replacement.',
'Ela pediu apoio para redistribuição da equipe para manter a cobertura adequada até a chegada dos materiais, oferecendo relatórios de inventário detalhados se necessário.',
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# [1, 1024] [3, 1024]
# Get the similarity scores for the embeddings
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[0.4609, 0.0530, 0.0452]], dtype=torch.bfloat16)
val_evaluationInformationRetrievalEvaluator| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.74 |
| cosine_accuracy@3 | 0.885 |
| cosine_accuracy@5 | 0.905 |
| cosine_accuracy@10 | 0.945 |
| cosine_precision@1 | 0.74 |
| cosine_precision@3 | 0.295 |
| cosine_precision@5 | 0.181 |
| cosine_precision@10 | 0.0945 |
| cosine_recall@1 | 0.74 |
| cosine_recall@3 | 0.885 |
| cosine_recall@5 | 0.905 |
| cosine_recall@10 | 0.945 |
| cosine_ndcg@10 | 0.8445 |
| cosine_mrr@10 | 0.8121 |
| cosine_map@100 | 0.815 |
sentence_0 and sentence_1| sentence_0 | sentence_1 | |
|---|---|---|
| type | string | string |
| details |
|
|
| sentence_0 | sentence_1 |
|---|---|
What did David R. Park request from Inspector Jacobs about the June 14 post-operative care documentation? |
He asked whether additional information is needed or if they should discuss the ambiguities in the charting to ensure regulatory compliance. |
What is the date/time window of the email thread? |
The thread spans 2025-09-30T15:18:00 to 2025-10-01T15:58:00. |
What legal mechanism is proposed to shield internal discussions from discovery in the Hendricks incident, and who proposes convening a peer review committee at St. Catherine's Regional Hospital? |
The mechanism is the peer review privilege under Virginia law to shield quality improvement discussions; it is proposed by David R. Park, General Counsel of St. Catherine's Regional Hospital. |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim",
"gather_across_devices": false
}
num_train_epochs: 10multi_dataset_batch_sampler: round_robindo_predict: Falseeval_strategy: noprediction_loss_only: Trueper_device_train_batch_size: 8per_device_eval_batch_size: 8gradient_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: 10max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_ratio: Nonewarmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Trueenable_jit_checkpoint: Falsesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseuse_cpu: Falseseed: 42data_seed: Nonebf16: Falsefp16: Falsebf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: -1ddp_backend: Nonedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonedisable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Falseignore_data_skip: Falsefsdp: []fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}accelerator_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: Nonegroup_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: Truepush_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_for_metrics: []eval_do_concat_batches: Trueauto_find_batch_size: Falsefull_determinism: Falseddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneinclude_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: Trueuse_cache: Falseprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: round_robinrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss | val_evaluation_cosine_ndcg@10 |
|---|---|---|---|
| 1.0 | 100 | - | 0.7504 |
| 2.0 | 200 | - | 0.8245 |
| 3.0 | 300 | - | 0.8409 |
| 4.0 | 400 | - | 0.8463 |
| 5.0 | 500 | 0.1598 | 0.8483 |
| 6.0 | 600 | - | 0.8376 |
| 7.0 | 700 | - | 0.8455 |
| 8.0 | 800 | - | 0.8394 |
| 9.0 | 900 | - | 0.8415 |
| 10.0 | 1000 | 0.0258 | 0.8445 |
@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",
}
@misc{henderson2017efficient,
title={Efficient Natural Language Response Suggestion for Smart Reply},
author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
year={2017},
eprint={1705.00652},
archivePrefix={arXiv},
primaryClass={cs.CL}
}