Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 17
How to use binh230/bge-m3-finetuned-1 with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("binh230/bge-m3-finetuned-1")
sentences = [
"Ai ra quyết định thành lập Tủ sách pháp luật tại xã đặc biệt khó khăn?",
"Hội đồng dân tộc, các Ủy ban của Quốc hội\n1. Hội đồng dân tộc, Ủy ban của Quốc hội là cơ quan của Quốc hội, chịu trách nhiệm và báo cáo công tác trước Quốc hội; trong thời gian Quốc hội không họp thì báo cáo công tác trước Ủy ban thường vụ Quốc hội.\n2. Các Ủy ban của Quốc hội gồm:\na) Ủy ban pháp luật;\nb) Ủy ban tư pháp;\nc) Ủy ban kinh tế;\nd) Ủy ban tài chính, ngân sách;\nđ) Ủy ban quốc phòng và an ninh;\ne) Ủy ban văn hoá, giáo dục;\ng) Ủy ban xã hội;\nh) Ủy ban khoa học, công nghệ và môi trường;\ni) Ủy ban đối ngoại.\n3. Quốc hội thành lập Ủy ban lâm thời của Quốc hội theo quy định tại Điều 88 và Điều 89 của Luật này.",
"Xây dựng Tủ sách pháp luật\n1. Thành lập Tủ sách pháp luật\na) Chủ tịch Ủy ban nhân dân xã đặc biệt khó khăn, Thủ trưởng cơ quan, đơn vị của lực lượng vũ trang nhân dân ra quyết định thành lập Tủ sách pháp luật. Quyết định thành lập phải quy định cụ thể về địa điểm đặt Tủ sách pháp luật; người phụ trách và quyền hạn, nhiệm vụ của người phụ trách; phạm vi và đối tượng phục vụ; Nội quy hoạt động và kinh phí hoạt động của Tủ sách pháp luật.\nb) Chủ tịch Ủy ban nhân dân cấp tỉnh chỉ đạo việc quản lý, khai thác thống nhất sách, tài liệu của Tủ sách pháp luật và sách, tài liệu pháp luật của Thư viện xã, điểm Bưu điện - Văn hóa xã, Trung tâm học tập cộng đồng phù hợp với thực tiễn tại địa phương. Trên cơ sở ý kiến của Thủ tướng Chính phủ và Ban Bí thư Trung ương Đảng quy định tại điểm d khoản 1 Điều 14 của Quyết định này, Chủ tịch Ủy ban nhân dân cấp tỉnh thực hiện quản lý sách, tài liệu của Tủ sách pháp luật và sách, tài liệu pháp luật của Đề án trang bị sách cho cơ sở xã, phường, thị trấn.",
"Nhiệm vụ, quyền hạn của trường trung cấp\nTrường trung cấp thực hiện nhiệm vụ, quyền hạn theo quy định tại Điều 23 của Luật Giáo dục nghề nghiệp, quy định của pháp luật có liên quan và các quy định sau đây:\n...\n2. Quyền hạn:\na) Xây dựng và tổ chức thực hiện kế hoạch, chiến lược phát triển trường phù hợp với chiến lược phát triển giáo dục nghề nghiệp nhằm đáp ứng yêu cầu của thị trường lao động;\nb) Tổ chức đào tạo các chương trình giáo dục nghề nghiệp theo quy định của Bộ trưởng Bộ Lao động - Thương binh và Xã hội;\nc) Liên kết với cơ sở giáo dục nghề nghiệp, cơ sở giáo dục đại học, doanh nghiệp, tổ chức trong nước và nước ngoài theo quy định của pháp luật nhằm khai thác, huy động các nguồn lực xã hội trong thực hiện các chương trình đào tạo giáo dục nghề nghiệp để nâng cao chất lượng đào tạo, gắn đào tạo với việc làm và thị trường lao động. Đơn vị chủ trì liên kết đào tạo chịu trách nhiệm cấp văn bằng, chứng chỉ cho người học;\nd) Liên kết, phối hợp với trường cao đẳng tổ chức đào tạo liên thông từ trình độ sơ cấp, trình độ trung cấp lên trình độ cao đẳng theo quy định của Luật Giáo dục nghề nghiệp và các văn bản hướng dẫn thi hành;\nđ) Liên kết, phối hợp với cơ sở giáo dục đại học tổ chức đào tạo trình độ đại học theo hình thức vừa làm vừa học và đào tạo liên thông từ trình độ trung cấp lên trình độ đại học theo quy định của Luật Giáo dục đại học và các văn bản hướng dẫn thi hành;\ne) Phối hợp với doanh nghiệp, cơ sở sản xuất, kinh doanh, dịch vụ trong hoạt động xây dựng chương trình, giáo trình đào tạo, tài liệu, học liệu giảng dạy; tổ chức giảng dạy, hướng dẫn thực hành, thực tập, đánh giá kết quả học tập của người học; bồi dưỡng nâng cao trình độ chuyên môn, nghiệp vụ cho nhà giáo;\ng) Tổ chức giảng dạy khối lượng kiến thức văn hóa trung học phổ thông cho học sinh có bằng tốt nghiệp trung học cơ sở theo học trình độ trung cấp theo quy định của Luật Giáo dục và các văn bản hướng dẫn thi hành;:\n..."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]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