🚀 VN Law Embedding
VN Law Embeddingは、Retrieval-Augmented Generation (RAG) 用に設計されたベトナム語のテキスト埋め込みモデルです。特に、法的な質問に対して正確な法的文書を検索するために使用されます。このモデルは、ベトナム語の法的質問と対応する法的文書のデータセットで訓練され、情報検索評価器を使用して評価されています。
🚀 クイックスタート
VN Law Embeddingは、ベトナム語の法的質問に対する正確な法的文書の検索に特化したモデルです。モデルは、ベトナム語の法的質問と文書のデータセットで訓練され、Matryoshka損失を使用しています。
✨ 主な機能
- ベトナム語の法的質問に対する正確な法的文書の検索に最適化されています。
- Matryoshka損失を使用して訓練されており、性能を犠牲にすることなく、クエリと文書の比較を高速化するために小さな次元に切り捨てることができます。
📦 インストール
このモデルはsentence-transformers
ライブラリを使用しています。以下のコマンドでインストールできます。
pip install sentence-transformers
💻 使用例
基本的な使用法
from sentence_transformers import SentenceTransformer
import torch
import torch.nn.functional as F
model = SentenceTransformer("truro7/vn-law-embedding", truncate_dim = 128)
query = "Trộm cắp sẽ bị xử lý như thế nào?"
corpus = """
[100_2015_QH13]
LUẬT HÌNH SỰ
Điều 173. Tội trộm cắp tài sản
Khoản 1:
1. Người nào trộm cắp tài sản của người khác trị giá từ 2.000.000 đồng đến dưới 50.000.000 đồng hoặc dưới 2.000.000 đồng nhưng thuộc một trong các trường hợp sau đây, thì bị phạt cải tạo không giam giữ đến 03 năm hoặc phạt tù từ 06 tháng đến 03 năm:
a) Đã bị xử phạt vi phạm hành chính về hành vi chiếm đoạt tài sản mà còn vi phạm;
b) Đã bị kết án về tội này hoặc về một trong các tội quy định tại các điều 168, 169, 170, 171, 172, 174, 175 và 290 của Bộ luật này, chưa được xóa án tích mà còn vi phạm;
c) Gây ảnh hưởng xấu đến an ninh, trật tự, an toàn xã hội;
d) Tài sản là phương tiện kiếm sống chính của người bị hại và gia đình họ; tài sản là kỷ vật, di vật, đồ thờ cúng có giá trị đặc biệt về mặt tinh thần đối với người bị hại.
"""
embedding = torch.tensor([model.encode(query)])
corpus_embeddings = torch.tensor([model.encode(corpus)])
cosine_similarities = F.cosine_similarity(embedding, corpus_embeddings)
print(cosine_similarities.item())
高度な使用法
from sentence_transformers import SentenceTransformer
import torch
import torch.nn.functional as F
model = SentenceTransformer("truro7/vn-law-embedding", truncate_dim = 128)
all_docs = read_all_docs()
top_k = 3
embedding_docs = torch.load(vectordb_path, weights_only=False).to(self.device)
query = "Trộm cắp sẽ bị xử lý như thế nào?"
embedding = torch.tensor(model.encode(query))
cosine_similarities = F.cosine_similarity(embedding.unsqueeze(0).expand(self.embedding_docs.shape[0], 1, 128), self.embedding_docs, dim = -1).view(-1)
top_k = cosine_similarities.topk(k)
top_k_indices = top_k.indices
top_k_values = top_k.values
print(top_k_values)
for i in top_k_indices:
print(all_docs[i])
print("___________________________________________")
📚 ドキュメント
モデル情報
属性 |
详情 |
モデルタイプ |
VN Law Embedding |
訓練データ |
truro7/vn-law-questions-and-corpus |
ベースモデル |
hiieu/halong_embedding |
ライブラリ名 |
sentence-transformers |
パイプラインタグ |
sentence-similarity |
タグ |
legal, sentence-transformers, sentence-similarity, feature-extraction, generated_from_trainer, loss:MatryoshkaLoss, loss:MultipleNegativesRankingLoss |
評価指標
指標 |
値 |
Cosine Accuracy@1 |
0.623 |
Cosine Accuracy@3 |
0.792 |
Cosine Accuracy@5 |
0.851 |
Cosine Accuracy@10 |
0.900 |
Cosine Precision@1 |
0.623 |
Cosine Precision@3 |
0.412 |
Cosine Precision@5 |
0.310 |
Cosine Precision@10 |
0.184 |
Cosine Recall@1 |
0.353 |
Cosine Recall@3 |
0.608 |
Cosine Recall@5 |
0.722 |
Cosine Recall@10 |
0.823 |
Cosine Ndcg@10 |
0.706 |
Cosine Mrr@10 |
0.717 |
Cosine Map@100 |
0.645 |
📄 ライセンス
このモデルはApache-2.0ライセンスの下で提供されています。