ONNX 模型库
返回模型

说明文档

DEk21_hcmute_embedding

DEk21_hcmute_embedding 是一个专注于 RAG 和生产效率的越南语文本嵌入模型:

📚 训练数据集: 该模型基于约 100,000 个法律问题及其相关上下文组成的内部数据集进行训练。

⚙️ 效率: 使用 Matryoshka 损失函数 进行训练,允许对嵌入进行截断而不会造成明显的性能损失。这确保了较小的嵌入比较速度更快,使模型在实际生产环境中更加高效。

模型详情

模型描述

  • 模型类型: 句子转换器(Sentence Transformer)
  • 最大序列长度: 256 个 token
  • 输出维度: 768 维
  • 相似度函数: 余弦相似度
  • 语言: 越南语
  • 许可证: apache-2.0

模型来源

完整模型架构

SentenceTransformer(
  (0): Transformer({'max_seq_length': 256, '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})
)

使用方法

直接使用(Sentence Transformers)

首先安装 Sentence Transformers 库:

pip install -U sentence-transformers

然后您可以加载此模型并进行推理。

from sentence_transformers import SentenceTransformer
import torch
from pyvi import ViTokenizer

# 从 🤗 Hub 下载模型
model = SentenceTransformer(\"huyydangg/DEk21_hcmute_embedding\")

# 定义查询(câu hỏi pháp luật)和文档(đ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.\"
]

# 对查询进行分词
segmented_query = ViTokenizer.tokenize(query)

# 对每个文档进行分词
segmented_docs = [ViTokenizer.tokenize(doc) for doc in docs]

# 编码查询和文档
query_embedding = model.encode([segmented_query])
doc_embeddings = model.encode(segmented_docs)
similarities = torch.nn.functional.cosine_similarity(
    torch.tensor(query_embedding), torch.tensor(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\"Document: {doc} - Cosine Similarity: {score:.4f}\")

评估

指标

信息检索

model type ndcg@3 ndcg@5 ndcg@10 mrr@3 mrr@5 mrr@10
huyydangg/DEk21_hcmute_embedding_wseg dense 0.908405 0.914792 0.917742 0.889583 0.893099 0.894266
AITeamVN/Vietnamese_Embedding dense 0.842687 0.854993 0.865006 0.822135 0.82901 0.833389
bkai-foundation-models/vietnamese-bi-encoder hybrid 0.827247 0.844781 0.846937 0.799219 0.809505 0.806771
bkai-foundation-models/vietnamese-bi-encoder dense 0.814116 0.82965 0.839567 0.796615 0.805286 0.809572
AITeamVN/Vietnamese_Embedding hybrid 0.788724 0.810062 0.820797 0.758333 0.77224 0.776461
BAAI/bge-m3 dense 0.784056 0.80665 0.817016 0.763281 0.775859 0.780293
BAAI/bge-m3 hybrid 0.775239 0.797382 0.811962 0.747656 0.763333 0.77128
huyydangg/DEk21_hcmute_embedding dense 0.752173 0.769259 0.785101 0.72474 0.734427 0.741076
hiieu/halong_embedding hybrid 0.73627 0.757183 0.779169 0.710417 0.721901 0.731976
bm25 bm25 0.728122 0.74974 0.761612 0.699479 0.711198 0.715738
dangvantuan/vietnamese-embedding dense 0.718971 0.746521 0.763416 0.696354 0.711953 0.718854
dangvantuan/vietnamese-embedding hybrid 0.71711 0.743537 0.758315 0.690104 0.704792 0.712261
VoVanPhuc/sup-SimCSE-VietNamese-phobert-base hybrid 0.688483 0.713829 0.733894 0.660156 0.671198 0.676961
hiieu/halong_embedding dense 0.656377 0.675881 0.701368 0.630469 0.641406 0.652057
VoVanPhuc/sup-SimCSE-VietNamese-phobert-base dense 0.558852 0.584799 0.611329 0.536979 0.55112 0.562218

引用

您可以按以下方式引用我们的工作:

@misc{DEk21_hcmute_embedding,
  title={DEk21_hcmute_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}
}

huyydangg/DEk21_hcmute_embedding

作者 huyydangg

sentence-similarity sentence-transformers
↓ 185.9K ♥ 33

创建时间: 2025-01-25 11:34:03+00:00

更新时间: 2025-07-19 02:47:18+00:00

在 Hugging Face 上查看

文件 (17)

.gitattributes
1_Pooling/config.json
README.md
added_tokens.json
bpe.codes
config.json
config_sentence_transformers.json
model.safetensors
modules.json
onnx/model.onnx ONNX
optimizer.pt
rng_state.pth
sentence_bert_config.json
special_tokens_map.json
tokenizer_config.json
training_args.bin
vocab.txt