许可证:apache-2.0
数据集:
- truro7/vn-law-questions-and-corpus
语言:
- vi
基础模型:hiieu/halong_embedding
库名称:sentence-transformers
评估指标:
- 余弦准确率@1
- 余弦准确率@3
- 余弦准确率@5
- 余弦准确率@10
- 余弦精确率@1
- 余弦精确率@3
- 余弦精确率@5
- 余弦精确率@10
- 余弦召回率@1
- 余弦召回率@3
- 余弦召回率@5
- 余弦召回率@10
- 余弦归一化折损累积增益@10
- 余弦平均倒数排名@10
- 余弦平均精度@100
管道标签:句子相似度
标签:
- 法律
- 句子转换器
- 句子相似度
- 特征提取
- 训练生成
- 损失函数:MatryoshkaLoss
- 损失函数:MultipleNegativesRankingLoss
模型索引:
- 名称:越南法律嵌入模型
结果:
- 任务:
类型:信息检索
名称:信息检索
指标:
- 类型:余弦准确率@1
值:0.623
名称:余弦准确率@1
- 类型:余弦准确率@3
值:0.792
名称:余弦准确率@3
- 类型:余弦准确率@5
值:0.851
名称:余弦准确率@5
- 类型:余弦准确率@10
值:0.900
名称:余弦准确率@10
- 类型:余弦精确率@1
值:0.623
名称:余弦精确率@1
- 类型:余弦精确率@3
值:0.412
名称:余弦精确率@3
- 类型:余弦精确率@5
值:0.310
名称:余弦精确率@5
- 类型:余弦精确率@10
值:0.184
名称:余弦精确率@10
- 类型:余弦召回率@1
值:0.353
名称:余弦召回率@1
- 类型:余弦召回率@3
值:0.608
名称:余弦召回率@3
- 类型:余弦召回率@5
值:0.722
名称:余弦召回率@5
- 类型:余弦召回率@10
值:0.823
名称:余弦召回率@10
- 类型:余弦归一化折损累积增益@10
值:0.706
名称:余弦归一化折损累积增益@10
- 类型:余弦平均倒数排名@10
值:0.717
名称:余弦平均倒数排名@10
- 类型:余弦平均精度@100
值:0.645
名称:余弦平均精度@100
越南法律嵌入模型
越南法律嵌入模型是一个专为检索增强生成(RAG)设计的越南语文本嵌入模型,旨在精准检索法律文件以回答法律问题。
该模型基于越南法律问题及相关法律文件的数据集进行训练,并通过信息检索评估器进行评估。
训练过程中使用了Matryoshka损失函数,支持截断至更小维度,从而在不牺牲性能的前提下加速查询与文档之间的比较。
使用方法
直接使用
from sentence_transformers import SentenceTransformer
import torch
import torch.nn.functional as F
model = SentenceTransformer("truro7/vn-law-embedding", truncate_dim = 128)
query = "盗窃行为将如何处理?"
corpus = """
[100_2015_QH13]
刑法
第173条 盗窃财产罪
第1款:
1. 盗窃他人财产价值在200万越南盾至5000万越南盾以下,或虽不足200万越南盾但符合下列情形之一的,处3年以下非监禁改造或6个月至3年有期徒刑:
a) 曾因侵占财产行为受到行政处罚又再犯;
b) 曾因本罪或本法第168、169、170、171、172、174、175及290条规定的任一罪名被判刑,尚未撤销前科又再犯;
c) 对社会治安秩序造成恶劣影响;
d) 财产为被害人及其家庭主要生活来源;或财产为对被害人具有特殊精神价值的纪念物、遗物、祭祀用品。
"""
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())
检索前k个相关文档
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 = "盗窃行为将如何处理?"
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("___________________________________________")