lunara-kim/custom-embedding-slang-model
SentenceTransformer based on google-bert/bert-base-multilingual-cased
This is a sentence-transformers model finetuned from google-bert/bert-base-multilingual-cased. 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.
Model Details
Model Description
- Model Type: Sentence Transformer
- Base model: google-bert/bert-base-multilingual-cased <!-- at revision 3f076fdb1ab68d5b2880cb87a0886f315b8146f8 -->
- Maximum Sequence Length: 512 tokens
- Output Dimensionality: 768 dimensions
- Similarity Function: Cosine Similarity <!-- - Training Dataset: Unknown --> <!-- - Language: Unknown --> <!-- - License: Unknown -->
Model Sources
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
Full Model Architecture
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})
)Usage
Direct Usage (Sentence Transformers)
First install the Sentence Transformers library:
pip install -U sentence-transformersThen you can load this model and run inference.
from sentence_transformers import SentenceTransformer
# Download from the 🤗 Hub
model = SentenceTransformer("lunara-kim/custom-embedding-slang-model")
# Run inference
sentences = [
'안녕하세요. ▲▲월 ▲▲일부터 ▲▲일까지 더물리아 숙소 견적 부탁드립니다. 성인 2명과 4세 유아 1명입니다. 공항 픽업 대신 공항 드랍도 가능한가요?',
'고객: 안녕하세요. ▲▲월 ▲▲일부터 ▲▲일까지 더물리아 숙소 견적 부탁드립니다. 성인 2명과 4세 유아 1명입니다. 공항 픽업 대신 공항 드랍도 가능한가요?\n상담사: 안녕하세요, ▲▲▲ 님. 문의 주셔서 감사합니다. ▲▲월 ▲▲일부터 ▲▲일까지 4박에 대한 견적 안내 드릴게요.\n고객: 어떤 객실이 가능한가요?\n상담사: 현재 더물리아에서 가능한 객실은 두 가지입니다. 더 얼 스위트 가든뷰는 4박에 1,443불이고, 더 얼 스위트 비치프론트뷰는 1,710불이에요. 두 객실 모두 4세 자녀는 무료로 부모님과 베드쉐어 가능합니다.\n고객: 더 바론 스위트는 예약이 안 되는 건가요?\n상담사: 네, 맞아요. 더 바론 스위트는 현재 예약이 종료된 상태입니다. 그래서 더 얼 스위트만 예약 가능해요.\n고객: 객실의 크기나 구조는 어떻게 되나요?\n상담사: 더 바론 스위트는 면적이 105m²이고, 넓은 스위트룸 구조예요. 반면, 더 얼 스위트는 130m²로 침실과 리빙 공간이 분리된 구조입니다.\n고객: 예약할 때 다시 확인해 주시는 건가요?\n상담사: 네, 맞습니다. 예약 시점에 객실 가능 여부를 다시 체크해서 가능한 경우에만 예약 진행할 수 있어요.\n고객: 공항 드랍은 어떻게 진행되나요?\n상담사: 공항 픽업 대신 공항 드랍으로 변경 가능하니, 예약 시에 말씀해 주시면 됩니다.\n고객: 감사합니다. \n상담사: 감사합니다, ▲▲▲ 님. 추가 문의사항 있으면 언제든지 말씀해 주세요. 좋은 하루 되세요!',
'고객: 안녕하세요. 인도네시아 할인항공권 문의 드립니다. ▲▲일에서 한 달 일정으로 가고 싶은데, 가루다항공으로 예약 가능한가요? 성인 5명인데, 4명은 한 달 티켓, 1명은 2달 티켓으로요.\n상담사: 안녕하세요. 문의 주셔서 감사합니다. 인천-발리-자카르타-인천 항공권 예약 가능합니다. 다만, 자카르타-인천 구간은 대한항공만 운항하니 참고해 주세요.\n고객: 그럼 자카르타-인천 구간은 대한항공으로 예약해야 하나요? 가격은 어떻게 되나요?\n상담사: 맞습니다. 자카르타-인천은 대한항공으로 발권하셔야 해요. 한 달 티켓 기준으로 약 74만 원이고, 두 달 티켓은 유효하지 않아요. 세 달 티켓은 약 88만 원 정도입니다. 세금은 별도입니다.\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.shape)
# [3, 3]<!--
Direct Usage (Transformers)
<details><summary>Click to see the direct usage in Transformers</summary>
</details> -->
<!--
Downstream Usage (Sentence Transformers)
You can finetune this model on your own dataset.
<details><summary>Click to expand</summary>
</details> -->
<!--
Out-of-Scope Use
List how the model may foreseeably be misused and address what users ought not to do with the model. -->
<!--
Bias, Risks and Limitations
What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model. -->
<!--
Recommendations
What are recommendations with respect to the foreseeable issues? For example, filtering explicit content. -->
Training Details
Training Datasets
Unnamed Dataset
- Size: 4,200 training samples
- Columns: <code>sentence0</code> and <code>sentence1</code>
- Approximate statistics based on the first 1000 samples: | | sentence0 | sentence1 | |:--------|:-----------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------| | type | string | string | | details | <ul><li>min: 9 tokens</li><li>mean: 86.81 tokens</li><li>max: 438 tokens</li></ul> | <ul><li>min: 24 tokens</li><li>mean: 475.98 tokens</li><li>max: 512 tokens</li></ul> |
- Samples: | sentence0 | sentence1 | |:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | <code>안녕하세요? 여행 견적 문의 드립니다. 어른 4명 가족여행이고, 숙소는 2베드룸 또는 1베드룸 2개로 부탁드려요. 호텔과 골프 예약 여부도 확인해 주세요.</code> | <code>고객: 안녕하세요? 여행 견적 문의 드립니다. 어른 4명 가족여행이고, 숙소는 2베드룸 또는 1베드룸 2개로 부탁드려요. 호텔과 골프 예약 여부도 확인해 주세요.<br>상담사: 안녕하세요~ 여행 일정 알려주셔서 감사합니다. <br>고객: 네, 일정은 ▲월 ▲▲일부터 ▲▲월 ▲일까지입니다. 호텔은 발리 우붓의 카욘 정글리조트 또는 만다파 리츠칼튼, 그리고 켐핀스키와 아야나로 예약하고 싶어요.<br>상담사: ▲/▲▲~▲/▲▲ 발리 우붓의 카욘 정글리조트는 전객실 예약이 마감되었어요. 만다파 리츠칼튼은 Reserve Suite 2객실로 2박에 $3404입니다.<br>고객: 만다파 리츠칼튼으로 예약할게요. 그럼 켐핀스키와 아야나는 어떻게 되나요?<br>상담사: 켐핀스키는 Sriwijaya Two-Bedroom Villa로 2박에 $2128입니다. 아야나는 전객실 예약이 마감되었어요.<br>고객: 아야나는 예약이 안 되면 다른 호텔로 대체할 수 있나요?<br>상담사: 네, 아야나 대신 다른 호텔로 추천드릴 수 있어요. 어떤 스타일의 호텔을 원하시나요?<br>고객: 바다 근처의 리조트면 좋겠어요. 골프 예약도 확인해 주세요.<br>상담사: 골프는 ▲/▲▲ 한다라CC 오전 9시, 1인당 $115입니다. ▲/▲▲ 내셔널CC는 8시 6분, 1인당 $165이고, ▲/▲▲ 뉴꾸따CC는 8시에 1인당 $100입니다.<br>고객: 골프도 모두 예약해 주세요. 예약 진행하려면 어떻게 해야 하나요?<br>상담사: 예약 진행 원하시면 전원 영문&한글 성함, 생년월일, 대표자 핸드폰 번호, 도착 항공편명(3박 이상일 경우)을 이메일로 보내주시면 됩니다.<br>고객: 알겠습니다. 곧 필요한 정보 보내드릴게요. 감사합니다!<br>상담사: 감사합니다!! 좋은 하루 되셔요.</code> | | <code>안녕하세요. ▲월 항공권은 이미 예약했는데, 위약금 없이 취소 가능한 시점이 ▲월이라고 하더라고요. 회사에서 코로나 사태가 종식될 때까지 동남아 여행 자제를 하라는 지침이 내려와서요. 그래서 ▲월 초에 호텔 예약을 해야 할 것 같은데, 혹시 ▲월 정도에 ▲월 중순 예약하면 늦나요? 아직 리조트는 확실하게 정해진 건 아닌데, 꾸따 쉐라톤 2박, 짐바란(아야나, 포시즌) 또는 누사두아(물리아) 4박 정도 하고 싶어요.</code> | <code>고객: 안녕하세요. ▲월 항공권은 이미 예약했는데, 위약금 없이 취소 가능한 시점이 ▲월이라고 하더라고요. 회사에서 코로나 사태가 종식될 때까지 동남아 여행 자제를 하라는 지침이 내려와서요. 그래서 ▲월 초에 호텔 예약을 해야 할 것 같은데, 혹시 ▲월 정도에 ▲월 중순 예약하면 늦나요? 아직 리조트는 확실하게 정해진 건 아닌데, 꾸따 쉐라톤 2박, 짐바란(아야나, 포시즌) 또는 누사두아(물리아) 4박 정도 하고 싶어요.<br>상담사: 안녕하세요, ▲▲▲님! ▲▲▲▲ 여행사입니다. 올해는 ▲▲월부터 ▲월에 발리 사전예약이 많았어요. ▲월 말부터 코로나19 사태 이후 예약이 조금 줄어들긴 했지만, 여전히 많은 분들이 예약하고 계세요. 인기 있는 호텔은 벌써 ▲~▲월 특정 날짜가 풀부킹된 경우도 있어요.<br>고객: 그럼 ▲월 초에 예약하면 정말 늦을까요?<br>상담사: ▲월 초에 ▲월 중순 출발을 예약하는 게 늦을 수도 있고, 아닐 수도 있어요. 발리에 호텔이 많아서 미리 예약하시는 분들이 80~90% 정도고, 막판에 예약하시는 분들도 10~20% 정도 있거든요.<br>고객: 그럼 제가 원하는 호텔이 없으면 다른 호텔로 가야 할까요?<br>상담사: 만약 정하신 호텔을 꼭 가야 한다면 미리 예약하시는 게 좋고, ▲~▲월에 취소하셔도 괜찮아요. 여름 성수기에는 일반적으로 한 달 전에 취소하면 캔슬피가 없어요.<br>고객: 그렇군요. 그런데 여행사 취소 수수료는 어떻게 되나요?<br>상담사: 저희 여행사에서는 취소 수수료가 3만 원이 있어요. 호텔별로 다르긴 하지만, 이 점도 참고해 주시면 좋겠어요.<br>고객: 알겠습니다. 감사합니다. 좋은 주말 되세요!<br>상담사: 네, ▲▲▲님도 행복한 주말 되세요! 언제든지 궁금한 점 있으면 문의해 주세요.</code> | | <code>안녕하세요. ▲▲월 ▲▲일부터 ▲▲일까지 예약하고 싶은데, 가능한지 궁금해요.</code> | <code>고객: 안녕하세요. ▲▲월 ▲▲일부터 ▲▲일까지 예약하고 싶은데, 가능한지 궁금해요.<br>상담사: 안녕하세요! 예약하고 싶은 호텔에 대해 말씀해 주시면 확인해 드릴게요.<br>고객: 노보텔 응우라이 에어포트 호텔은 가능한가요?<br>상담사: 아쉽게도 노보텔 호텔은 저희 쪽에서 예약이 불가능해요. 다른 호텔들은 예약 가능하니 확인해 드릴게요.<br>고객: 그럼 더블식스 스미냑과 우붓 파르마 리조트는 어떤가요?<br>상담사: 네, 더블식스 스미냑 디럭스 스위트 오션뷰는 2박에 $485로 예약 가능하고, 우붓 파르마 리조트 프리미어룸은 2박에 $465로 예약할 수 있어요. 이 가격은 25% 할인 적용된 금액이에요.<br>고객: 사마베 발리 허니문 패키지는요?<br>상담사: 사마베 허니문 3박 패키지는 허니문 스위트룸이 $1,425, 원베드룸 풀빌라는 $1,795로 예약 가능해요. 올인클루시브 1일 제공되고, 데브단쇼도 1회 관람할 수 있어요.<br>고객: 예약을 진행하려면 어떤 절차를 따라야 하나요?<br>상담사: 예약 원하시면 두 분의 영문 및 한글 이름, 생년월일, 대표자 이메일 주소와 연락처를 이메일로 보내주시면 돼요.<br>고객: 공항 픽업 예약 시 취소가 가능하다면 언제까지 가능한가요?<br>상담사: 공항 픽업은 무료로 제공되며, 우붓 지역은 $15에 이용할 수 있어요. 항공편 정보도 함께 적어주시면 됩니다.<br>고객: 고맙습니다. 잘 부탁드립니다!<br>상담사: 감사합니다! 예약 진행 후에 필요한 정보 보내주시면 최선을 다해 도와드릴게요. 좋은 하루 되세요!</code> |
- Loss: <code>MultipleNegativesRankingLoss</code> with these parameters:
{
"scale": 20.0,
"similarity_fct": "cos_sim"
}Unnamed Dataset
- Size: 200 training samples
- Columns: <code>sentence0</code> and <code>sentence1</code>
- Approximate statistics based on the first 200 samples: | | sentence0 | sentence1 | |:--------|:----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------| | type | string | string | | details | <ul><li>min: 9 tokens</li><li>mean: 11.15 tokens</li><li>max: 14 tokens</li></ul> | <ul><li>min: 24 tokens</li><li>mean: 32.0 tokens</li><li>max: 48 tokens</li></ul> |
- Samples: | sentence0 | sentence1 | |:----------------------------|:---------------------------------------------------------------------------| | <code>고객: NCF 내야해?</code> | <code>상담사: NCF는 National Carrier Fee로 국가별 추가요금입니다. 요금표 참고해 주세요.</code> | | <code>고객: DLY 수수료는?</code> | <code>상담사: DLY는 지연 수수료입니다. 3시간 이상 지연 시 청구됩니다.</code> | | <code>고객: 티켓 리이슈 가능?</code> | <code>상담사: 네, 고객님. 리이슈—즉 항공권 재발행 도와드릴 수 있습니다. 날짜나 시간이 변경되시면 도와드릴게요.</code> |
- Loss: <code>MultipleNegativesRankingLoss</code> with these parameters:
{
"scale": 20.0,
"similarity_fct": "cos_sim"
}Training Hyperparameters
Non-Default Hyperparameters
per_device_train_batch_size: 16per_device_eval_batch_size: 16num_train_epochs: 5multi_dataset_batch_sampler: round_robin
All Hyperparameters
<details><summary>Click to expand</summary>
overwrite_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: 5max_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: {'minnumparams': 0, 'xla': False, 'xlafsdpv2': False, 'xlafsdpgrad_ckpt': False}fsdp_transformer_layer_cls_to_wrap: Noneaccelerator_config: {'splitbatches': False, 'dispatchbatches': None, 'evenbatches': True, 'useseedablesampler': True, 'nonblocking': False, 'gradientaccumulationkwargs': 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
</details>
Framework Versions
- Python: 3.10.12
- Sentence Transformers: 3.3.1
- Transformers: 4.48.0
- PyTorch: 2.7.1+cu126
- Accelerate: 1.2.1
- Datasets: 3.2.0
- Tokenizers: 0.21.2
Citation
BibTeX
Sentence Transformers
@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",
}MultipleNegativesRankingLoss
@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}
}<!--
Glossary
Clearly define terms in order to be accessible across audiences. -->
<!--
Model Card Authors
Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction. -->
<!--
Model Card Contact
Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors. -->
