Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper
•
1908.10084
•
Published
•
10
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("sentence_transformers_model_id")
# Run inference
sentences = [
'Lấn chiếm đất công là đất phi nông nghiệp để xây dựng công trình thì sẽ bị xử phạt vi phạm hành chính như thế nào?',
'Lấn, chiếm đất\n...\n4. Trường hợp lấn, chiếm đất phi nông nghiệp, trừ trường hợp quy định tại khoản 6 Điều này tại khu vực nông thôn thì hình thức và mức xử phạt như sau:\na) Phạt tiền từ 10.000.000 đồng đến 20.000.000 đồng nếu diện tích đất lấn, chiếm dưới 0,05 héc ta;\nb) Phạt tiền từ 20.000.000 đồng đến 40.000.000 đồng nếu diện tích đất lấn, chiếm từ 0,05 héc ta đến dưới 0,1 héc ta;\nc) Phạt tiền từ 40.000.000 đồng đến 100.000.000 đồng nếu diện tích đất lấn, chiếm từ 0,1 héc ta đến dưới 0,5 héc ta;\nd) Phạt tiền từ 100.000.000 đồng đến 200.000.000 đồng nếu diện tích đất lấn, chiếm từ 0,5 héc ta đến dưới 01 héc ta;\nđ) Phạt tiền từ 200.000.000 đồng đến 500.000.000 đồng nếu diện tích đất lấn, chiếm từ 01 héc ta trở lên.\n5. Trường hợp lấn, chiếm đất chưa sử dụng, đất nông nghiệp, đất phi nông nghiệp (trừ trường hợp quy định tại khoản 6 Điều này) tại khu vực đô thị thì mức xử phạt bằng 02 lần mức xử phạt đối với loại đất tương ứng quy định tại các khoản 1, 2, 3 và 4 Điều này và mức phạt tối đa không quá 500.000.000 đồng đối với cá nhân, không quá 1.000.000.000 đồng đối với tổ chức.\n6. Trường hợp lấn, chiếm đất thuộc hành lang bảo vệ an toàn công trình và đất công trình có hành lang bảo vệ, đất trụ sở làm việc và cơ sở hoạt động sự nghiệp của cơ quan, tổ chức theo quy định của pháp luật về quản lý, sử dụng tài sản nhà nước thì hình thức và mức xử phạt thực hiện theo quy định của pháp luật về xử phạt vi phạm hành chính trong lĩnh vực về hoạt động đầu tư xây dựng; khai thác, chế biến, kinh doanh khoáng sản làm vật liệu xây dựng, sản xuất, kinh doanh vật liệu xây dựng; quản lý công trình hạ tầng kỹ thuật; kinh doanh bất động sản, phát triển nhà ở, quản lý sử dụng nhà và công sở; trong lĩnh vực về giao thông đường bộ và đường sắt; trong lĩnh vực về văn hóa, thể thao, du lịch và quảng cáo; trong lĩnh vực về khai thác và bảo vệ công trình thủy lợi; đê điều; phòng, chống lụt, bão; trong lĩnh vực quản lý, sử dụng tài sản nhà nước và các lĩnh vực chuyên ngành khác.\n...Áp dụng mức phạt tiền\n1. Đối tượng áp dụng mức phạt tiền thực ',
'Quy định chung về quy cách thể hiện\n1. Nội dung thể hiện đối với thuyết minh, bản vẽ của nhiệm vụ và đồ án trong hồ sơ lấy ý kiến, hồ sơ trình thẩm định và phê duyệt phải được trình bày rõ ràng, đầy đủ nội dung đối với từng loại, cấp độ quy hoạch và tuân thủ các quy định tại Chương II và các phụ lục của Thông tư này.\n2. Hệ thống ký hiệu bản vẽ của nhiệm vụ và đồ án quy hoạch đô thị, nông thôn phải tuân thủ theo quy định tại các phụ lục kèm theo Thông tư này.\n3. Căn cứ điều kiện, đặc điểm của vùng liên huyện, vùng huyện, đô thị, khu chức năng và khu vực nông thôn được lập quy hoạch, có thể thành lập các bản đồ, sơ đồ riêng cho từng nội dung hiện trạng, định hướng hạ tầng kỹ thuật để đảm bảo thể hiện được đầy đủ các nội dung theo yêu cầu.\n4. Trường hợp quy hoạch vùng, quy hoạch tỉnh chưa được phê duyệt, các bản đồ phương hướng phát triển hệ thống đô thị, nông thôn; bản đồ phương án quy hoạch hệ thống đô thị, nông thôn; bản đồ quy hoạch sử dụng đất cấp tỉnh; bản đồ tổ chức không gian và phân vùng chức năng trong quy hoạch vùng, quy hoạch tỉnh được thay thế bằng sơ đồ định hướng phát triển không gian trong quy hoạch xây dựng vùng tỉnh đã được phê duyệt.\n5. Tất cả các sơ đồ, bản đồ trong thành phần bản vẽ của hồ sơ nhiệm vụ và hồ sơ đồ án quy hoạch đô thị và nông thôn phải thể hiện rõ phạm vi ranh giới lập quy hoạch; ranh giới, tên các đơn vị hành chính trong phạm vi lập quy hoạch; tên đơn vị hành chính tiếp giáp bên ngoài phạm vi lập quy hoạch.',
]
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]
InformationRetrievalEvaluator| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.9121 |
| cosine_accuracy@3 | 0.9832 |
| cosine_accuracy@5 | 0.9908 |
| cosine_accuracy@10 | 0.9958 |
| cosine_precision@1 | 0.9121 |
| cosine_precision@3 | 0.3277 |
| cosine_precision@5 | 0.1982 |
| cosine_precision@10 | 0.0996 |
| cosine_recall@1 | 0.9121 |
| cosine_recall@3 | 0.9832 |
| cosine_recall@5 | 0.9908 |
| cosine_recall@10 | 0.9958 |
| cosine_ndcg@10 | 0.9596 |
| cosine_mrr@10 | 0.9474 |
| cosine_map@100 | 0.9476 |
sentence_0 and sentence_1| sentence_0 | sentence_1 | |
|---|---|---|
| type | string | string |
| details |
|
|
| sentence_0 | sentence_1 |
|---|---|
Báo cáo lưu chuyển tiền tệ hợp nhất cung cấp những thông tin gì cho người sử dụng? |
Cơ sở lập Báo cáo lưu chuyển tiền tệ hợp nhất |
Người đứng đầu cơ sở khám bệnh chữa bệnh triển khai hoạt động dược lâm sàng theo những nội dung nào? |
Điều 80. Nội dung hoạt động dược lâm sàng |
Công ty cổ phần bảo hiểm có trách nhiệm gì khi kinh doanh tái bảo hiểm? |
Quản lý chương trình tái bảo hiểm |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
eval_strategy: stepsper_device_train_batch_size: 10per_device_eval_batch_size: 10num_train_epochs: 1multi_dataset_batch_sampler: round_robinoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 10per_device_eval_batch_size: 10per_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: Falseprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: round_robin| Epoch | Step | Training Loss | cosine_ndcg@10 |
|---|---|---|---|
| 0.0423 | 500 | 0.0229 | - |
| 0.0846 | 1000 | 0.0104 | 0.9464 |
| 0.1268 | 1500 | 0.0153 | - |
| 0.1691 | 2000 | 0.0169 | 0.9437 |
| 0.2114 | 2500 | 0.0149 | - |
| 0.2537 | 3000 | 0.0129 | 0.9506 |
| 0.2959 | 3500 | 0.0134 | - |
| 0.3382 | 4000 | 0.0134 | 0.9455 |
| 0.3805 | 4500 | 0.0155 | - |
| 0.4228 | 5000 | 0.0078 | 0.9518 |
| 0.4650 | 5500 | 0.0105 | - |
| 0.5073 | 6000 | 0.0105 | 0.9475 |
| 0.5496 | 6500 | 0.0118 | - |
| 0.5919 | 7000 | 0.0088 | 0.9505 |
| 0.6341 | 7500 | 0.0082 | - |
| 0.6764 | 8000 | 0.0064 | 0.9567 |
| 0.7187 | 8500 | 0.0064 | - |
| 0.7610 | 9000 | 0.0053 | 0.9591 |
| 0.8032 | 9500 | 0.0091 | - |
| 0.8455 | 10000 | 0.0068 | 0.9576 |
| 0.8878 | 10500 | 0.0075 | - |
| 0.9301 | 11000 | 0.0071 | 0.9583 |
| 0.9724 | 11500 | 0.0061 | - |
| 1.0 | 11827 | - | 0.9596 |
@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