Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 13
How to use phi010402/finetune-alqac-question-generation-3 with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("phi010402/finetune-alqac-question-generation-3")
sentences = [
"Khi vợ chồng thật sự tự nguyện ly hôn \nvà đã thỏa thuận về việc chia tài sản, \nviệc trông nom, nuôi dưỡng, chăm sóc, \ngiáo dục con trên cơ sở đảm bảo quyền \nlợi chính đáng của vợ và con thì Tòa án \ngiải quyết việc ly hôn, đúng hay sai ?",
"Đánh giá điều kiện an ninh mạng đối với hệ thống thông tin quan trọng về an ninh quốc gia\n\n1. Đánh giá điều kiện về an ninh mạng là hoạt động xem xét sự đáp ứng về an ninh mạng của hệ thống thông tin trước khi đưa vào vận hành, sử dụng.\n\n2. Hệ thống thông tin quan trọng về an ninh quốc gia phải đáp ứng các điều kiện sau đây về:\n\na) Quy định, quy trình và phương án bảo đảm an ninh mạng; nhân sự vận hành, quản trị hệ thống;\n\nb) Bảo đảm an ninh mạng đối với trang thiết bị, phần cứng, phần mềm là thành phần hệ thống;\n\nc) Biện pháp kỹ thuật để giám sát, bảo vệ an ninh mạng; biện pháp bảo vệ hệ thống điều khiển và giám sát tự động, Internet vạn vật, hệ thống phức hợp thực - ảo, điện toán đám mây, hệ thống dữ liệu lớn, hệ thống dữ liệu nhanh, hệ thống trí tuệ nhân tạo;\n\nd) Biện pháp bảo đảm an ninh vật lý bao gồm cách ly cô lập đặc biệt, chống rò rỉ dữ liệu, chống thu tin, kiểm soát ra vào.\n\n3. Thẩm quyền đánh giá điều kiện an ninh mạng đối với hệ thống thông tin quan trọng về an ninh quốc gia được quy định như sau:\n\na) Lực lượng chuyên trách bảo vệ an ninh mạng thuộc Bộ Công an đánh giá, chứng nhận đủ điều kiện an ninh mạng đối với hệ thống thông tin quan trọng về an ninh quốc gia, trừ trường hợp quy định tại điểm b và điểm c khoản này;\n\nb) Lực lượng chuyên trách bảo vệ an ninh mạng thuộc Bộ Quốc phòng đánh giá, chứng nhận đủ điều kiện an ninh mạng đối với hệ thống thông tin quân sự;\n\nc) Ban Cơ yếu Chính phủ đánh giá, chứng nhận đủ điều kiện an ninh mạng đối với hệ thống thông tin cơ yếu thuộc Ban Cơ yếu Chính phủ.\n\n4. Hệ thống thông tin quan trọng về an ninh quốc gia được đưa vào vận hành, sử dụng sau khi được chứng nhận đủ điều kiện an ninh mạng.\n\n5. Chính phủ quy định chi tiết khoản 2 Điều này.",
"Sửa đổi, bổ sung, bãi bỏ một số điều của các luật có liên quan đến quản lý cư trú\n\n1. Sửa đổi, bổ sung khoản 1 Điều 9 của Luật Căn cước công dân số 59/2014/QH13 như sau:\n\n“1. Nội dung thông tin được thu thập, cập nhật gồm:\n\na) Họ, chữ đệm và tên khai sinh;\n\nb) Ngày, tháng, năm sinh;\n\nc) Giới tính;\n\nd) Nơi đăng ký khai sinh;\n\nđ) Quê quán;\n\ne) Dân tộc;\n\ng) Tôn giáo;\n\nh) Quốc tịch;\n\ni) Tình trạng hôn nhân;\n\nk) Nơi thường trú;\n\nl) Nơi tạm trú;\n\nm) Tình trạng khai báo tạm vắng;\n\nn) Nơi ở hiện tại;\n\no) Quan hệ với chủ hộ;\n\np) Nhóm máu, khi công dân yêu cầu cập nhật và xuất trình kết luận về xét nghiệm xác định nhóm máu của người đó;\n\nq) Họ, chữ đệm và tên, số định danh cá nhân hoặc số Chứng minh nhân dân, quốc tịch của cha, mẹ, vợ, chồng hoặc người đại diện hợp pháp;\n\nr) Họ, chữ đệm và tên, số định danh cá nhân hoặc số Chứng minh nhân dân của chủ hộ và các thành viên hộ gia đình;\n\ns) Ngày, tháng, năm chết hoặc mất tích.”.\n\n2. Sửa đổi, bổ sung khoản 7 Điều 2 của Luật Bảo hiểm y tế số 25/2008/QH12 đã được sửa đổi, bổ sung một số điều theo Luật số 32/2013/QH13, Luật số 46/2014/QH13, Luật số 97/2015/QH13 và Luật số 35/2018/QH14 như sau:\n\n“7. Hộ gia đình tham gia bảo hiểm y tế (sau đây gọi chung là hộ gia đình) là những người cùng đăng ký thường trú hoặc cùng đăng ký tạm trú tại một chỗ ở hợp pháp theo quy định của pháp luật về cư trú.”.\n\n3. Bãi bỏ khoản 3 và khoản 4 Điều 19 của Luật Thủ đô số 25/2012/QH13.\n\n4. Bãi bỏ điểm b khoản 1 Điều 45 của Luật Lý lịch tư pháp số 28/2009/QH12.",
"Thuận tình ly hôn\nTrong trường hợp vợ chồng cùng yêu cầu ly hôn, nếu xét thấy hai bên thật sự tự nguyện ly hôn và đã thỏa thuận về việc chia tài sản, việc trông nom, nuôi dưỡng, chăm sóc, giáo dục con trên cơ sở bảo đảm quyền lợi chính đáng của vợ và con thì Tòa án công nhận thuận tình ly hôn; nếu không thỏa thuận được hoặc có thỏa thuận nhưng không bảo đảm quyền lợi chính đáng của vợ và con thì Tòa án giải quyết việc ly hôn."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from truro7/vn-law-embedding. 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': 512, 'do_lower_case': False}) with Transformer model: XLMRobertaModel
(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})
(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("phi010402/finetune-alqac-question-generation-3")
# Run inference
sentences = [
'Người có khó khăn trong nhận thức, làm chủ hành vi phải tự thực hiện yêu cầu cung cấp thông tin, đúng hay sai?',
'Chủ thể thực hiện quyền tiếp cận thông tin\n\n1. Công dân thực hiện quyền tiếp cận thông tin theo quy định của Luật này.\n\n2. Người mất năng lực hành vi dân sự thực hiện yêu cầu cung cấp thông tin thông qua người đại diện theo pháp luật.\n\nNgười có khó khăn trong nhận thức, làm chủ hành vi thực hiện yêu cầu cung cấp thông tin thông qua người giám hộ.\n\n3. Người dưới 18 tuổi yêu cầu cung cấp thông tin thông qua người đại diện theo pháp luật, trừ trường hợp luật về trẻ em và luật khác có quy định khác.',
'Tình nghĩa vợ chồng\n1. Vợ chồng có nghĩa vụ thương yêu, chung thủy, tôn trọng, quan tâm, chăm sóc, giúp đỡ nhau; cùng nhau chia sẻ, thực hiện các công việc trong gia đình.\n\n2. Vợ chồng có nghĩa vụ sống chung với nhau, trừ trường hợp vợ chồng có thỏa thuận khác hoặc do yêu cầu của nghề nghiệp, công tác, học tập, tham gia các hoạt động chính trị, kinh tế, văn hóa, xã hội và lý do chính đáng khác.',
]
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]
InformationRetrievalEvaluator| Metric | Value |
|---|---|
| cosine_accuracy@1 | 1.0 |
| cosine_accuracy@2 | 1.0 |
| cosine_accuracy@3 | 1.0 |
| cosine_precision@1 | 1.0 |
| cosine_precision@2 | 0.5 |
| cosine_precision@3 | 0.3333 |
| cosine_recall@1 | 1.0 |
| cosine_recall@2 | 1.0 |
| cosine_recall@3 | 1.0 |
| cosine_ndcg@10 | 1.0 |
| cosine_mrr@10 | 1.0 |
| cosine_map@100 | 1.0 |
InformationRetrievalEvaluator| Metric | Value |
|---|---|
| cosine_accuracy@1 | 1.0 |
| cosine_accuracy@2 | 1.0 |
| cosine_accuracy@3 | 1.0 |
| cosine_precision@1 | 1.0 |
| cosine_precision@2 | 0.5 |
| cosine_precision@3 | 0.3333 |
| cosine_recall@1 | 1.0 |
| cosine_recall@2 | 1.0 |
| cosine_recall@3 | 1.0 |
| cosine_ndcg@10 | 1.0 |
| cosine_mrr@10 | 1.0 |
| cosine_map@100 | 1.0 |
anchor and positive| anchor | positive | |
|---|---|---|
| type | string | string |
| details |
|
|
| anchor | positive |
|---|---|
Độ tuổi con có thể tự mình quản lý tài sản riêng là khi nào ? |
Quản lý tài sản riêng của con |
Trong phần quyết định phải ghi rõ các căn cứ pháp luật, quyết định của Hội đồng xét xử về từng vấn đề phải giải quyết trong vụ án, về áp dụng biện pháp khẩn cấp tạm thời, về án phí sơ thẩm, phúc thẩm, chi phí tố tụng (nếu có), đúng hay sai? |
Bản án phúc thẩm |
Thông tin nào sẽ gây nguy hại đến lợi ích của Nhà nước nếu để công dân tiếp cận? |
Thông tin công dân không được tiếp cận |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
eval_strategy: stepsper_device_train_batch_size: 16per_device_eval_batch_size: 16num_train_epochs: 5warmup_ratio: 0.1bf16: Truebatch_sampler: no_duplicatesoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_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: 1.0num_train_epochs: 5max_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: Truefp16: 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}tp_size: 0fsdp_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: 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 | cosine_ndcg@10 |
|---|---|---|---|
| -1 | -1 | - | 1.0 |
| 0.0213 | 1 | 0.0168 | - |
| 2.1277 | 100 | 0.0592 | 1.0 |
| 4.2553 | 200 | 0.0162 | 1.0 |
@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
intfloat/multilingual-e5-base