Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 12
This is a sentence-transformers model finetuned from vinai/phobert-base. 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': 128, '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("trongvox/phobert-semactic-retrival-food-2")
# Run inference
sentences = [
'Ốc vú nàng khá quý hiếm, là một trong những món ăn đặc sản ngon nổi tiếng nhất tại Côn Đảo. Ốc vú nàng có vỏ hình chóp lệch, trên đỉnh có một núm nhỏ, vỏ ngoài màu xám đen, mặt trong lấp lánh ánh xà cừ, dùng cát xát vào vỏ thì con ốc sẽ ánh lên một màu hồng sáng, càng lớn thì vỏ ốc có màu hồng càng đậm. \n\nThông thường, ốc vú nàng chỉ to bằng khoảng ba ngón tay người lớn, nhưng ốc vú nàng ở Côn Đảo có thể to gần bằng bàn tay. Ốc vú nàng có vô vàn cách chế biến và cách thưởng thức khác nhau như luộc, làm gỏi, hấp... nhưng được ưa thích nhất là nướng. Dù chế biến theo cách nào thì cũng đều mang một hương vị thơm ngon riêng biệt không lẫn với bất kỳ loại ốc nào. Loại ốc vú nàng này được ngư dân Côn Đảo khai thác chủ yếu tại khu vực Hòn Tài, Hòn Trác và luôn giữ được độ tươi khi đưa vào chế biến.',
'Ốc vú nàng',
'Trứng chiên thịt băm',
]
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]
sentence_0, sentence_1, and label| sentence_0 | sentence_1 | label | |
|---|---|---|---|
| type | string | string | float |
| details |
|
|
|
| sentence_0 | sentence_1 | label |
|---|---|---|
Vua ngon, vua re, vua bo la 3 the manh cua mon an nay trong bua com sinh vien. Phan da, mon an nay mot tuan xuat hien tu 5 den 7 lan mot tuan trong mam com cua sinh vien vi no don gian, de nau va cung kha day du dinh duong. Do nuoc sot ca chua len dau hu vua ran rac hanh la va tieu len la an vo cung bat com. Day la mon vua ngon, vua re an cung com nong. Rieng mon an ve dau, ban co the tha ho sang tao va che bien. Dau hu mang rat nhieu chat dinh duong, va dac biet la dam khi che bien cung ca chua se rat phu hop. Mon an nay tuy re nhung cung rat bo do. |
Đậu hũ sốt cà chua |
1.0 |
Du troi nang hay mua, mua dong gia ret hay mua he nong nuc thi mon kem van la mon an "khong the cuong lai duoc" va nhat la loai kem socola. Cach lam kem socola cung kha don gian va ban co the tu lam tai nha.Nguyen lieu:Whipping cream: 400 gSua dac: 140 gBot ca cao nguyen chat: 60 gHop dung, pho danh trung hoac may danh trungCach lam:Dau tien cho 400g whipping da duoc lam lanh ra to lon. Dung phoi hoac may danh trung danh den khi whipping chuyen trang thai bong mem. Nhat phoi len tao chop hoi quap xuong.Cho 140g sua dac va 60g bot ca cao nguyen chat vao whipping. Dung phoi long tron deu hon hop len. Luu y dung tron qua lau se khien hon hop bi tach nuoc. Khi hon hop deu, kha dac va sanh min thi dat.Sau khi tron deu hon hop, ban cho hon hop vao khuon, khay hay to, roi dung phoi dan cho deu hon hop. Sau do, dung mang boc thuc pham boc kin be mat lop kem lai roi cho vao ngan da tu lanh khoang 4 tieng dong ho.Sau 4 tieng lay kem ra va thuong thuc. De tang them mui vi, ban co the an kem kem v... |
Kem socola |
1.0 |
Nguyen lieu: |
Sườn kho tàu |
1.0 |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
per_device_train_batch_size: 16per_device_eval_batch_size: 16num_train_epochs: 4multi_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: 4max_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: 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| Epoch | Step | Training Loss |
|---|---|---|
| 0.2138 | 500 | 2.1363 |
| 0.4275 | 1000 | 1.9874 |
| 0.6413 | 1500 | 1.9273 |
| 0.8551 | 2000 | 1.9023 |
| 1.0688 | 2500 | 1.8001 |
| 1.2826 | 3000 | 1.6671 |
| 1.4964 | 3500 | 1.6611 |
| 1.7101 | 4000 | 1.6839 |
| 1.9239 | 4500 | 1.6716 |
| 2.1377 | 5000 | 1.5615 |
| 2.3514 | 5500 | 1.4695 |
| 2.5652 | 6000 | 1.4506 |
| 2.7790 | 6500 | 1.4754 |
| 2.9927 | 7000 | 1.4856 |
| 3.2065 | 7500 | 1.3189 |
| 3.4203 | 8000 | 1.3134 |
| 3.6340 | 8500 | 1.3328 |
| 3.8478 | 9000 | 1.3009 |
@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
vinai/phobert-base