SentenceTransformer based on truro7/vn-law-embedding

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.

Model Details

Model Description

  • Model Type: Sentence Transformer
  • Base model: truro7/vn-law-embedding
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

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()
)

Usage

Direct Usage (Sentence Transformers)

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-law-embeddin-zalo-1100")
# Run inference
sentences = [
    'Trách nhiệm của Bộ Tài chính về việc hỗ trợ kinh phí cho địa phương để khắc phục hậu quả thiên tai được quy định như thế nào?',
    '1. Bộ Nông nghiệp và Phát triển nông thôn:\na) Chỉ đạo Ủy ban nhân dân các tỉnh, thành phố trực thuộc trung ương tổng hợp, thống kê, đánh giá thiệt hại, kiểm tra kết quả đánh giá thiệt hại do thiên tai gây ra trước khi báo cáo Thủ tướng Chính phủ, Bộ Nông nghiệp và Phát triển nông thôn.\nb) Tổng hợp và đánh giá thiệt hại do thiên tai gây ra trong phạm vi cả nước, báo cáo Thủ tướng Chính phủ và công bố số liệu thiệt hại do thiên tai gây ra.\n2. Ban Chỉ đạo Trung ương về phòng, chống thiên tai tổng hợp tình hình thiệt hại, trong đó xác định thiệt hại do thiên tai gây ra thuộc trách nhiệm khắc phục hậu quả thiên tai của địa phương; nhu cầu cứu trợ, hỗ trợ của các địa phương, nguồn lực địa phương đã sử dụng để khắc phục hậu quả thiên tai và đề xuất Thủ tướng Chính phủ quyết định sử dụng dự phòng ngân sách trung ương để hỗ trợ các địa phương.\n3. Bộ Tài chính:\na) Theo dõi, tổng hợp tình hình sử dụng dự phòng của các địa phương; dự phòng ngân sách trung ương; thực hiện bổ sung kinh phí kịp thời cho các địa phương theo quyết định của Thủ tướng Chính phủ.\nb) Chủ trì phối hợp với các cơ quan liên quan tổ chức kiểm tra tình hình phân bổ, sử dụng kinh phí khắc phục hậu quả thiên tai của các địa phương; cuối năm, tổng hợp kết quả thực hiện báo cáo Thủ tướng Chính phủ.\n4. Bộ Kế hoạch và Đầu tư, Bộ Lao động - Thương binh và Xã hội và các bộ, ngành có liên quan trong phạm vi chức năng, quyền hạn của mình có trách nhiệm tổ chức kiểm tra kết quả thống kê, đánh giá thiệt hại trong phạm vi quản lý và đề xuất phương án khắc phục hậu quả thiên tai theo quy định của pháp luật về phòng, chống thiên tai.\n5. Chủ tịch Ủy ban nhân dân các tỉnh, thành phố trực thuộc trung ương:\na) Tổng hợp, báo cáo đánh giá tình hình thiệt hại do thiên tai gây ra trên địa bàn, báo cáo Ban Chỉ đạo Trung ương về phòng, chống thiên tai và các Bộ, ngành liên quan; báo cáo sử dụng dự phòng ngân sách địa phương theo quy định tại Khoản 1 Điều 3 Quyết định này;\nb) Chủ động sử dụng ngân sách địa phương, dự phòng ngân sách địa phương, Quỹ phòng chống thiên tai và huy động các nguồn tài chính hợp pháp khác để khắc phục hậu quả ngay sau khi thiên tai xảy ra để ổn định đời sống của nhân dân, khôi phục sản xuất.\nc) Chậm nhất 30 ngày kể từ khi nhận được thông báo bổ sung kinh phí từ Bộ Tài chính; báo cáo bằng văn bản gửi Ban Chỉ đạo Trung ương về phòng, chống thiên tai, Bộ Tài chính, Bộ Kế hoạch và Đầu tư và Bộ Lao động - Thương binh và Xã hội về tiếp nhận, phân bổ nguồn kinh phí hỗ trợ khắc phục hậu quả thiên tai; trong đó có kinh phí được hỗ trợ từ ngân sách trung ương.\nd) Thực hiện phân bổ, quản lý và sử dụng kinh phí được hỗ trợ đảm bảo đúng mục đích, đúng đối tượng, hiệu quả. Trường hợp kinh phí ngân sách trung ương hỗ trợ sử dụng không hết, không đúng đối tượng và nội dung theo quyết định của Thủ tướng Chính phủ, thực hiện thu hồi về ngân sách trung ương.',
    '1. Sở giao dịch chứng khoán Việt Nam quyết định biên độ dao động giá sau khi được Ủy ban Chứng khoán Nhà nước chấp thuận.\n2. Trong trường hợp cần thiết để ổn định thị trường, Ủy ban Chứng khoán Nhà nước quyết định điều chỉnh biên độ dao động giá và công bố thông tin trên cổng thông tin điện tử của Ủy ban Chứng khoán Nhà nướ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]

Evaluation

Metrics

Information Retrieval

Metric Value
cosine_accuracy@1 0.975
cosine_accuracy@2 1.0
cosine_accuracy@3 1.0
cosine_precision@1 0.975
cosine_precision@2 0.5156
cosine_precision@3 0.3438
cosine_recall@1 0.9563
cosine_recall@2 0.9969
cosine_recall@3 0.9969
cosine_ndcg@10 0.9884
cosine_mrr@10 0.9875
cosine_map@100 0.9849

Training Details

Training Dataset

Unnamed Dataset

  • Size: 3,132 training samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchor positive
    type string string
    details
    • min: 8 tokens
    • mean: 23.03 tokens
    • max: 42 tokens
    • min: 23 tokens
    • mean: 320.27 tokens
    • max: 512 tokens
  • Samples:
    anchor positive
    Quy định về điều kiện cấp Giấy chứng nhận khả năng chuyên môn thợ kỹ thuật điện được quy định như thế nào? 1. Tốt nghiệp chuyên ngành kỹ thuật điện tàu biển trình độ trung cấp trở lên. Trường hợp tốt nghiệp chuyên ngành kỹ thuật điện tàu biển trình độ sơ cấp thì phải hoàn thành chương trình đào tạo nâng cao do Bộ trưởng Bộ Giao thông vận tải quy định.
    2. Có giấy chứng nhận huấn luyện nghiệp vụ cơ bản.
    3. Có thời gian đi biển 06 tháng hoặc tập sự thợ kỹ thuật điện 03 tháng.
    Lựa chọn áp dụng hệ thống tài khoản kế toán theo Luật Kế toán 2003 được quy định như thế nào? 1. Đơn vị kế toán phải căn cứ vào hệ thống tài khoản kế toán do Bộ Tài chính quy định để chọn hệ thống tài khoản kế toán áp dụng ở đơn vị.
    2. Đơn vị kế toán được chi tiết các tài khoản kế toán đã chọn phục vụ yêu cầu quản lý của đơn vị.
    Cơ sở giáo dục có trách nhiệm gì đối với chế độ cử tuyển? 1. Tiếp nhận, chịu trách nhiệm về chất lượng đào tạo người học theo chế độ cử tuyển và thực hiện đầy đủ các chế độ, chính sách đối với người học theo quy định.
    2. Hằng năm, thông báo với cơ quan cử người đi học về kết quả học tập và rèn luyện của người học theo chế độ cử tuyển, thời gian tốt nghiệp đối với người học năm cuối khoá.
    3. Bàn giao cho cơ quan cử người đi học hồ sơ của người học theo chế độ cử tuyển sau khi tốt nghiệp hoặc trong trường hợp thôi học.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • num_train_epochs: 10
  • warmup_ratio: 0.1
  • bf16: True
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 5e-05
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 10
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.1
  • warmup_steps: 0
  • log_level: passive
  • log_level_replica: warning
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • save_safetensors: True
  • save_on_each_node: False
  • save_only_model: False
  • restore_callback_states_from_checkpoint: False
  • no_cuda: False
  • use_cpu: False
  • use_mps_device: False
  • seed: 42
  • data_seed: None
  • jit_mode_eval: False
  • use_ipex: False
  • bf16: True
  • fp16: False
  • fp16_opt_level: O1
  • half_precision_backend: auto
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • local_rank: 0
  • ddp_backend: None
  • tpu_num_cores: None
  • tpu_metrics_debug: False
  • debug: []
  • dataloader_drop_last: False
  • dataloader_num_workers: 0
  • dataloader_prefetch_factor: None
  • past_index: -1
  • disable_tqdm: False
  • remove_unused_columns: True
  • label_names: None
  • load_best_model_at_end: False
  • ignore_data_skip: False
  • fsdp: []
  • fsdp_min_num_params: 0
  • fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
  • tp_size: 0
  • fsdp_transformer_layer_cls_to_wrap: None
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • skip_memory_metrics: True
  • use_legacy_prediction_loop: False
  • push_to_hub: False
  • resume_from_checkpoint: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_private_repo: None
  • hub_always_push: False
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • include_for_metrics: []
  • eval_do_concat_batches: True
  • fp16_backend: auto
  • push_to_hub_model_id: None
  • push_to_hub_organization: None
  • mp_parameters:
  • auto_find_batch_size: False
  • full_determinism: False
  • torchdynamo: None
  • ray_scope: last
  • ddp_timeout: 1800
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: False
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss cosine_ndcg@10
-1 -1 - 0.9473
0.0102 1 0.1604 -
1.5306 150 0.0897 0.9811
3.0612 300 0.0372 0.9864
4.5918 450 0.0171 0.9895
6.1224 600 0.0134 0.9850
7.6531 750 0.0072 0.9860
9.1837 900 0.0077 0.9884

Framework Versions

  • Python: 3.11.11
  • Sentence Transformers: 3.4.1
  • Transformers: 4.51.3
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.5.2
  • Datasets: 3.6.0
  • Tokenizers: 0.21.1

Citation

BibTeX

Sentence Transformers

@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",
}

MultipleNegativesRankingLoss

@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}
}
Downloads last month
7
Safetensors
Model size
278M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for phi010402/finetune-law-embeddin-zalo-1100

Finetuned
(6)
this model

Evaluation results