Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 13
How to use Bossssss/ccm-retriever with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("Bossssss/ccm-retriever")
sentences = [
"사랑의 통로",
"주님만이 왕이십니다\n주님만이 왕이십니다\n주님만이 왕이십니다\n주님만이 왕이십니다\n내 삶에\n내 삶에\n내 삶에\n내 삶에\n주님만이 왕이십니다\n주님만이 왕이십니다\n주님만이 왕이십니다\n주님만이 왕이십니다\n이 곳에\n이 곳에\n이 곳에\n이 곳에\n이 곳에\n이 곳에\n이 곳에\n이 곳에\n주님만이 왕이십니다\n주님만이 왕이십니다\n주님만이 왕이십니다\n주님만이 왕이십니다\n온 땅에\n온 땅에\n온 땅에\n온 땅에\n온 땅에\n온 땅에\n온 땅에\n온 땅에\n모든 이름 위에 뛰어나신 이름\n왕의 왕 예수께 엎드려 경배해\n모든 이름 위에 뛰어나신 이름\n왕의 왕 예수께 엎드려 경배해\n모든 이름 위에 뛰어나신 이름\n왕의 왕 예수께 손들고 경배해\n모든 이름 위에 뛰어나신 이름\n왕의 왕 예수께 손들고 경배해\n경배해\n경배해\n경배해\n경배해\n경배해\n경배해\n경배해\n경배해\n주님만이 왕이십니다\n주님만이 왕이십니다\n주님만이 왕이십니다\n주님만이 왕이십니다",
"창조의 아버지 그 섭리 보이사\n택하신 세대 일으키어 이 땅을 고치소서\n주의 크신 능력 만물이 사모하니\n성령의 기름 부어주사 이 시간 임하소서\n\n주 영광 여기 임하사 열방 향해 그 빛 비추소서\n주의 얼굴 구할 때 주의 향기 머무소서\n\n열방의 통치자 세상이 보리라\n신실한 주의 약속으로 교회는 승리하리\n우릴 돌아보사 강건케 하소서\n연약함 모두 벗어지고 승리케 하옵소서\n\n주 영광 여기 임하사 열방 향해 그 빛 비추소서\n주의 얼굴 구할 때 주의 향기 머무소서\n주 영광 여기 임하사 열방 향해 그 빛 비추소서\n주의 얼굴 구할 때 주의 향기 머무소서\n\n주의 나라가 임하옵시며 주님의 뜻이 이뤄지리이다\n이 땅 가운데 하나님 아들 영광 보이소서\n주의 나라가 임하옵시며 주님의 뜻이 이뤄지리이다\n이 땅 가운데 하나님 아들 영광 보이소서\n\n주 영광 여기 임하사 열방 향해 그 빛 비추소서\n주의 얼굴 구할 때 주의 향기 머무소서\n주 영광 여기 임하사 열방 향해 그 빛 비추소서\n주의 얼굴 구할 때 주의 향기 머무소서\n\n꽃들도 구름도 바람도\n넓은 바다도 찬양하라 찬양하라 예수를\n하늘을 울리며 노래해 나의 영혼아\n은혜의 주 은혜의 주 은혜의 주\n\n꽃들도 구름도 바람도\n넓은 바다도 찬양하라 찬양하라 예수를\n하늘을 울리며 노래해 나의 영혼아\n은혜의 주 은혜의 주 은혜의 주\n\n꽃들도 구름도 바람도\n넓은 바다도 찬양하라 찬양하라 예수를\n하늘을 울리며 노래해 나의 영혼아\n은혜의 주 은혜의 주 은혜의 주\n\n꽃들도 구름도 바람도\n넓은 바다도 찬양하라 찬양하라 예수를\n\n하늘을 울리며 노래해 나의 영혼아\n은혜의 주 은혜의 주 은혜의 주\n\n은혜의 주 은혜의 주 은혜의 주\n은혜의 주 은혜의 주 예수",
"작은 기도 속에 담아 내 사랑을 노래해\n언제나 나와 함께 해줘 주님 나는 믿어요\n\n세상이 힘들다 해도 나는 주를 신뢰해\n그 사랑이 나의 힘이 되어 평화를 줘요\n내 마음 가득 기쁨으로 주님께 드려요\n내 삶의 모든 순간을 사랑으로 채워줘\n\n예수님 사랑해요 기쁨의 노래예요\n믿음의 힘으로 나는 행복해요\n영원히 함께해요 우리의 길을 밝혀\n사랑과 평화 속에 주님과 나의 삶을\n\n주님은 나의 빛 나의 구원의 소망\n나의 모든 사랑 주님께 드려요\n\n(가만히 눈 감고 느껴봐요)\n주님께 속한 이 순간\n사랑이 넘쳐흘러\n\n어둠 속에서도 주님이 계셔\n사랑의 손길로 나를 감싸죠\n행복한 모습으로 주님을 찬양해\n믿음 속에서 나는 항상 기뻐해\n\n예수님 사랑해요 기쁨의 노래예요\n믿음의 힘으로 나는 행복해요\n영원히 함께해요 우리의 길을 밝혀\n사랑과 평화 속에 주님과 나의 삶을\n\n작은 기도 속에 담아 네 사랑을 노래해\n언제나 나와 함께 해줘 주님 나는 사랑해요\n\n예수님 사랑해요 기쁨의 노래예요\n믿음의 힘으로 나는 행복해요\n영원히 함께해요 우리의 길을 밝혀\n사랑과 평화 속에 주님과 나의 삶을\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 BM-K/KoSimCSE-roberta. 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': 256, 'do_lower_case': False, 'architecture': 'RobertaModel'})
(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("Bossssss/ccm-retriever")
# Run inference
sentences = [
'때로는 너의 앞에',
'none',
'매일 주와 함께\n어제보다 더 새롭게\n매일 주와 함께\n어제보다 더 새롭게\n아침에 주 경배하며\n저녁에 주높이리\n나 매일 사랑스런 주와\n날마다 더 새롭게 해\n매일 주와 함께\n어제보다 더 새롭게\n매일 주와 함께\n어제보다 더 새롭게\n아침에 주 경배하며\n저녁에 주높이리\n나 매일 사랑스런 주와\n날마다 더 새롭게 해\n주를 더욱 아는것 놀라워라\n나를 사랑하신 주\n존귀하신 주님께 경배하리\n자유케하신 주를\n해가 뜨는데부터\n해가 지는데까지\n매일 주와 함께\n어제보다 더 새롭게\n매일 주와 함께\n어제보다 더 새롭게\n아침에 주 경배하며\n저녁에 주높이리\n나 매일 사랑스런 주와\n날마다 더 새롭게 해\n주와 함께 사는 것\n놀라워라 모든 것을 이기네\n합당하신 주님께 다드리리\n날마다 내 전부를\n해가 뜨는데부터\n해가 지는데까지\n매일 주와 함께\n어제보다 더 새롭게\n매일 주와 함께\n어제보다 더 새롭게\n아침에 주 경배하며\n저녁에 주높이리\n나 매일 사랑스런 주와\n날마다 더 새롭게\n날마다 날마다 더 새롭게\n날마다 날마다 더 새롭게\n날마다 어제보다 더 새롭게\n날마다 어제보다 더 새롭게\n날마다 날마다 더 새롭게\n날마다 날마다 더 새롭게\n날마다 어제보다 더 새롭게\n날마다 어제보다 더 새롭게\n날마다 날마다 더 새롭게\n날마다 날마다 더 새롭게\n날마다 어제보다 더 새롭게\n날마다 새롭게\n매일 주와 함께\n어제보다 더 새롭게\n매일 주와 함께\n어제보다 더 새롭게\n아침에 주 경배하며\n저녁에 주높이리\n나 매일 사랑스런 주와\n날마다 더 새롭게\n날마다 더 새롭게\n날마다 날마다 더 새롭게\n날마다 날마다 더 새롭게\n날마다 어제보다 더 새롭게\n날마다 어제보다 더 새롭게\n날마다 날마다 더 새롭게\n날마다 날마다 더 새롭게\n날마다 어제보다 더 새롭게\n날마다 어제보다 더 새롭게\n날마다 날마다 더 새롭게\n날마다 날마다 더 새롭게\n날마다 어제보다 더 새롭게\n날마다 어제보다 더 새롭게\n날마다 날마다 더 새롭게\n날마다 날마다 더 새롭게\n날마다 어제보다 더 새롭게',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[ 1.0000, 0.1449, 0.2342],
# [ 0.1449, 1.0000, -0.0180],
# [ 0.2342, -0.0180, 1.0000]])
sentence_0 and sentence_1| sentence_0 | sentence_1 | |
|---|---|---|
| type | string | string |
| details |
|
|
| sentence_0 | sentence_1 |
|---|---|
최고의 시간에 |
고난과 시련속에 |
내 모든 삶의 행동 주 안에 / 승리하였네 |
내 모든 삶의 행동 주 안에 |
주는 사랑이십니다 |
나의 지친 삶의 순간마다 |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim",
"gather_across_devices": false
}
per_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: Nonewarmup_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: 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}parallelism_config: Nonedeepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torchoptim_args: Noneadafactor: Falsegroup_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: Trueuse_legacy_prediction_loop: Falsepush_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_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: 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: Trueprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: round_robinrouter_mapping: {}learning_rate_mapping: {}@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
BM-K/KoSimCSE-roberta