Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 14
How to use hyunkookim/klue-roberta-base-klue-sts-mrc with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("hyunkookim/klue-roberta-base-klue-sts-mrc")
sentences = [
"일본 소니가 개발한 전지의 kg당 에너지 밀도는?",
"과학적 방법\n \n과학적 방법은 연역과 귀납에 의해 사실을 밝히는 방법론이다. 연역은 사실로 여겨지는 기존의 전제에서 새로운 결론을 논리적으로 유도하고 귀납은 관찰되는 현상에서 일반화된 결론을 이끌어낸다. 이 두 방법은 모두 완전하지 않다. 연역은 전제가 사실이 아니었을 때 필연적으로 결론 역시 잘못되게 되며, 귀납은 새로운 사실이 관찰되었을 때 결론이 붕괴될 수 있다. \"백조는 모두 희다\"는 주장은 검은 백조의 발견으로 붕괴된다. 새로운 사실에 의해 기존의 귀납적 추론이 붕괴되는 것은 흑고니 이론으로 알려져 있으며 과학뿐만아니라 경제, 사회, 철학 등 여러 학문 분야에서 쓰이고 있다.\n\n과학의 역사에서 많은 과학자들은 흑고니와 같이 기존의 설명에 반하는 것을 발견하였을 때 이를 무시하는 경향을 보였다192–94 기존의 과학적 설명은 확증 편향으로서 작용한다. 새로운 발견이 기존의 설명에 들어맞으면 보다 쉽게 수용되지만 그렇지 않은 것은 무시되거나 잘못된 관찰이라는 평가를 받기 쉽다 20세기 초 하버드 대학교의 세실리아 페인은 태양의 스펙트럼을 분석하여 태양을 이루는 물질의 대다수가 수소와 헬륨이라는 사실을 관찰하였다. 그러나 당시 보수적이며 남성중심적이었던 천문학계는 페인의 관찰을 받아드리지 못했다. 페인은 이와 관련한 논문을 발표하면서 지도교수 헨리 노리스 러셀의 강권에 못이겨 논문 말미에 \"이는 사실이 아닐 것\"이라고 써 넣을 수 밖에 없었다. 당시 천문학계는 태양이 대부분 철로 이루어져 있다고 믿고 있었다. 과학자들이 기존의 이론을 고수하려는 확증 편향을 보이기 쉽다고 하더라도 새로운 결과를 지지하는 관찰과 실험이 계속되면 결국 기존의 이론은 폐기되고 새로운 이론이 세워지게 된다 그러나 이러한 변환은 그리 순탄하지 많은 않다. 토머스 쿤은 《과학혁명의 구조》에서 과학 이론의 변화를 대립, 경쟁하는 패러다임의 변환으로 파악한 바 있다. \n\n과학적 발견은 때로 사회가 갖는 확증 편향과 대립하기도 한다. 찰스 다윈의 《종의 기원》은 당시 영국 사회의 일반적 신념인 기독교의 창조론에 반한다는 이유로 큰 논란을 일으켰다. 과학은 종교와 전혀 다른 범주이지만 오늘날에도 일부 근본주의 기독교 신자들은 창조론을 옹호하기 위해 진화 이론을 거부한다.",
"리튬이온전지는 1990년 일본 소니가 개발했다. 충전과 재사용이 가능한 2차전지 가운데 에너지 밀도가 높은 편이고 기억 효과가 없어 널리 퍼져나갔다. 지금은 스마트폰과 태블릿을 비롯해 전기자동차에까지 쓰이고 있다. 하지만 다가오는 미래에 대응하기엔 리튬이온전지는 에너지가 턱없이 부족한 편이다. 이런 상황에서 지난달 24일 한국전기연구원은 세계 최고 수준의 에너지 밀도를 가지면서도 리튬전지 대비 10분의 1의 가격에 제조할 수 있는 아연공기전지를 개발해 주목받고 있다. 아연공기전지 개발의 주역인 엄승욱 한국전기연구원 전지연구센터 책임연구원은 지난 7일 “아연공기전지는 폭발 위험이 없으면서 납축전지의 다섯 배, 리튬전지의 두 배에 달하는 에너지를 저장할 수 있어 차세대 전지로 각광받고 있다”고 말했다.○세계 최고 에너지 밀도 아연공기전지는 말 그대로 아연과 공기중의 산소를 재료로 쓰는 전지다. 엄 책임연구원은 “전지의 음극재로 아연 파우더를 쓰고 양극재로 산소를 사용해 전기를 발생시키는 구조”라고 설명했다. 아연이 지구상에서 23번째로 흔한 금속이다 보니 희토류에 속하는 리튬보다 생산 단가가 싸다. 아연은 국내에서 고려아연 영풍 같은 업체들이 아연광석을 들여와 제련하고 있지만 리튬은 전량 수입에 의존하고 있기 때문이다. 또 리튬이온전지는 열을 받으면 폭발할 위험이 크지만 아연을 쓰면 이런 위험이 없어진다. 그는 “이번 연구 자체가 국방과학연구소에서 군에서 안전하게 쓸 수 있는 전지를 만들어 달라는 의뢰를 받아 시작하게 된 것”이라며 “아연공기전지는 전장에서 총알을 맞아도 터지지 않을 정도로 안전하다”고 말했다. 전기연구원에서 개발한 아연공기전지는 ㎏당 395Wh로 세계 최고 수준의 에너지 밀도를 갖고 있기 때문에 전장에서도 오랫동안 쓸 수 있다. 리튬이온전지의 에너지 밀도는 ㎏당 200Wh 정도다. 그는 “통신 장비뿐 아니라 무인항공기, 미래 병사용 입는 장비 등에 쓸 수 있다”고 내다봤다.○2차전지·간이 발전소로 발전아연공기전지의 한 가지 부족한 점은 충전이 안 된다는 것이다. 엄 연구원은 “지금으로선 아연을 다 소모하고 나면 이를 갈아끼우는 방법밖에 없다”고 말했다. 하지만 “근본적으로 충전이 안 되는 것은 아니다”고 덧붙였다. 지금은 기술적인 장벽을 넘지 못해 충전을 못하고 있지만 언젠가는 리튬이온전지처럼 자유자재로 충전하는 2차 전지로 발전할 것이란 얘기다.",
"본래 ‘호자주의’는 엔베르 호자 스스로가 자신의 사상에 대해 명명한 명칭이 아니며, 단지 알바니아를 외부자의 시점으로 관찰한 서구(주로 프랑스) 지식인 및 언론인들이 사용했던 용어이다. 엔베르 호자는 스스로의 사상을 단순히 마르크스-레닌주의의 원칙 고수일 뿐이라고 하였다. 이러한 원칙은 수정주의를 받아들인 중국공산당과 대립하기 전에 알바니아 내에서 윤곽이 잡혀져 있었다. 엔베르 호자가 스스로를 마오이스트라고 칭하지는 않은 것과 무관하게 호자주의는 1960년대 중화인민공화국의 문화대혁명에 영향을 받은 것이었으며, 이론적으로는 마오쩌둥 사상과 흡사했다. 1978년 이후 엔베르 호자는 마오쩌둥 사상을 강하게 비판하였고, 그 결과 호자 사상과 마오쩌둥 사상 사이의 차이점을 구분하는 것이 비교적 쉬워졌다. 그러나 그 차이점은 아주 세밀한 부분에서의 차이점이기 때문에 마르크스주의자들이 상당히 다루기 어려운 부분이라고 여겨지고 있다. 호자의 사상은 이러한 특징 외에도 기술주의(技術主義)에 대한 반대·극단적인 무신론·알바니아 민족주의·엄격한 금욕주의(禁慾主義)·지속적인 문화 혁명 강행이라는 요소도 존재하였다.\n\n호자주의는 이오시프 스탈린, 그리고 스탈린 지배 아래 있는 소련이라는 국가 개념을 엄격하게 고수하는 태도를 보이며, 1956년 이후 급격히 수정주의의 길로 접어든 소련과 그 영향권 아래에 있는 공산주의 단체를 모두 \"수정주의적 마르크스주의\"로 강렬히 비판한다."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from hyunkookim/klue-roberta-base-klue-sts. 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: 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("sentence_transformers_model_id")
# Run inference
sentences = [
'항량이 항우와 함께 8000명의 군사를 이끈 때는 언제인가?',
'하상 출신으로 그의 아버지는 전국시대 때 진나라에 맞섰던 초나라의 장수 항연이다. 초나라 멸망 후 역양에서 진나라에 사로잡혔으나 진의 장수 사마흔의 도움으로 풀려났다.\n\n기원전 209년 진승과 오광의 난이 일어나자 전국각지에서 제후들이 진나라에 대항해 봉기를 일으켰고, 항량 역시 9월에 회계 태수 은통을 살해하고 오중에서 군사를 일으켜 조카 항우를 부장으로 삼았다.\n\n기원전 208년 끝내 농민 반란군의 제왕 진승이 진나라 장군 장한의 대공격으로 패퇴하자, 진승의 부장 소평은 항량에게로 합류하고, 8000명의 군사를 이끌고 서쪽으로 진군했다. 그 뒤 진영과 영포 등과 합세해 항량의 군대를 크게 불어났으며, 진승의 부장이었던 진가가 경구를 초왕으로 세우고 맞서자 진가를 공격해 죽였다.\n\n진과 전투를 벌여 설현을 점령했고, 항우를 보내 양성까지 점령했고, 이후 항량은 곳곳에서 승리해 제나라의 전영, 사마용저와 함께 동아에서 진군을 격파했다. 항량은 항우와 유방을 보내 성양을 공격해 점령하도록 하였고, 복양에서도 다시 진군을 격파했다.\n\n항우와 유방은 정을 공격했으나 함락시키지 못하자 서쪽으로 진군하여 옹구에서 진나라 승상 이사의 아들인 삼천 태수 이유를 죽였다. 항량은 동아에서 정도까지 수많은 승리를 거두고 큰 승리로 인해 점차 교만해졌다.\n\n그러다가 부하 송의의 말을 듣지 않고 진나라군을 공격하다가 정도에서 장한이 이끄는 진나라군의 습격을 받아 장한의 부하 손승에게 전사했다.',
'예술가들이 서울의 낙후된 부(副)도심을 바꾸고 있다. 홍익대 인근과 대학로에서 활동하던 예술가들이 비싼 임대료를 피해 옮겨간 마포구 망원동 합정동, 영등포구 문래동, 성북구 삼선동 돈암동, 종로구 혜화동 등에 자생적인 예술촌이 조성되면서 주변 상가에 이전에 없던 권리금이 붙고 임대료가 오르는 등 지역경제가 활기를 띠고 있다. 대규모 상업시설 신축이 제한된 준공업지역인 문래동은 미술작업실이 속속 들어서면서 최근 3년여간 상가 임대료가 20% 이상 올랐다. 지하철 6호선 상수역에서 300m 떨어진 상수동 사거리는 최근 60㎡대 작은 창고건물에 이전에 없던 권리금이 5000만원 정도 붙었다. 카페거리로 떠오르면서 창업 희망자가 늘어나서다.서울시는 이런 추세에 맞춰 자생 예술촌 지원과 폐시설의 문화시설 활용 등 ‘문화 도시재생’ 정책을 올해부터 본격 추진하기로 했다. 이창학 문화관광디자인본부장은 “정보기술(IT)과 바이오 등 신산업 유치와 전통 제조업 부활이라는 서울 성장동력의 두 축에 문화를 더해 도시 재생에 방점을 찍을 것”이라고 말했다.',
]
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]
EmbeddingSimilarityEvaluator| Metric | Value |
|---|---|
| pearson_cosine | 0.8413 |
| spearman_cosine | 0.8399 |
| pearson_manhattan | 0.7711 |
| spearman_manhattan | 0.7853 |
| pearson_euclidean | 0.7733 |
| spearman_euclidean | 0.7862 |
| pearson_dot | 0.8253 |
| spearman_dot | 0.8399 |
| pearson_max | 0.8413 |
| spearman_max | 0.8399 |
sentence_0 and sentence_1| sentence_0 | sentence_1 | |
|---|---|---|
| type | string | string |
| details |
|
|
| sentence_0 | sentence_1 |
|---|---|
이고르 댜틀로프를 중심으로 만들어진 탐사대에서 다수를 차지한 성별은? |
1959년 1월 28일에 이고르 댜틀로프를 중심으로 탐사대를 결성한 우랄 국립공과대학교 소속 스키 하이커 10명(남자 8명, 여자 2명)은 러시아 우랄산맥을 거쳐 오토르텐산을 등반하고 2월 12일에 베이스캠프가 위치한 비자이 마을로 복귀하려는 계획을 세웠다. 그러나 등반 당일이던 1월 28일에 유리 유딘이 열, 두통, 류머티즘, 심장 질환 증세를 보이면서 탐사대에서 이탈했고 나머지 9명이 등반에 나서게 된다. |
다카기 모리미치가 50개의 도루를 기록해 도루왕 타이틀을 받았던 해는? |
1960년에 주니치에 입단하여 같은 해 1960년 5월 7일 다이요 웨일스전에서 프로 데뷔 첫 홈런을 때려냈고 1963년에는 2루수의 주전 자리를 차지했다. 그 해 시즌에는 50개의 도루를 기록하여 도루왕 타이틀을 석권했고 작년에 방출된 모리 도루를 대신해서 에토 신이치와 함께 주니치의 새로운 스타 선수가 됐다. |
고쿠데라의 머리 모양에 영향을 준 것으로 추정되는 사람은? |
이탈리아인의 아버지와 일본과 이탈리아 피가 섞인 혼혈인 피아니스트 어머니 사이에서 태어났다. 이탈리아인 피가 3/4정도, 일본인의 피가 1/4정도 흐른다. 대부호 마피아의 집에서 살아왔으나 친하게 지내던 피아노 잘치는 누나가 자신의 어머니였고, 그 어머니가 자신의 아버지에 의해 죽었다는 소식을 듣고 충격을 받는다. 자력으로 마피아가 되고자 몇 번이나 가출을 해왔으며, 8세에 가출했을 때 봉고레에 들어와 활동하게 된 듯하다. 이복누나인 비앙키에게 트라우마가 있는데 이는 비앙키가 자신을 포이즌 쿠킹의 실험대상으로서 사용했었기 때문이다. 만화에서는 담배도 피우지만 애니메이션에서는 미성년자가 담배를 피우는 건 문제가 있어서 삭제되었다. 츠나가 10대 보스로 선택받은 것을 시험하고자 그에게 덤벼왔으나 결국 츠나의 필살모드에 패배하고 장래에 그의 오른팔이 되기로 결심한다. 어떤 지시도 반항하지 않고 따랐으나, 진6조화와의 싸움 전에 딱 한 번 반항을 한다. 후타의 랭킹에 따르면 나미모리중 전투랭킹 3위라고 한다. 교사조차도 두려워하는 불량소년이며 연상의 인간은 죄다 적이라는 말을 서슴없이 하기도 한다. 수업도 잘 듣지 않는데도 불구하고 성적도 최상이며 가히 천재라고 불러도 될만큼 머리가 좋다. 그래서 그런지 무언가를 가르칠 때는 무조건 이론으로 시작한다. 의외로 미신이나 유령을 잘 믿어서 오컬트 잡지를 애독 중이며 심지어 일본식의 퇴마법도 알고 있다. 어렸을 적, Dr.샤멀이 다이너마이트를 쓰는 것을 보고 Dr.샤멀에게 다이너마이트를 가르쳐 달라고 했으며, 고쿠데라의 머리는 Dr.샤멀을 따라한 스타일인 듯하다. 전투 시에는 다이너마이트에 담배불을 붙여서 사용한다. 하지만 애니메이션에서는 담배피우는 설정을 없애버렸기에 자동으로 도화선에 불이 붙여진다. 이 때문에 그의 별명은 원작에서는 '인간폭격기 스모킹 봄 하야토', 애니판에서는 그냥 '허리케인 봄'이다. 무기 성질상 장애물이 많은 곳에서 힘을 발휘한다. |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
per_device_train_batch_size: 16per_device_eval_batch_size: 16num_train_epochs: 1batch_sampler: no_duplicatesmulti_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: Falsehub_always_push: Falsegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseeval_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: Falseeval_use_gather_object: Falsebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: round_robin| Epoch | Step | Training Loss | spearman_max |
|---|---|---|---|
| 0 | 0 | - | 0.8399 |
| 0.4558 | 500 | 0.1676 | - |
| 0.9116 | 1000 | 0.1165 | - |
Carbon emissions were measured using CodeCarbon.
@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
klue/roberta-base