Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 13
How to use strongpear/M3-retriever-LAW with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("strongpear/M3-retriever-LAW")
sentences = [
"Cơ chế một cửa tại Ủy ban Nhân dân huyện Phú Vang được thực hiện như thế nào?",
"Bước 2: UBND cấp xã trong thời hạn 5 ngày có trách nhiệm cấp giấy xác nhận thân nhân của người có công theo mẫu số 45 phụ lục I Nghị định số 131/2021/NĐ-CP, Phí, lệ phí: Không, Tên VBQPPL quy định TTHC được chuẩn hóa: - Pháp lệnh ưu đãi người có công năm 2020; -Nghị định số 131/2021/NĐ-CP ngày 30/12/2021.",
"2. Về chủ trương thí điểm cơ chế cảng mở tại cụm cảng Container khu vực Cái Mép: \nĐồng ý với kiến nghị của Tỉnh, giao Bộ Tài chính chủ trì, phối hợp với Bộ Giao thông vận tải, Bộ Kế hoạch và Đầu tư, Ủy ban nhân dân tỉnh Bà Rịa - Vũng Tàu và các cơ quan liên quan nghiên cứu xây dựng cơ chế, chính sách thí điểm “cảng mở” tại cụm cảng Container khu vực Cái Mép, trình cấp có thẩm quyền theo quy định trong Quý II năm 2022. \n3. Về thành lập Chi cục Kiểm định hải quan tại khu vực cảng Cái Mép - Thị Vải: \nGiao Bộ Tài chính chủ trì, phối hợp với các cơ quan liên quan và tỉnh Bà Rịa - Vũng Tàu khẩn trương triển khai việc thành lập Chi cục Kiểm định hải quan tại khu vực cảng Cái Mép - Thị Vải theo thẩm quyền và quy định hiện hành, Ủy ban nhân dân tỉnh Bà Rịa - Vũng Tàu bố trí địa điểm làm việc, hoàn thành chậm nhất trong Quý II năm 2022. \n4. Về triển khai nhanh dự án đường cao tốc Biên Hòa - Vũng Tàu: \nTrường hợp Chương trình phục hồi và phát triển kinh tế được cấp có thẩm quyền thông qua và cân đối được nguồn vốn cho Dự án, giao Bộ Kế hoạch và Đầu tư chủ trì, phối hợp với Bộ Tài chính, Bộ Giao thông vận tải, Ủy ban nhân dân các tỉnh: Bà Rịa - Vũng Tàu, Đồng Nai, báo cáo Thủ tướng Chính phủ theo quy định.",
"Điều 3. Chánh Văn phòng Uỷ ban Nhân dân tỉnh, Giám đốc Sở Nội vụ, Chủ tịch UBND huyện Phú Vang, Thủ trưởng các cơ quan chuyên môn thuộc UBND tỉnh và các tổ chức, cá nhân liên quan chịu trách nhiệm thi hành Quyết định này./. \nQUY ĐỊNH VIỆC TIẾP NHẬN, GIẢI QUYẾT THỦ TỤC HÀNH CHÍNH THEO CƠ CHẾ MỘT CỬA TẠI ỦY BAN NHÂN DÂN HUYỆN PHÚ VANG (Ban hành kèm theo Quyết định số 1063/QĐ-UBND ngày 06 tháng 5 năm 2008 của Chủ tịch Ủy ban Nhân dân tỉnh) Chương 1: \nĐiều 1. Cơ chế một cửa tại Ủy ban Nhân dân huyện Phú Vang Cơ chế một cửa tại Ủy ban Nhân dân (UBND) huyện Phú Vang là cơ chế giải quyết công việc của tổ chức, cá nhân thuộc trách nhiệm, thẩm quyền của UBND huyện, Chủ tịch UBND huyện Phú Vang; từ hướng dẫn - tiếp nhận hồ sơ, thụ lý hồ sơ đến giao trả kết quả được thực hiện tại một đầu mối là “Bộ phận tiếp nhận và trả kết quả” (sau đây gọi tắt là Bộ phận một cửa) của UBND huyện đặt tại Văn phòng HĐND và UBND huyện, do Chủ tịch UBND huyện thành lập. \n1. Công khai thủ tục hành chính; giải quyết nhanh gọn các thủ tục hành chính thuộc thẩm quyền giải quyết của UBND huyện và Chủ tịch UBND huyện, đáp ứng một cách tốt nhất mọi nhu cầu hợp pháp của tổ chức, cá nhân theo đúng quy định của pháp luật; phục vụ công cuộc phát triển kinh tế - xã hội của địa phương. \n2. Không ngừng nâng cao chất lượng giải quyết hồ sơ, đảm bảo thời hạn giao trả hồ sơ theo quy định; xác định trách nhiệm của công chức trực tiếp tham gia giải quyết hồ sơ đảm bảo sự thống nhất đồng bộ từ khâu tiếp nhận đến giao trả hồ sơ tại UBND huyện Phú Vang. \nĐiều 3."
]
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("strongpear/M3-retriever-LAW")
# Run inference
sentences = [
'Các hình thức tuyên truyền nào được đề cập trong ngữ cảnh?',
'Kịch nói, văn nghệ quần chúng: None, Kịch nói, văn nghệ quần chúng.1: None, Kịch nói, văn nghệ quần chúng.2: None, Kịch nói, văn nghệ quần chúng.3: None, Chiếu phim lưu động: None, Chiếu phim lưu động.1: None, Chiếu phim lưu động.2: None, Chiếu phim lưu động.3: None, Gương điển hình: None, Gương điển hình.1: None, Gương điển hình.2: None, Gương điển hình.3: None, Tuyên truyền miệng (thông qua họp chợ, họp thôn, chi bộ, hội nghị.): None, Tuyên truyền miệng (thông qua họp chợ, họp thôn, chi bộ, hội nghị.).1: None, Tuyên truyền miệng (thông qua họp chợ, họp thôn, chi bộ, hội nghị.).2: None, Tuyên truyền miệng (thông qua họp chợ, họp thôn, chi bộ, hội nghị.).3: None, Tổ chức ra quân: None, Tổ chức ra quân.1: None, Tổ chức ra quân.2: None, Tổ chức ra quân.3: None TT: . Địa điểm thực hiện: . Kịch nói, văn nghệ quần chúng: None, Kịch nói, văn nghệ quần chúng.1: None, Kịch nói, văn nghệ quần chúng.2: None, Kịch nói, văn nghệ quần chúng.3: None, Chiếu phim lưu động: None, Chiếu phim lưu động.1: None, Chiếu phim lưu động.2: None, Chiếu phim lưu động.3: None, Gương điển hình: None, Gương điển hình.1: None, Gương điển hình.2: None, Gương điển hình.3: None, Tuyên truyền miệng (thông qua họp chợ, họp thôn, chi bộ, hội nghị.): None, Tuyên truyền miệng (thông qua họp chợ, họp thôn, chi bộ, hội nghị.).1: None, Tuyên truyền miệng (thông qua họp chợ, họp thôn, chi bộ, hội nghị.).2: None, Tuyên truyền miệng (thông qua họp chợ, họp thôn, chi bộ, hội nghị.).3: None, Tổ chức ra quân: None, Tổ chức ra quân.1: None, Tổ chức ra quân.2: None, Tổ chức ra quân.3: None TT: TỔNG CỘNG, Địa điểm thực hiện: TỔNG CỘNG, Kịch nói, văn nghệ quần chúng: -, Kịch nói, văn nghệ quần chúng.1: -, Kịch nói,',
'0, Tên cơ sở: Nhà máy chế biến thủy sản của Công ty CP thực phẩm Sao Ta, Địa chỉ: Km2132, Quốc lộ 1A, phường 2, thành phố Sóc Trăng, tỉnh Sóc Trăng, Nội dung: Kiểm tra tiến độ xử lý ô nhiễm triệt để và việc chấp hành các quy định về bảo vệ môi trường đối với cơ sở gây ô nhiễm môi trường nghiêm trọng mới phát sinh phải xử lý trong giai đoạn 2 của Quyết định số 64/2003/QĐ-TTg của Nhà máy chế biến thủy sản của Công ty CP thực phẩm Sao Ta, Địa điểm, thành phần làm việc với Đoàn kiểm tra: - Trụ sở Nhà máy chế biến thủy sản của Công ty CP thực phẩm Sao Ta; - Đại diện lãnh đạo và cán bộ phụ trách môi trường của Nhà máy chế biến thủy sản của Công ty CP thực phẩm Sao Ta; Thời gian công bố Quyết định: 08h00 ngày 20/07/2011 Stt: 5.0, Tên cơ sở: Nhà máy thu mua - chế biến thủy sản Thanh Khiết (Công ty TNHH Thanh Khiết), Địa chỉ: Thị trấn Vĩnh Châu, huyện Vĩnh Châu, tỉnh Sóc Trăng, Nội dung: Kiểm tra tiến độ xử lý ô nhiễm triệt để và việc chấp hành các quy định về bảo vệ môi trường đối với cơ sở gây ô nhiễm môi trường nghiêm trọng mới phát sinh phải xử lý trong giai đoạn 2 của Quyết định số 64/2003/QĐ-TTg của Nhà máy thu mua - chế biến thủy sản Thanh Khiết, Địa điểm, thành phần làm việc với Đoàn kiểm tra: - Trụ sở Nhà máy thu mua - chế biến thủy sản Thanh Khiết; - Đại diện lãnh đạo và cán bộ phụ trách môi trường của Nhà máy thu mua - chế biến thủy sản Thanh Khiết; Thời gian công bố Quyết định: 14h00 ngày 20/07/2011 Stt: 6.0, Tên cơ sở: Xưởng sản xuất của Công ty TNHH Phương Nam, Địa chỉ: Quốc lộ 1, phường 7, thành phố Sóc Trăng, tỉnh Sóc Trăng,',
]
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]
anchor and positive| anchor | positive | |
|---|---|---|
| type | string | string |
| details |
|
|
| anchor | positive |
|---|---|
Các công việc đo vẽ bản đồ tỷ lệ 1/200 có đường đồng mức 0,5m và 1m địa hình I, II, III, IV, V có mã đơn giá nào? |
đường đồng mức 0,5m địa hình II, Đơn vị: Ha, Vật liệu: 64.301, VÙNG III: 3.218.736, VÙNG III.1: 241.655, VÙNG IV: 3.048.518, VÙNG IV.1: 241.655 Mã đơn giá: CK.11130, Công việc: Đo vẽ bản đồ tỷ lệ 1/200, đường đồng mức 0,5m địa hình III, Đơn vị: Ha, Vật liệu: 81.295, VÙNG III: 4.403.904, VÙNG III.1: 370.187, VÙNG IV: 4.171.010, VÙNG IV.1: 370.187 Mã đơn giá: CK.11140, Công việc: Đo vẽ bản đồ tỷ lệ 1/200, đường đồng mức 0,5m địa hình IV, Đơn vị: Ha, Vật liệu: 81.295, VÙNG III: 5.875.488, VÙNG III.1: 451.529, VÙNG IV: 5.564.771, VÙNG IV.1: 451.529 Mã đơn giá: CK.11150, Công việc: Đo vẽ bản đồ tỷ lệ 1/200, đường đồng mức 0,5m địa hình V, Đơn vị: Ha, Vật liệu: 98.288, VÙNG III: 8.207.280, VÙNG III.1: 640.465, VÙNG IV: 7.773.250, VÙNG IV.1: 640.465 Mã đơn giá: CK.11200, Công việc: Đo vẽ bản đồ tỷ lệ 1/200, đường đồng mức 1 m, Đơn vị: None, Vật liệu: None, VÙNG III: None, VÙNG III.1: None, VÙNG IV: None, VÙNG IV.1: None Mã đơn giá: CK.11210, Công việc: Đo vẽ bản đồ tỷ lệ 1/200, đường đồ... |
Sở Y tế có những nhiệm vụ gì để nâng cao chất lượng dịch vụ chăm sóc sức khỏe cho người dân? |
Sở Y tế phối hợp cùng các sở, ngành có liên quan: - Củng cố mạng lưới y tế cơ sở, phát triển sự nghiệp y tế, nâng cao chất lượng các dịch vụ chăm sóc sức khỏe; đảm bảo cho mọi người dân đều dễ dàng được tiếp cận các dịch vụ y tế, đặc biệt là ở vùng sâu, vùng xa, vùng khó khăn và người nghèo, tạo sự công bằng trong khám chữa bệnh. - Bảo hiểm xã hội tỉnh, Sở Lao động, Thương binh và Xã hội, UBND các huyện, thành phố triển khai thực hiện tốt chính sách BHYT cho người nghèo, người khó khăn và các đối tượng chính sách được hưởng các dịch vụ y tế. - Từng bước khắc phục tình trạng quá tải bệnh viện tuyến tỉnh; chủ động áp dụng chế độ luân phiên cán bộ y tế xuống tuyến dưới, nâng cao chất lượng khám chữa bệnh. Quản lý chặt chẽ chất lượng và chấp hành pháp luật trong khám chữa bệnh, thị trường thuốc chữa bệnh, nâng cao y đức trong khám chữa bệnh, đa dạng hóa các loại hình dịch vụ y tế kỹ thuật cao; huy động các nguồn lực để đầu tư xây dựng hệ thống các bệnh viện, phòng khám đa khoa khu vực, mua... |
Sở Văn hóa, Thể thao và Du lịch có những nhiệm vụ gì trong việc quản lý băng đĩa và trò chơi trên địa bàn tỉnh? |
Sở Văn hóa, Thể thao và Du lịch. |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
anchor and positive| anchor | positive | |
|---|---|---|
| type | string | string |
| details |
|
|
| anchor | positive |
|---|---|
Chủ tịch UBND các huyện, thị xã, thành phố có trách nhiệm gì trong việc quản lý phân bón? |
e) Định kỳ 06 (sáu) tháng, hàng năm Chủ tịch UBND các huyện, thị xã, thành phố có trách nhiệm báo cáo công tác quản lý nhà nước đối với các hoạt động quản lý phân bón trên địa bàn, đồng thời kiến nghị biện pháp, giải pháp nhằm nâng cao chất lượng, hiệu quả quản lý nhà nước đối với việc quản lý phân bón về Sở Nông nghiệp và Phát triển nông thôn để tổng hợp, báo cáo UBND tỉnh. |
Trung tâm và Chi nhánh cần tăng cường đầu tư kinh phí từ đâu để đáp ứng yêu cầu nhiệm vụ? |
- Tăng cường đầu tư kinh phí từ nguồn ngân sách Nhà nước và từ các chương trình mục tiêu quốc gia, từ các nguồn hỗ trợ, đáp ứng yêu cầu nhiệm vụ của Trung tâm và Chi nhánh. |
Công tác lập hồ sơ hiện hành và giao nộp hồ sơ vào lưu trữ cơ quan đã có những chuyển biến gì trong thời gian qua? |
Phần I. |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
eval_strategy: stepsper_device_train_batch_size: 32per_device_eval_batch_size: 32warmup_ratio: 0.1load_best_model_at_end: Truebatch_sampler: no_duplicatesoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 32per_device_eval_batch_size: 32per_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: 1.0num_train_epochs: 3max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.1warmup_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: Trueignore_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: no_duplicatesmulti_dataset_batch_sampler: proportional| Epoch | Step | Training Loss | Validation Loss |
|---|---|---|---|
| 0.0718 | 200 | 0.0673 | 0.0142 |
| 0.1436 | 400 | 0.0245 | 0.0125 |
| 0.2154 | 600 | 0.03 | 0.0157 |
| 0.2873 | 800 | 0.033 | 0.0295 |
| 0.3591 | 1000 | 0.0374 | 0.0214 |
| 0.4309 | 1200 | 0.0304 | 0.0308 |
| 0.5027 | 1400 | 0.0324 | 0.0147 |
| 0.5745 | 1600 | 0.0326 | 0.0277 |
| 0.6463 | 1800 | 0.0317 | 0.0223 |
| 0.7181 | 2000 | 0.0323 | 0.0218 |
| 0.7899 | 2200 | 0.029 | 0.0240 |
| 0.8618 | 2400 | 0.0271 | 0.0205 |
| 0.9336 | 2600 | 0.0227 | 0.0175 |
| 1.0054 | 2800 | 0.0291 | 0.0212 |
| 1.0772 | 3000 | 0.0196 | 0.0273 |
| 1.1490 | 3200 | 0.014 | 0.0202 |
| 1.2208 | 3400 | 0.012 | 0.0193 |
| 1.2926 | 3600 | 0.0093 | 0.0230 |
| 1.3645 | 3800 | 0.0109 | 0.0153 |
| 1.4363 | 4000 | 0.0061 | 0.0227 |
| 1.5081 | 4200 | 0.0075 | 0.0246 |
| 1.5799 | 4400 | 0.0067 | 0.0212 |
| 1.6517 | 4600 | 0.0103 | 0.0180 |
| 1.7235 | 4800 | 0.0095 | 0.0170 |
| 1.7953 | 5000 | 0.0075 | 0.0177 |
| 1.8671 | 5200 | 0.0071 | 0.0176 |
| 1.9390 | 5400 | 0.0059 | 0.0166 |
| 2.0108 | 5600 | 0.0069 | 0.0151 |
| 2.0826 | 5800 | 0.0052 | 0.0162 |
| 2.1544 | 6000 | 0.0043 | 0.0153 |
| 2.2262 | 6200 | 0.0044 | 0.0170 |
| 2.2980 | 6400 | 0.0025 | 0.0173 |
| 2.3698 | 6600 | 0.0028 | 0.0154 |
| 2.4417 | 6800 | 0.0017 | 0.0150 |
| 2.5135 | 7000 | 0.0025 | 0.0166 |
| 2.5853 | 7200 | 0.0028 | 0.0150 |
| 2.6571 | 7400 | 0.0022 | 0.0129 |
| 2.7289 | 7600 | 0.0035 | 0.0136 |
| 2.8007 | 7800 | 0.0022 | 0.0129 |
| 2.8725 | 8000 | 0.0021 | 0.0132 |
| 2.9443 | 8200 | 0.0026 | 0.0135 |
@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