Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper
•
1908.10084
•
Published
•
10
This is a sentence-transformers model finetuned from BAAI/bge-m3. 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': 8192, 'do_lower_case': False}) with Transformer model: XLMRobertaModel
(1): Pooling({'word_embedding_dimension': 1024, '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("micky1625/fthani2")
# Run inference
sentences = [
'소양인이 인후병과 목, 뺨의 부종 증상을 보일 때, 초기 증상에 대한 적절한 처방은 무엇인지 설명하시오.',
'[11-15] 소양인이 안으로 인후(咽喉)병이 나고 밖으로 목과 뺨이 붓는 것을 전후풍(纏喉風)이라고 \n하는데 2-3일. 안에 사람을 죽이니 최고로 급하다. 또한 윗입술의 인중혈(人中穴)의 종기(腫氣)를 순\n종(脣腫)이라 하는데 인중의 좌우에 손가락 하나 놓일 만한 곳에 종기가 나면 비록 그것이 좁쌀알\n같이 작은 것이라도 또한 위태로운 증세이다. 이 두 가지 증세가 처음 나타나 가벼운 경우에는 마\n땅히 양격산화탕(凉膈散火湯)이나 양독백호탕(陽毒白虎湯)을 쓸 것이며 중한 경우에는 수은훈비방(\n水銀熏鼻方)을 써야 하는데 한 대를 태워 코에 연기를 쏘여서 목과 뺨에 땀이 나면 낫는다. 만약 급\n한 상황에서 훈비약(熏鼻藥)이 없다면 경분(輕粉) 가루 1푼 5리와 유향(乳香)ㆍ몰약(沒藥)ㆍ감수(甘\n遂) 각각 5푼씩을 고루 풀어 반죽한 다음 알약을 만들어 단번에 다 먹인다.\n[11-16] 소양인 어린아이가 많이 먹으나 마르는 경우에는 마땅히 노회비아환(蘆薈肥兒丸)이나 인동\n등지골피탕(忍冬藤地骨皮湯)을 쓴다.\n[11-17] 일찍이 소양인의 어깨 위에 독종(毒腫)이 있어 참기름을 불에 끓여 헌데에 부어 살이 검게 \n타도 그 뜨거움을 알지 못하는 것을 어떤 의사가 소의 뿔 조각을 숯불 위에 놓고 태우면서 연기를 \n쏘이라 하기에 연기가 헌데에 들어가서 독즙(毒汁)이 스스로 흘러내려 그 종기(腫氣)가 곧 낫는 것\n을 본 일이 있다.',
'[8-2] 태양병에 땀이 나는 것은 열기(熱氣)가 한사(寒邪)를 물리치는 땀이고 양명병에 땀이 나는 것\n은 한사가 열기에 침범하는 땀이다. 태음증 하리는 온기(溫氣)가 냉기(冷氣)를 몰아내는 하리이고 \n소음증 하리는 냉기가 온기를 핍박하는 하리인 것이다.\n[8-3] 소음인 병에 두 길증(吉證)이 있다. 하나는 인중(人中)에서 땀이 나는 것이요, 또 하나는 물을 \n능히 마시는 것이다.\n[8-4] 소음인 병에 두 급증(急證)이 있다. 하나는 발열하면서 땀이 너무 많이 흐르는 것이요, 또 하나\n는 맑은 물 설사를 하는 것이다.\n[8-5] 소음인 병에 육대증(六大證)이 있으니 첫째로 소음병(少陰病), 둘째로 양명병(陽明病), 셋째로 \n태음병음독증(太陰病陰毒證), 넷째로 태양병궐음증(太陽病厥陰證), 다섯째로 태음병황달증(太陰病\n黃疸證), 여섯째로 태양병위가실증(太陽病胃家實證)이다.\n[8-6] 발열하고 땀이 나면 병이 반드시 풀려야 하는데 발열하고 땀이 나고서도 병이 더욱 심하게 되\n는 것은 양명병이고 체한 것이 뚫리면서 설사를 하면 병이 반드시 풀려야 하는데 체기(滯氣)가 뚫\n리고 설사를 하고서도 병이 더욱 심하게 되는 것은 소음병인 것이다. 양명병과 소음병은 사기(邪氣)\n가 정기(正氣)를 범(犯)하는 병이기 때문에 급하게 약을 쓰지 않을 도리가 없다. 추워 떨고서 땀이 \n나면 병이 반드시 다 풀려야 하는데 오한하고 땀이 나고서도 그 병이 반만 풀리고 반은 풀리지 않\n는 것은 점차 궐음병(厥陰病)으로 전변(轉變)하려는 증이다. 복통에 설사를 하면 병이 반드시 다 풀\n려야 하는데 복통에 하리(下利)를 하고서도 그 병이 반만 풀리고 반은 풀리지 않는다면 점차 음독\n병(陰毒病)으로 전변하려는 증이다. 궐음병과 음독증은 정기(正氣)와 사기(邪氣)가 서로 힘을 기울\n이는 병이니 불가불 미리 약을 써서 정기를 도와주어야 한다. 발열하고 땀이 한 번 나고 병이 풀리\n는 것은 태양의 경병(輕病)이고 식체에 한 번 설사를 하고서 병이 풀리는 것은 태음의 경병이다. 태\n양과 태음의 경병(輕病)은 약을 쓰지 않고서도 저절로 낫는 것이다. 발열 3일에 땀이 나지 않아 병',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]
# 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 | float |
| details |
|
|
|
| sentence_0 | sentence_1 | label |
|---|---|---|
한의학에서 귀, 눈, 코, 입의 기능과 이들이 각각의 청기를 어떻게 처리하여 신체의 특정 요소로 변환하는지에 대해 설명하시오. 각 기관이 담당하는 청기의 종류와 그 결과로 생성되는 요소를 구체적으로 서술하시오. |
[4-7] 수곡의 한기(寒氣)는 대장에서 액(液)으로 화하여 전음부(前陰部) 모제(毛際) 안으로 들어가 액 |
1.0 |
이질 치료에 사용되는 황연청장탕의 주요 약재와 그 조합에 대해 설명하고, 임질 치료를 위해 조정된 처방의 차이점을 서술하시오. |
한다. 황연ㆍ택사는 귀한 약재이므로 없으면 혹 빼고 사용한다. |
1.0 |
다음 증상을 가진 환자에게 적합한 처방은 무엇인가? 환자는 혀가 마르고 사지가 차가워지며 아랫배가 급하게 아프고, 수족이 간헐적으로 차고 더워지며 속에서 번열이 느껴진다. 이 환자에게 어떤 한약 처방을 주로 사용해야 하는가? |
[6-46] 이천(李梃)이 말하기를 혀가 말리고 사지가 궐역(厥逆)하여 한랭(寒冷)한 기가 팔꿈치와 무릎 |
1.0 |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
per_device_train_batch_size: 16per_device_eval_batch_size: 16multi_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: 3max_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}tp_size: 0fsdp_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",
}
@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}
}
Base model
BAAI/bge-m3