Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 13
How to use micky1625/fthani3 with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("micky1625/fthani3")
sentences = [
"소양인이 갑자기 토한 후 몸에 열이 나고 머리가 아프며 설사를 하는 경우, 어떤 처방을 사용해야 하며, 그 처방의 구체적인 조합은 무엇인지 설명하시오.",
"[9-25] 소양인이 갑자기 토하는 것은 반드시 괴상한 증상이 생길 것이니 반드시 형방패독산(荊防敗\n毒散)을 쓴 후 그 동정을 살펴서 몸에 열이 있고 머리가 아프며 설사하는 경우에는 의심의 여지없\n이 석고를 써야 하고, 몸이 차고 배가 아프며 설사하는 경우에는 의심의 여지없이 황련(黃連)과 고\n삼(苦蔘)을 써야 한다.\n[9-26] 일찍이 돌이 채 안된 소양인 아이가 갑자기 한 번 토한 다음 설사를 하고 몸에 열이 있고 머\n리가 아프며 손발을 내젓고 몸을 엎치락뒤치락하며 물을 많이 마시고 설사를 4,5,6회 하여 횟수를 \n알 수 없는 것을 형방사백산(荊防瀉白散)을 하루에 3첩, 이틀에 6첩을 쓰고서야 설사가 그치고 몸\n에 열이 나고 머리가 아픈 것이 깨끗이 없어졌다. 다시 5,6첩을 더 쓰고 안정이 되었다.\n[9-27] 소양인이 몸에 열이 나고 머리가 아프며 손발을 내젓고 물을 많이 마시는 것은 이것은 위험\n한 증상이니 비록 설사를 하여도 반드시 석고를 사용해야 하니 설사가 있고 없음을 막론하고 마땅\n히 형방사백산(荊防瀉白散)에 황련과 과루인을 각각 1돈(錢)을 더 넣고 쓰든지 아니면 지황백호탕(\n地黃白虎湯)을 써야 한다.",
"히고 음기를 내리게(溫胃降陰) 해야 하고 소음증(少陰證)에 음식이 삭지 않은 것을 사(瀉)하면 관계\n부자이중탕(官桂付子理中湯)으로 건비강음(健脾降陰)해야 할 것이다.\n[7-12] 곽향정기산(藿香正氣散)ㆍ향사육군자탕(香砂六君子湯)ㆍ관중탕(寬中湯)ㆍ소합원(蘇合元)은 \n모두 장중경 사심탕(瀉心湯)의 변제(變劑)이니 이것이 이른바 청출어람이다. 청(靑)이 비록 푸르나 \n그 남초(藍草)가 아니었으면 어찌 푸른 것을 얻었겠는가?\n[7-13] 장중경(張仲景)이 말하기를 상한 음독병(陰毒病)은 얼굴빛이 푸르고 온몸이 몽둥이로 얻어맞\n은 것처럼 쑤시며 아프다. 이러한 병증은 5일이 된 것은 치료할 수 있지만 7일이 된 것은 치료할 수\n없다.\n[7-14] 이천(李梃)이 말하기를 삼음병(三陰病)이 심해지면 반드시 음독(陰毒)으로 변하게 된다. 그 \n증상은 수족이 궐랭(厥冷)하며 토하고 설사를 하여도 갈증이 나지 않고 몸을 구부리고 조용히 누워\n서 잠자기를 좋아하고 극히 심하면 인통(咽痛)이 있으며 헛소리를 하고 여기에 두통과 머리에서 땀\n이 흐르는 증을 일으키며 눈동자가 아파서 햇빛을 싫어하며 얼굴ㆍ입술ㆍ손톱이 푸르고 검으며 몸\n에는 몽둥이로 얻어맞은 것처럼 되어 있다. 또 이 증세에는 면색(面色)이 청백흑(靑白黑)하며 사지\n가 궐랭하고 잠을 많이 자는 것이 특징이다.",
"[5-5] 옛 사람들이 육경(六經)ㆍ음양(陰陽)으로 병을 논하였으므로 장중경이 《상한론(傷寒論)》을 저\n술함에도 역시 육경ㆍ음양으로서 병의 증세를 구별했다. 두통이 있고 온몸이 아프고 신열이 있고 \n오한이 나고 맥이 부하면 이를 태양병의 증세라 했고, 입이 쓰고 목이 마르며 현기가 나고 귀가 안 \n들리며 가슴이 답답하고 한열(寒熱)이 오락가락하며 두통이 나고 열이 나며 맥이 현(弦)하고 세(細)\n한 것을 가리켜 소양병의 증세라 하고, 또 오한이 없이 도리어 오열이 나고 땀이 저절로 나고 변비\n가 있는 자를 양명병의 증세라 하였다. 배가 가득하고 때때로 배가 아프지만 입이 건조하지 않고 \n명치가 답답하지도 않으면서 저절로 설사를 하면 태음병의 증세라 하고, 맥이 미(微)하고 세(細)하\n면서 자고만 싶고 입이 마르고 심장이 답답하면서 저절로 설사를 하면 소음병의 증세라고 하였다. \n처음에는 배가 아프거나 설사를 하는 증상이 없다가 상한이 된지 6, 7일만에 맥이 미완(微緩)하며 \n손과 발이 매우 차고 혀가 굳어지고 음낭이 수축되면 궐음병의 증세라고 하였다. 이상 여섯 가지 \n병의 증세 중에서 삼음병증(三陰病證)은 모두 소음인에게 있는 병이고, 소양병의 증세는 곧 소양인\n에게 있는 증상이며 태양병의 증세나 양명병의 증세는 소양인ㆍ소음인ㆍ태음인에게 고루 있는 병"
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]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/fthani3")
# Run inference
sentences = [
'술과 색에 대한 과도한 집착이 개인의 정신적, 신체적 건강에 미치는 영향을 설명하고, 이러한 상태를 개선하기 위한 한의학적 처방이나 접근 방법은 무엇인지 서술하시오.',
'[16-21] 술과 색이 사람을 죽인다고 하는 사람들은 모두 말하기를 "술독이 창자를 마르게 하고 색\n로(色勞)가 정력을 말라붙게 한다"고 하지만 이는 그 중의 하나를 알고 둘은 모르는 말이다. 술에 \n방종하는 자는 그 몸을 부지런하게 쓰기를 싫어하기 때문에 걱정이 태산 같고, 색에 미혹된 자는 \n계집을 깊이 사랑하기 때문에 걱정이 칼날 같아서 만 갈래로 찢어지고 이지러진 마음이 술독과 색\n로와 함께 힘을 합하여 공격하므로 사람을 죽이게 하는 것이다.\n[16-22] 광동(狂童)은 반드시 음녀(淫女)를 사랑하고 음녀는 또한 광동을 사랑하며, 우부(愚夫)는 반\n드시 투부(妬婦)를 사랑하고 투부는 또한 우부를 사랑하는 것이니, 만물의 이치로 이를 따져보더라\n도 음녀는 단연코 광동의 배필에 합당할 것이요, 우부는 또한 투부의 배필함이 마땅할 것이다. 대개\n음녀나 투부는 악인이나 천인(賤人)의 배필이 될 수는 있어도 군자나 귀인의 배필이 될 수는 없는 \n것이다. 칠거지악 중에서도 음란한 것과 질투하는 것이 그 으뜸되는 악이지만 세상 사람들은ㆍ투\'\n자의 의미를 잘 모르고 단지 많은 첩들을 미워하며 투기하는 것만을 이야기한다. 귀인이 후사를 이\n어야 한다는 것은 가장 소중한 일이기 때문에 귀인이 첩을 갖는 것을 부인이 미워하며 투기하는 것\n은 절대로 안 되는 법이다. 그러나 가정의 법도를 어지럽히는 근본이 일찍이 많은 첩을 거느리는',
'[7-56] 나는 논하기를 일찍이 소음인 한 사람이 명치 밑 오른쪽에 단단하게 굳어 뭉친 것이 있어서 \n백약을 써도 효과가 없다. 그리하여 파두여의단(巴豆如意丹)을 주었더니 도리어 병이 심하여 머리\n를 흔들며 풍증을 일으키다가 잠깐 그치더니 몇 달 후에 죽은 것이다. 또 그 후에 소음인 한 사람이\n이와 같은 병증이 있어 파두단(巴豆丹)을 썼더니 얼굴과 몸에서는 땀이 나고 있으나 유독히 윗입술\n인중혈(人中穴) 좌우 쪽에서는 땀이 나지 아니하더니 이 사람은 1년 후에 죽은 것이다. 무릇 소음인\n이 명치 밑이 단단하게 굳어 뭉쳐 있는 환자 4-5명을 실제로 보았으나 혹 6개월간 혹 1년간 침구(\n針灸) 의약(醫藥)을 두루 써보지 않은 것이 없었으나 낱낱이 회생할 희망이 없었으니 이는 곧 장결\n병으로 소음인의 병인 것이다.\n[7-57] 장중경(張仲景)이 말하기를 황달병은 마땅히 18일로서 기간을 잡는 것이니 10일 이상이면 \n차도가 있어야 하는데 도리어 병이 더욱 심한 것은 다스리기 어려운 것이다. 병이 음부(陰部)에서 \n발(發)하면 그 사람이 반드시 구역을 하고 병이 양부(陽部)에서 발생을 하면 그 사람이 추워서 떨며\n발열을 하는 것이다.',
]
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 |
|---|---|---|
태만한 자의 마음가짐에 대한 설명으로 옳은 것은 무엇인가? |
모르기 때문에 마음은 항상 몸에 차고 돌에 새기듯 기억하고 있으니 선비들은 농부들과 비교한다 |
1.0 |
태양인, 소음인, 소양인 각각의 성격적 특징과 이로 인해 발생할 수 있는 장부의 손상 원인에 대해 설명하고, 각 인에 대한 적절한 처방을 제시하시오. |
[3-12] 태양인은 교우는 삼가는 까닭에 항상 생소한 교우인(交遇人)을 여환(慮患)하는 노심(怒心)이 |
1.0 |
턱에 일으키려는 땀과 함께 한궐 증상이 나타나는 경우, 이 증상에 대한 전통적인 한의학적 처방으로 언급된 약재는 무엇인지 설명하고, 이 병증을 잘못 치료할 경우 어떤 결과가 발생할 수 있는지 논의하시오. |
턱에 일으키려는 땀은 한궐이 몹시 맹렬하여 한전(寒戰)을 일으켜 이빨을 부딪치면서 턱을 떠는 것 |
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