base_model: intfloat/multilingual-e5-base
datasets: []
language:
- 越南语
- 英语
library_name: sentence-transformers
license: apache-2.0
metrics:
- 余弦准确率@1
- 余弦准确率@3
- 余弦准确率@5
- 余弦准确率@10
- 余弦精确率@1
- 余弦精确率@3
- 余弦精确率@5
- 余弦精确率@10
- 余弦召回率@1
- 余弦召回率@3
- 余弦召回率@5
- 余弦召回率@10
- 余弦归一化折损累积增益@10
- 余弦平均倒数排名@10
- 余弦平均精度@100
pipeline_tag: 句子相似度
tags:
- 句子转换器
- 句子相似度
- 特征提取
- 训练生成
- 损失函数:MatryoshkaLoss
- 损失函数:MultipleNegativesRankingLoss
widget:
- source_sentence: 足球对健康有什么好处?
sentences:
- 足球有助于改善心血管健康并增强耐力。
- 足球是全球最受欢迎的运动。
- 足球可以帮助你与更多人建立联系。
model-index:
- name: 下龙嵌入
results:
- task:
type: 信息检索
name: 信息检索
dataset:
name: 维度 768
type: dim_768
metrics:
- type: 余弦准确率@1
value: 0.8294209702660407
name: 余弦准确率@1
- type: 余弦准确率@3
value: 0.9233176838810642
name: 余弦准确率@3
- type: 余弦准确率@5
value: 0.9436619718309859
name: 余弦准确率@5
- type: 余弦准确率@10
value: 0.9687010954616588
name: 余弦准确率@10
- type: 余弦精确率@1
value: 0.8294209702660407
name: 余弦精确率@1
- type: 余弦精确率@3
value: 0.3145539906103286
name: 余弦精确率@3
- type: 余弦精确率@5
value: 0.1931142410015649
name: 余弦精确率@5
- type: 余弦精确率@10
value: 0.09906103286384975
name: 余弦精确率@10
- type: 余弦召回率@1
value: 0.8145539906103286
name: 余弦召回率@1
- type: 余弦召回率@3
value: 0.9178403755868545
name: 余弦召回率@3
- type: 余弦召回率@5
value: 0.9389671361502347
name: 余弦召回率@5
- type: 余弦召回率@10
value: 0.9640062597809077
name: 余弦召回率@10
- type: 余弦归一化折损累积增益@10
value: 0.8976041381292648
name: 余弦归一化折损累积增益@10
- type: 余弦平均倒数排名@10
value: 0.879893558884169
name: 余弦平均倒数排名@10
- type: 余弦平均精度@100
value: 0.8763179130484675
name: 余弦平均精度@100
下龙嵌入
下龙嵌入是一个专注于RAG和生产效率的越南语文本嵌入模型:
- 📚 基于包含约10万条问题及相关文档的内部数据集训练
- 🪆 采用Matryoshka损失函数训练,允许截断嵌入向量而性能损失最小:更小的嵌入向量比较速度更快。
这是一个基于intfloat/multilingual-e5-base微调的sentence-transformers模型。它将句子和段落映射到768维密集向量空间,可用于语义文本相似度、语义搜索、复述挖掘、文本分类、聚类等任务。
你可以在这里找到评估和微调脚本,以及我的研讨会。
模型详情
模型描述
模型来源
完整模型架构
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()
)
使用方法
直接使用(句子转换器)
首先安装句子转换器库:
pip install -U sentence-transformers
然后可以加载此模型并运行推理。
from sentence_transformers import SentenceTransformer
import torch
model = SentenceTransformer("hiieu/halong_embedding")
query = "足球对健康有什么好处?"
docs = [
"足球有助于改善心血管健康并增强耐力。",
"足球是全球最受欢迎的运动。",
"踢足球有助于减轻压力并改善心理状态。",
"足球可以帮助你与更多人建立联系。",
"足球不仅是一项运动,还是一种娱乐方式。"
]
query_embedding = model.encode([query])
doc_embeddings = model.encode(docs)
similarities = model.similarity(query_embedding, doc_embeddings).flatten()
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]
for doc, score in zip(sorted_docs, sorted_scores):
print(f"文档: {doc} - 余弦相似度: {score:.4f}")
Matryoshka嵌入推理
from sentence_transformers import SentenceTransformer
import torch.nn.functional as F
import torch
matryoshka_dim = 64
model = SentenceTransformer(
"hiieu/halong_embedding",
truncate_dim=matryoshka_dim,
)
query = "足球对健康有什么好处?"
docs = [
"足球有助于改善心血管健康并增强耐力。",
"足球是全球最受欢迎的运动。",
"踢足球有助于减轻压力并改善心理状态。",
"足球可以帮助你与更多人建立联系。",
"足球不仅是一项运动,还是一种娱乐方式。"
]
query_embedding = model.encode([query])
doc_embeddings = model.encode(docs)
similarities = model.similarity(query_embedding, doc_embeddings).flatten()
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]
for doc, score in zip(sorted_docs, sorted_scores):
print(f"文档: {doc} - 余弦相似度: {score:.4f}")
评估
指标
信息检索
模型 |
准确率@1 |
准确率@3 |
准确率@5 |
准确率@10 |
精确率@1 |
精确率@3 |
精确率@5 |
精确率@10 |
召回率@1 |
召回率@3 |
召回率@5 |
召回率@10 |
归一化折损累积增益@10 |
平均倒数排名@10 |
平均精度@100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
越南语双向编码器 |
0.8169 |
0.9108 |
0.9437 |
0.9640 |
0.8169 |
0.3099 |
0.1931 |
0.0987 |
0.8020 |
0.9045 |
0.9390 |
0.9601 |
0.8882 |
0.8685 |
0.8652 |
监督式SimCSE-越南语PhoBERT基础模型 |
0.5540 |
0.7308 |
0.7981 |
0.8748 |
0.5540 |
0.2473 |
0.1621 |
0.0892 |
0.5446 |
0.7246 |
0.7903 |
0.8693 |
0.7068 |
0.6587 |
0.6592 |
下龙嵌入 (768) |
0.8294 |
0.9233 |
0.9437 |
0.9687 |
0.8294 |
0.3146 |
0.1931 |
0.0991 |
0.8146 |
0.9178 |
0.9390 |
0.9640 |
0.8976 |
0.8799 |
0.8763 |
下龙嵌入 (512) |
0.8138 |
0.9233 |
0.9390 |
0.9703 |
0.8138 |
0.3146 |
0.1922 |
0.0992 |
0.7989 |
0.9178 |
0.9343 |
0.9656 |
0.8917 |
0.8715 |
0.8678 |
下龙嵌入 (256) |
0.7934 |
0.8967 |
0.928 |
|
|
|
|
|
|
|
|
|
|
|
|