LEGAL_EMBEDDING / README.md
quanghuy123's picture
Update README.md
2e13f17 verified
|
raw
history blame
23.2 kB
---
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 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
- quan nhà nước thẩm quyền trách nhiệm 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ị 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 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 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 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
chi phí kiểm định tạm tính, chủ đầu quyền lập đề cương, dự toán rồi giao
cho phòng thẩm định kết quả giá trị, sau đó thực hiện thuê đơn vị vấn
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 chất lượng 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 chất lượng bảo trì công trình xây dựng.
sentences:
- Quy định về trợ cấp với cán bộ già yếu nghỉ việ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 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](https://huggingface.co/bkai-foundation-models/vietnamese-bi-encoder) <!-- at revision 84f9d9ada0d1a3c37557398b9ae9fcedcdf40be0 -->
- **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](https://sbert.net)
- **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers)
- **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers)
### 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:
```bash
pip install -U sentence-transformers
```
Then you can load this model and run inference.
```python
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](https://huggingface.co/datasets/quanghuy123/LEGAL-EVAL-Dataset)
* Evaluated with [<code>InformationRetrievalEvaluator</code>](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.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:
```bibtex
@misc{LEGAL_EMBEDDING,
title={LEGAL_EMBEDDING: A Vietnamese Text Embedding},
author={QUANG HUY},
year={2025},
publisher={Huggingface},
}
```
### BibTeX
#### Sentence Transformers
```bibtex
@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
```bibtex
@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
```bibtex
@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}
}
```