metadata
language:
- vi
license: apache-2.0
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- generated_from_trainer
- dataset_size:80000
- loss:MatryoshkaLoss
- loss:MultipleNegativesRankingLoss
base_model: bkai-foundation-models/vietnamese-bi-encoder
widget:
- source_sentence: >-
Điều 2 Quyết định 185/QĐ-UB năm 1998 Bảng giá đất tỉnh Bến Tre có nội dung
như sau:
Điều 2. Giá đất trên được áp dụng cho những trường hợp: Tính thuế chuyển
quyền sử dụng cho những trường hợp: Tính thuế chuyển quyền sử dụng đất,
thu lệ phí trước bạ, thu tiền sử dụng đất khi giao đất, cho thuê đất, tính
giá trị tài sản khi giao đất, bồi thường thiệt hại về đất khi Nhà nước thu
hồi.
Trường hợp giao đất theo hình thức đấu giá, thì giá đất sẽ do Uỷ ban nhân
dân tỉnh cho trường hợp cụ thể.
Giá cho thuê đất đối với các tổ chức, cá nhân nước ngoài hoặc xí nghiệp có
vốn đầu tư nước ngoài được áp dụng theo quy định của Chính phủ.
sentences:
- >-
Điều 2 Quyết định 55/2012/QĐ-UBND dự toán ngân sách phân bổ dự toán ngân
sách 2013 Bình Dương
- Điều 2 Quyết định 185/QĐ-UB năm 1998 Bảng giá đất tỉnh Bến Tre
- >-
Điều 3 Quyết định 79/2019/QĐ-UBND mức thu học phí quản lý và sử dụng học
phí giáo dục mầm non Huế
- source_sentence: >-
Điều 3 Quyết định 94/QĐ-UBND 2018 kế hoạch hoạt động kiểm soát thủ tục
hành chính Lâm Đồng có nội dung như sau:
Điều 3. Chánh Văn phòng UBND tỉnh; Thủ trưởng các sở, ban, ngành; Chủ tịch
UBND các huyện, thành phố; Chủ tịch UBND các xã, phường, thị trấn trên địa
bàn tỉnh chịu trách nhiệm thi hành Quyết định này
sentences:
- >-
Điều 3 Quyết định 94/QĐ-UBND 2018 kế hoạch hoạt động kiểm soát thủ tục
hành chính Lâm Đồng
- >-
Cơ quan nhà nước có thẩm quyền có trách nhiệm gì trong việc giải quyết
tranh chấp lao động khi sa thải người lao động?
- 'Thăng hạng giáo viên: Điều kiện về thời gian giữ hạng thấp hơn liền kề'
- source_sentence: >-
Điều 8 Thông tư 63/2013/TT-BGTVT hướng dẫn Bản ghi nhớ vận tải đường bộ
giữa Campuchia Lào Việt Nam có nội dung như sau:
Điều 8. Hồ sơ cấp Giấy phép liên vận CLV
1. Đối với xe thương mại:
a) Đơn đề nghị cấp Giấy phép liên vận CLV cho phương tiện thương mại quy
định tại Phụ lục VI của Thông tư này;
b) Giấy phép kinh doanh vận tải bằng xe ô tô hoặc Giấy chứng nhận đăng ký
kinh doanh đối với đơn vị kinh doanh vận tải bằng xe ô tô không thuộc đối
tượng phải cấp giấy phép kinh doanh vận tải bằng xe ô tô (bản sao có chứng
thực hoặc bản sao kèm theo bản chính để đối chiếu);
c) Giấy đăng ký phương tiện (bản sao có chứng thực hoặc bản sao kèm theo
bản chính để đối chiếu);
d) Văn bản chấp thuận khai thác tuyến (đối với phương tiện kinh doanh vận
tải hành khách theo tuyến cố định);
đ) Trường hợp phương tiện không thuộc sở hữu của đơn vị kinh doanh vận tải
thì phải xuất trình thêm tài liệu chứng minh quyền sử dụng hợp pháp của
đơn vị kinh doanh vận tải với phương tiện đó (bản sao có chứng thực hoặc
bản sao kèm theo bản chính để đối chiếu).
2. Đối với xe phi thương mại:
a) Đơn đề nghị cấp Giấy phép liên vận CLV cho phương tiện phi thương mại
quy định Phụ lục VII của Thông tư này;
b) Giấy đăng ký phương tiện (bản sao có chứng thực hoặc bản sao kèm theo
bản chính để đối chiếu). Trường hợp phương tiện không thuộc sở hữu của tổ
chức, cá nhân thì phải kèm theo tài liệu chứng minh quyền sử dụng hợp pháp
của tổ chức, các nhân với phương tiện đó (bản sao có chứng thực hoặc bản
sao kèm theo bản chính để đối chiếu);
c) Đối với doanh nghiệp, hợp tác xã thực hiện công trình, dự án hoặc hoạt
động kinh doanh trên lãnh thổ Lào hoặc Campuchia thì kèm theo Hợp đồng
hoặc tài liệu chứng minh đơn vị đang thực hiện công trình, dự án hoặc hoạt
động kinh doanh, trên lãnh thổ Lào, Campuchia (bản sao có chứng thực).
sentences:
- Bộ Xây dựng ghi nhận các kiến nghị về quy hoạch đô thị và nông thôn
- >-
Điều 3 Quyết định 2106/QĐ-BYT 2020 Kế hoạch triển khai chiến dịch tiêm
bổ sung vắc xin Sởi Rubella
- >-
Điều 8 Thông tư 63/2013/TT-BGTVT hướng dẫn Bản ghi nhớ vận tải đường bộ
giữa Campuchia Lào Việt Nam
- source_sentence: >-
Điều 2 Quyết định 16/2010/QĐ-UBND phân vùng môi trường tiếp nhận nước thải
khí thải công nghiệp trên địa bàn tỉnh Đồng Nai có nội dung như sau:
Điều 2. Xác định và tính toán lưu lượng các nguồn xả nước thải, khí thải
công nghiệp
1. Các tổ chức, cá nhân là chủ cơ sở sản xuất, kinh doanh, dịch vụ có
trách nhiệm quan trắc, thống kê, kiểm toán chất thải để tính toán, xác
định lưu lượng nước thải, khí thải công nghiệp để áp dụng hệ số lưu lượng
nguồn thải.
2. Các tổ chức, cá nhân có trách nhiệm cung cấp đúng, đầy đủ, chính xác và
trung thực các thông tin về lưu lượng nước thải, khí thải công nghiệp cho
cơ quan quản lý Nhà nước về môi trường. Trong trường hợp số liệu của các
tổ chức, cá nhân cung cấp chưa đủ tin cậy, cơ quan quản lý Nhà nước về môi
trường sẽ tính toán, xác định hoặc trưng cầu giám định theo quy định pháp
luật.
3. Trong một số trường hợp đặc thù tùy thuộc vào quy mô, tính chất dự án,
cơ sở sản xuất, kinh doanh, dịch vụ, điều kiện cụ thể về môi trường tiếp
nhận nước thải và khí thải, địa điểm thực dự án và quy hoạch phát triển
kinh tế - xã hội địa phương, Ủy ban nhân dân tỉnh Đồng Nai có những quy
định riêng.
sentences:
- >-
Điều 2 Quyết định 16/2010/QĐ-UBND phân vùng môi trường tiếp nhận nước
thải khí thải công nghiệp trên địa bàn tỉnh Đồng Nai
- >-
Điều 16 Thông tư 14/2010/TT-BKHCN hướng dẫn tiêu chuẩn, quy trình thủ
tục xét tặng
- >-
Người lao động có quyền đơn phương chấm dứt hợp đồng lao động khi được
bổ nhiệm giữ chức vụ gì?
- source_sentence: >-
Điều 29 Nghị định 46/2015 NĐ-CP quy định về thí nghiệm đối chứng, kiểm
định chất lượng, thí nghiệm khả năng chịu lực của kết cấu công trình trong
quá trình thi công xây dựng. Tôi xin hỏi, trong dự toán công trình giao
thông có chi phí kiểm định tạm tính, chủ đầu tư có quyền lập đề cương, dự
toán rồi giao cho phòng thẩm định kết quả có giá trị, sau đó thực hiện
thuê đơn vị tư vấn có chức năng thực hiện công tác kiểm định được không?Bộ
Xây dựng trả lời vấn đề này như sau:Trường hợp kiểm định theo quy định tại
Điểm a, Điểm b, Điểm c, Khoản 2, Điều 29 (thí nghiệm đối chứng, kiểm định
chất lượng, thí nghiệm khả năng chịu lực của kết cấu công trình trong quá
trình thi công xây dựng) Nghị định46/2015/NĐ-CPngày 12/5/2015 của Chính
phủ về quản lý chất lượng và bảo trì công trình xây dựng thì việc lập đề
cương, dự toán kiểm định do tổ chức đáp ứng điều kiện năng lực theo quy
định của pháp luật thực hiện.Đối với trường hợp kiểm định theo quy định
tại Điểm đ, Khoản 2, Điều 29 Nghị định46/2015/NĐ-CPthì thực hiện theo quy
định tại Điều 18 Thông tư26/2016/TT-BXDngày 26/10/2016 của Bộ Xây dựng quy
định chi tiết một số nội dung về quản lý chất lượng và bảo trì công trình
xây dựng.
sentences:
- Quy định về trợ cấp với cán bộ xã già yếu nghỉ việc
- Có thể thuê kiểm định chất lượng công trình?
- Điều kiện doanh nghiệp được hoạt động tư vấn giám sát
pipeline_tag: sentence-similarity
library_name: sentence-transformers
metrics:
- cosine_accuracy@1
- cosine_accuracy@3
- cosine_accuracy@5
- cosine_accuracy@10
- cosine_precision@1
- cosine_precision@3
- cosine_precision@5
- cosine_precision@10
- cosine_recall@1
- cosine_recall@3
- cosine_recall@5
- cosine_recall@10
- cosine_ndcg@10
- cosine_mrr@10
- cosine_map@100
model-index:
- name: bkai-fine-tuned-legal
results:
- task:
type: information-retrieval
name: Information Retrieval
dataset:
name: dim 768
type: dim_768
metrics:
- type: cosine_accuracy@1
value: 0.5855925639039504
name: Cosine Accuracy@1
- type: cosine_accuracy@3
value: 0.7033307513555384
name: Cosine Accuracy@3
- type: cosine_accuracy@5
value: 0.7500645494448748
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 0.8109992254066615
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.5855925639039504
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.23444358378517946
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.15001290988897495
name: Cosine Precision@5
- type: cosine_precision@10
value: 0.08109992254066614
name: Cosine Precision@10
- type: cosine_recall@1
value: 0.5855925639039504
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.7033307513555384
name: Cosine Recall@3
- type: cosine_recall@5
value: 0.7500645494448748
name: Cosine Recall@5
- type: cosine_recall@10
value: 0.8109992254066615
name: Cosine Recall@10
- type: cosine_ndcg@10
value: 0.6937880818561333
name: Cosine Ndcg@10
- type: cosine_mrr@10
value: 0.6568145771089225
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.6626061839086153
name: Cosine Map@100
- task:
type: information-retrieval
name: Information Retrieval
dataset:
name: dim 512
type: dim_512
metrics:
- type: cosine_accuracy@1
value: 0.5848179705654531
name: Cosine Accuracy@1
- type: cosine_accuracy@3
value: 0.7002323780015491
name: Cosine Accuracy@3
- type: cosine_accuracy@5
value: 0.7490317583268784
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 0.8073844564936742
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.5848179705654531
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.23341079266718306
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.1498063516653757
name: Cosine Precision@5
- type: cosine_precision@10
value: 0.0807384456493674
name: Cosine Precision@10
- type: cosine_recall@1
value: 0.5848179705654531
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.7002323780015491
name: Cosine Recall@3
- type: cosine_recall@5
value: 0.7490317583268784
name: Cosine Recall@5
- type: cosine_recall@10
value: 0.8073844564936742
name: Cosine Recall@10
- type: cosine_ndcg@10
value: 0.6917119064236622
name: Cosine Ndcg@10
- type: cosine_mrr@10
value: 0.6551604719691482
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.6611599622252305
name: Cosine Map@100
- task:
type: information-retrieval
name: Information Retrieval
dataset:
name: dim 256
type: dim_256
metrics:
- type: cosine_accuracy@1
value: 0.5814613994319648
name: Cosine Accuracy@1
- type: cosine_accuracy@3
value: 0.6935192357345726
name: Cosine Accuracy@3
- type: cosine_accuracy@5
value: 0.7428350116189001
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 0.8022205009036922
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.5814613994319648
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.2311730785781909
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.14856700232378
name: Cosine Precision@5
- type: cosine_precision@10
value: 0.08022205009036923
name: Cosine Precision@10
- type: cosine_recall@1
value: 0.5814613994319648
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.6935192357345726
name: Cosine Recall@3
- type: cosine_recall@5
value: 0.7428350116189001
name: Cosine Recall@5
- type: cosine_recall@10
value: 0.8022205009036922
name: Cosine Recall@10
- type: cosine_ndcg@10
value: 0.6871061609559359
name: Cosine Ndcg@10
- type: cosine_mrr@10
value: 0.6508078926552976
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.6566099087487134
name: Cosine Map@100
- task:
type: information-retrieval
name: Information Retrieval
dataset:
name: dim 128
type: dim_128
metrics:
- type: cosine_accuracy@1
value: 0.5695843015750065
name: Cosine Accuracy@1
- type: cosine_accuracy@3
value: 0.6785437645236251
name: Cosine Accuracy@3
- type: cosine_accuracy@5
value: 0.7273431448489543
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 0.7936999741802221
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.5695843015750065
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.22618125484120832
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.14546862896979085
name: Cosine Precision@5
- type: cosine_precision@10
value: 0.0793699974180222
name: Cosine Precision@10
- type: cosine_recall@1
value: 0.5695843015750065
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.6785437645236251
name: Cosine Recall@3
- type: cosine_recall@5
value: 0.7273431448489543
name: Cosine Recall@5
- type: cosine_recall@10
value: 0.7936999741802221
name: Cosine Recall@10
- type: cosine_ndcg@10
value: 0.6754615621699942
name: Cosine Ndcg@10
- type: cosine_mrr@10
value: 0.6384098910241435
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.6443976474654151
name: Cosine Map@100
- task:
type: information-retrieval
name: Information Retrieval
dataset:
name: dim 64
type: dim_64
metrics:
- type: cosine_accuracy@1
value: 0.5543506325845597
name: Cosine Accuracy@1
- type: cosine_accuracy@3
value: 0.6609863155176865
name: Cosine Accuracy@3
- type: cosine_accuracy@5
value: 0.7061709269300284
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 0.7717531629227988
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.5543506325845597
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.22032877183922883
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.14123418538600568
name: Cosine Precision@5
- type: cosine_precision@10
value: 0.07717531629227987
name: Cosine Precision@10
- type: cosine_recall@1
value: 0.5543506325845597
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.6609863155176865
name: Cosine Recall@3
- type: cosine_recall@5
value: 0.7061709269300284
name: Cosine Recall@5
- type: cosine_recall@10
value: 0.7717531629227988
name: Cosine Recall@10
- type: cosine_ndcg@10
value: 0.6571206813679893
name: Cosine Ndcg@10
- type: cosine_mrr@10
value: 0.6212180172869554
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.6275272633144896
name: Cosine Map@100
LEGAL-EMBEDDING
LEGAL-EMBEDDING is a Vietnamese text embedding focused on RAG and production efficiency:
📚 Trained Dataset:
The model was trained on an in-house dataset consisting of approximately 80,000 examples of legal questions and their related contexts.
🪆 Efficiency:
Trained with a Matryoshka loss, allowing embeddings to be truncated with minimal performance loss. This ensures that smaller embeddings are faster to compare, making the model efficient for real-world production use.
Model Details
Model Description
- Model Type: Sentence Transformer
- Base model: bkai-foundation-models/vietnamese-bi-encoder
- Maximum Sequence Length: 512 tokens
- Output Dimensionality: 768 dimensions
- Similarity Function: Cosine Similarity
- Language: vietnamese
- License: apache-2.0
Model Sources
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
Full Model Architecture
SentenceTransformer(
(0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: RobertaModel
(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})
)
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
import torch
# Download from the 🤗 Hub
model = SentenceTransformer("quanghuy123/LEGAL_EMBEDDING")
# Define query (câu hỏi pháp luật) và docs (điều luật)
query = "Điều kiện để kết hôn hợp pháp là gì?"
docs = [
"Điều 8 Bộ luật Dân sự 2015 quy định về quyền và nghĩa vụ của công dân trong quan hệ gia đình.",
"Điều 18 Luật Hôn nhân và gia đình 2014 quy định về độ tuổi kết hôn của nam và nữ.",
"Điều 14 Bộ luật Dân sự 2015 quy định về quyền và nghĩa vụ của cá nhân khi tham gia hợp đồng.",
"Điều 27 Luật Hôn nhân và gia đình 2014 quy định về các trường hợp không được kết hôn.",
"Điều 51 Luật Hôn nhân và gia đình 2014 quy định về việc kết hôn giữa công dân Việt Nam và người nước ngoài."
]
# Encode query and documents
query_embedding = model.encode([query])
doc_embeddings = model.encode(docs)
similarities = torch.nn.functional.cosine_similarity(
torch.tensor(query_embedding), torch.tensor(doc_embeddings)
).flatten()
# Sort documents by cosine similarity
sorted_indices = torch.argsort(similarities, descending=True)
sorted_docs = [docs[idx] for idx in sorted_indices]
sorted_scores = [similarities[idx].item() for idx in sorted_indices]
# Print sorted documents with their cosine scores
for doc, score in zip(sorted_docs, sorted_scores):
print(f"Document: {doc} - Cosine Similarity: {score:.4f}")
Evaluation
Metrics
Information Retrieval
- Datasets: quanghuy123/LEGAL-EVAL-Dataset
- Evaluated with
InformationRetrievalEvaluator
Model | dim_768 | dim_512 | dim_256 | dim_128 | dim_64 |
---|---|---|---|---|---|
bkai-foundation-models/vietnamese-bi-encoder | 0.4645 | 0.4628 | 0.4494 | 0.4233 | 0.3744 |
VoVanPhuc/sup-SimCSE-VietNamese-phobert-base | 0.4033 | 0.3902 | 0.3835 | 0.3785 | 0.3695 |
hiieu/halong_embedding | 0.6242 | 0.6134 | 0.5983 | 0.5878 | 0.5762 |
quanghuy123/LEGAL_EMBEDDING | 0.8112 | 0.8074 | 0.8022 | 0.7937 | 0.7718 |
Citation
You can cite our work as below:
@misc{LEGAL_EMBEDDING,
title={LEGAL_EMBEDDING: A Vietnamese Text Embedding},
author={QUANG HUY},
year={2025},
publisher={Huggingface},
}
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",
}
MatryoshkaLoss
@misc{kusupati2024matryoshka,
title={Matryoshka Representation Learning},
author={Aditya Kusupati and Gantavya Bhatt and Aniket Rege and Matthew Wallingford and Aditya Sinha and Vivek Ramanujan and William Howard-Snyder and Kaifeng Chen and Sham Kakade and Prateek Jain and Ali Farhadi},
year={2024},
eprint={2205.13147},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
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}
}