Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 17
How to use HoshinoSSR/m3e_doctor with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("HoshinoSSR/m3e_doctor")
sentences = [
"痔疮外痔请问真么办吃什么药",
"初步考虑你是否有腰肌劳损或是腰间盘的突出等,这些疾病都可以引起的腰部臀部的不适,或是牵扯到大腿部位。建议你到医院做个全面的检查,比如做个腰部的CT,MRI,看看有无腰肌的损伤或是看看有无椎间盘的突出,导致神经的压迫压迫等,明确诊断,积极治疗,止疼。还可以做个电解质的检查,看看有无缺钙等",
"可尝试使用内塞栓剂和口服片剂联合用药的方案,如麝香痔疮栓加痔炎消片。而对于肿痛症状明显者,可在上述用药之前,先进行局部熏洗,可减轻肛门肿胀症状、缓解疼痛。应用较多的是,金玄痔科熏洗散。必要时再考虑手术治疗。无论是手术,还是药物,痔疮都不能彻底治愈。因此,通过治疗痔疮症状消除后,在生活习惯上也要有改变,尽量少熬夜,吃辛辣上火食物的次数尽量少点。如果原来不太爱吃水果,现在就要强迫自己多吃水果,因为水果对便秘的预防和消除都非常好,而痔疮的导火线很可能是便秘。",
"这个一般在一年左右时间,希望我的回答能帮到你。"
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model trained. It maps sentences & paragraphs to a 768-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': False}) with Transformer model: BertModel
(1): Pooling({'word_embedding_dimension': 768, '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})
)
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 = [
'最近蹲下一会在起身时,会感觉头很晕,眼前还发黑,过一段时间就好了。这是怎么回事?以前我也经常起蹲,都没这种反应~~・',
'根据你的描述你应该是有点直立性低血压,最根本的原因还是血虚导致的建议你用补血的中药治疗,可以用四物汤治疗,另外你平时注意加强营养,多吃大枣,枸杞',
'你做唐筛有一项高风险只能说明宝宝患先天性愚型的可能性大一点,但不知确诊就一定会有先天性愚型的。你若想确诊需要做羊水穿刺检查或无创DNA检查来确诊,定期做产前检查,保持心情愉悦,多喝水,多吃蔬菜水果,尽量不要吃辛辣刺激性食品及生冷食品。',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
sentence_0 and sentence_1| sentence_0 | sentence_1 | |
|---|---|---|
| type | string | string |
| details |
|
|
| sentence_0 | sentence_1 |
|---|---|
怎么计算怀孕天数11月8号身上来的12月19号检查经医生说怀孕42天42天是正确的吗 |
一般计算怀孕时间都是从末次月经的第一天算起。所以,考虑你应该是怀孕在42天左右。 |
头皮红红很痒头皮红红的一片很痒刚洗完头头皮是红的可过了一会儿红的那一片慢慢的被成头皮屑然后很痒经常掉头发什么原因要用什么药才可以治好 |
脂溢性皮炎是一种好发于皮脂溢出部位的慢性皮炎。口服B族维生素,抗组胺类药物,外用硫磺、抗真菌及皮质类固醇激素制剂。 |
用溴隐亭半年泌乳素正常但是月经还是很少(3年了吃药后也毫无改观)服用溴隐亭半年泌乳素正常但是月经还是很少(3年了吃药后也毫无改观)无排卵期请问伽马刀治疗能否根除肿瘤?( |
将直径≤10mm的垂体瘤称为垂体微腺瘤一般可口服多巴胺激动剂-嗅隐亭治疗青年女性在在服用多巴胺激动剂治疗后妊娠怀孕期间可能会出现垂体腺瘤卒中或明显增大必要时需紧急手术 |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
per_device_train_batch_size: 16per_device_eval_batch_size: 16num_train_epochs: 1multi_dataset_batch_sampler: round_robinoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: noprediction_loss_only: Trueper_device_train_batch_size: 16per_device_eval_batch_size: 16per_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: 1max_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: Nonedispatch_batches: Nonesplit_batches: 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| Epoch | Step | Training Loss |
|---|---|---|
| 0.0952 | 500 | 0.4876 |
| 0.1905 | 1000 | 0.3743 |
| 0.2857 | 1500 | 0.3377 |
| 0.3810 | 2000 | 0.3399 |
| 0.4762 | 2500 | 0.3299 |
| 0.5714 | 3000 | 0.3067 |
| 0.6667 | 3500 | 0.3032 |
| 0.7619 | 4000 | 0.2935 |
| 0.8571 | 4500 | 0.2949 |
| 0.9524 | 5000 | 0.2825 |
@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}
}