Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 15
How to use ChenyuEcho/hospital_emaillevel_oldtrainmethod with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("ChenyuEcho/hospital_emaillevel_oldtrainmethod")
sentences = [
"Hendricks case: confidential incident details discussed with OR staff outside the formal investigation process",
"Subject: Concerns Regarding Recent Dietary Services Menu Change\nFrom: Laura A. Hughes\nTo: Elizabeth M. Turner\nDate: 2026-01-16\n\nHello Elizabeth,\n\nI am reaching out to bring to your attention several patient concerns that have arisen following the recent dietary services menu change implemented last week. Multiple patients and their families have noted a lack of clarity regarding allergen labeling and have expressed confusion about the new meal selections. In light of our patient safety protocols, I recommend we conduct a rapid review of current menu documentation and consider a focused staff in-service to address labeling accuracy and communication with patients. Please let me know if you require detailed feedback reports or would like to coordinate a joint review meeting to address these issues collectively.\n\nBest regards,\nLaura A. Hughes",
"Subject: Patient Safety Week Activities: Join Us in Fostering a Culture of Safety\nFrom: Diane L. Cooper\nTo: All Hospital Staff\nDate: 2025-10-12\n\nDear St. Catherine's Team,\n\nAs we approach National Patient Safety Week, I am pleased to invite all staff to participate in a series of activities dedicated to reinforcing our shared commitment to patient safety and quality care. Throughout the week, we will host educational workshops, interactive safety simulations, and informative sessions led by our hospital's clinical risk management team. These events are designed not only to enhance our understanding of best practices but also to empower every one of us in proactively promoting a safe hospital environment.\n\nPatient safety remains at the heart of our mission, and your engagement is instrumental in upholding our standards. I encourage everyone to review the attached schedule and make time to participate in as many sessions as possible. Together, let’s continue to cultivate transparency, learning, and collaboration across all departments.\n\nShould you have any questions regarding the activities or wish to suggest additional topics, please do not hesitate to reach out to me directly.\n\nThank you for your dedication to excellence and patient care.\n\nBest regards,\nDiane L. Cooper\nDirector, Employee Relations\nSt. Catherine's Regional Hospital",
"Subject: Required Meeting: Performance and Policy Compliance\nFrom: Patricia M. Vasquez\nTo: Sarah J. Morrison\nDate: 2025-09-17\n\nDear Sarah,\n\nThank you for your prompt reply and for confirming your attendance at the meeting. To address your request for clarification, we have received reports that you have been discussing confidential incident details related to the Hendricks case with OR staff members outside the formal investigation process. Additionally, it has been noted that your characterization of events in those discussions has been inconsistent with your formal statements submitted to patient safety and risk management.\n\nGiven the seriousness of these concerns, we will discuss them in detail during our meeting on Thursday. I urge you to consider carefully how you want to proceed with your employment here and to review any relevant documentation in advance. If you have further questions, please let me know.\n\nRegards,\nPatricia M. Vasquez\nRisk Management Director"
]
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 is the proposed date/time for a meeting with Maintenance to review findings and strategize a remediation plan for OR wing HVAC fluctuations affecting post-op mobility protocols?",
]
documents = [
'Subject: HVAC System Issues Impacting OR Wing: Request for Collaborative Solution\nFrom: Dr. Susan L. Chang\nTo: Brian K. Lee\nDate: 2025-10-20\n\nHi Brian,\n\nThank you for raising this concern regarding the HVAC fluctuations in the OR wing. My team has indeed noticed some difficulties in maintaining prescribed post-operative mobility protocols due to variable temperatures, which can discourage early patient movement and affect our recovery benchmarks. I agree that partnering with Maintenance for timely remediation is essential; I can share specific observations from our unit that might help guide targeted improvements in the HVAC settings or scheduling.\n\nLet me know when would be best to meet with you and Maintenance so we can review findings and strategize a plan. Thanks again for the proactive outreach.\n\nBest,\nSusan',
"Subject: Payment Posting Discrepancy – Assistance Needed with Discharge Billing\nFrom: Isaiah T. Jackson\nTo: Taylor A. Richardson\nDate: 2025-10-30\n\nHi Taylor,\n\nThanks for bringing this to my attention. I've pulled the discharge plan and placement records and will cross-reference them with the insurance authorization to verify alignment. Once I have more clarity, I’ll coordinate with you and finance as needed to resolve any discrepancies—please hold off on correction for now. If I require any additional documentation, I’ll let you know.\n\nBest,\nIsaiah",
"Subject: Request for Conference Call Number\nFrom: Carol A. Campbell\nTo: Melissa K. King\nDate: 2025-10-27\n\nHi Melissa,\n\nI hope you're doing well. I am reaching out to request the conference call number for our upcoming credentialing review meeting scheduled later this week. Having the dial-in details ahead of time will help me circulate the information to all committee members and ensure we are fully prepared to discuss the physician files on the agenda. Please let me know at your earliest convenience if there are any specific protocols or security codes required for access.\n\nThank you very much for your assistance.\n\nBest regards,\nCarol",
]
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.7461, 0.0432, 0.0610]], dtype=torch.bfloat16)
val_evaluationInformationRetrievalEvaluator| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.8948 |
| cosine_accuracy@3 | 0.9583 |
| cosine_accuracy@5 | 0.98 |
| cosine_accuracy@10 | 1.0 |
| cosine_precision@1 | 0.8948 |
| cosine_precision@3 | 0.3194 |
| cosine_precision@5 | 0.196 |
| cosine_precision@10 | 0.1 |
| cosine_recall@1 | 0.8948 |
| cosine_recall@3 | 0.9583 |
| cosine_recall@5 | 0.98 |
| cosine_recall@10 | 1.0 |
| cosine_ndcg@10 | 0.9472 |
| cosine_mrr@10 | 0.9302 |
| cosine_map@100 | 0.9302 |
sentence_0 and sentence_1| sentence_0 | sentence_1 | |
|---|---|---|
| type | string | string |
| details |
|
|
| sentence_0 | sentence_1 |
|---|---|
What are the routine badge access needs for the phlebotomy team under the updated infection control protocol to prevent access-related delays in the patient observation wing? |
Subject: Request for Assistance: Infection Control Protocol Update Impacting Phlebotomy Access |
Are there any specific legal/compliance issues to be addressed during the Emergency Preparedness Drill? |
Subject: Re: Upcoming Hospital-wide Emergency Preparedness Drill – Participation Required |
Quem é o responsável por fornecer o relatório de ultrassom de Miguel Silva para desbloquear a baixa de dívida incobrável? |
Subject: Solicitação de apoio: aprovação de baixa de dívidas incobráveis |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim",
"gather_across_devices": false
}
multi_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: 3max_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 | 300 | - | 0.9461 |
| 1.6667 | 500 | 0.0168 | - |
| 2.0 | 600 | - | 0.9459 |
| 3.0 | 900 | - | 0.9472 |
@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}
}