Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 18
How to use YKYSpatz/ragproject_ver2 with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("YKYSpatz/ragproject_ver2")
sentences = [
"Is this a clean medical document?",
"2(3):173,t2001 Azim HA Jr, Azim H, Peccatori FA: Treatment of cancer during pregnancy with monoclonal antibodies: a real challenge. Expert Rev Clin Immunol 6(6):821,t2010 zim HA Jr, Partridge AH: Biology of breast cancer in young women. Breast Cancer Res 16(4):427,t2014 Bannister-Tyrell M, Roberts CL, Hasovits C, et al: Incidence and outcomes of pregnancy-associated melanoma in New South Wales 1994-2008. Aust N Z J Obstet Gynaecol 55(2):116, 2015 Barnes MN, Barrett JC, Kimberlin OF, et al:",
"Clin Exp Rheumatol 2002;20:201. Olsen AMS et al: Association of NSAID use with risk of bleeding and cardiovascular events in patients receiving antithrombotic therapy after myocardial infarction. JAMA 2015;313:805. Ray WA et al: COX-2 selective non-steroidal anti-inflammatory drugs and risk of serious coronary heart disease. Lancet 2002;360:1071. Rovensky J et al: Treatment of knee osteoarthritis with a topical nonsteroidal anti-inflammatory drug. Results of a randomized, double-blind,",
"lower extremities, are compatible with brain death.Confirmatory Studies Confirmatory studies are performed after a documented clinical examination consistent with brain death. A study consistent with brain death may obviate the need to wait 12 hours for a second examination. This is especially important when the patient is a potential organ donor, as brain-dead patients often have progressive hemodynamic instability. Lack of cerebral blood flow consistent with brain death may be documented by"
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from YKYSpatz/ragproject. 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': 512, 'do_lower_case': True}) with Transformer model: BertModel
(1): Pooling({'word_embedding_dimension': 384, 'pooling_mode_cls_token': True, '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': 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 = [
'Is this a clean medical document?',
'specific examples of protein tethering, see Figure 3–54 and Figure 16–18; for scaffold RNA molecules, see Figure 7–49B.) a few of the modifying groups with known regulatory roles. As in phosphate and ubiquitin additions described previously, these groups are added and then removed from proteins according to the needs of the cell. A large number of proteins are now known to be modified on more than one amino acid side chain, with different regulatory events producing a different pattern of such',
'latent period between injury and onset of neurologic sequelae, diagnostic imaging is performed based on identified risk factors (Fig. 7-55).92 After identification of an injury, antithrombotics are administered if the patient does not have contraindications (intra-cranial hemorrhage, falling hemoglobin level with solid organ injury or complex pelvic fractures). Heparin, started without a loading dose at 15 units/kg per hour, is titrated to achieve a PTT between 40 and 50 seconds or antiplatelet',
]
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]
sentence_0, sentence_1, and label| sentence_0 | sentence_1 | label | |
|---|---|---|---|
| type | string | string | int |
| details |
|
|
|
| sentence_0 | sentence_1 | label |
|---|---|---|
Is this a clean medical document? |
Postsynaptic potentials and action potential generation. A shows the voltage recorded upon entry of a micro-electrode into a postsynaptic cell and subsequent recording of a resting membrane potential of −60 mV. Stimulation of an excitatory pathway (E1, left) generates transient depolarization called an excitatory postsynaptic potential (EPSP). Simultaneous activation of multiple excitatory synapses (E1 + E2, middle) increases the size of the depolarization, so that the threshold for action |
1 |
Is this a clean medical document? |
the dysarthrias being considered in this section. Also, in many cases of partially recovered Broca aphasia and in the “mini-Broca” syndrome, the patient is left with a dysarthria that may be difficult to distinguish from a pure articulatory defect. Careful testing of other language functions, especially writing reveals the aphasic aspect of the defect. A severe dysarthria that is difficult to classify, but resembles that of cerebellar disease, may occur with a left hemiplegia, usually the |
1 |
Is this a clean medical document? |
al: faternal obesity, length of gestation, risk of postdates pregnancy and spontaneous onset of labour at term. B JOG 115:720,t2008 Dixon JB: Obesity in 2015: advances in managing obesity. Nat Rev Endocrinol 12:65,t2016 Dixon JB, Dixon ME, O'Brien PE: Birth outcomes in obese women after laparoscopic adjustable gastric banding. Obstet Gynecol lO6:965, 2005 Ducarme G, Parisio L, Santulli P, et al: Neonatal outcomes in pregnancies after bariatric surgery: a retrospective multi-centric cohort |
1 |
SoftmaxLossper_device_train_batch_size: 32per_device_eval_batch_size: 32num_train_epochs: 2multi_dataset_batch_sampler: round_robinoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: noprediction_loss_only: Trueper_device_train_batch_size: 32per_device_eval_batch_size: 32per_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: 2max_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: 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: Nonehub_always_push: Falsegradient_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: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseeval_use_gather_object: Falseaverage_tokens_across_devices: Falseprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: round_robin@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",
}