库名称: sentence-transformers
流水线标签: 句子相似度
标签:
- sentence-transformers
- 特征提取
- 句子相似度
- transformers
- phobert
- 越南语
- 句子嵌入
许可证: apache-2.0
语言:
- 越南语 (vi)
评估指标:
- 皮尔逊相关系数 (pearsonr)
- 斯皮尔曼相关系数 (spearmanr)
模型描述:
vietnamese-embedding 是专为越南语设计的嵌入模型。该模型基于PhoBERT(一种采用RoBERTa架构的预训练语言模型)进行优化,能够将越南语句子编码为768维向量空间,适用于语义搜索、文本聚类等多种场景。生成的嵌入向量能精准捕捉越南语的词汇和上下文语义层次。
完整模型架构
SentenceTransformer(
(0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) 使用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})
)
训练与微调流程
模型通过四个阶段的训练逐步优化越南语句子嵌入的准确性和上下文相关性:
第一阶段:初始训练
第二阶段:持续微调
- 数据集: XNLI-vn
- 方法: 使用多负样本排序损失(Multi-Negative Ranking Loss)提升模型对句子语义差异的辨别能力。
第三阶段:STS基准语义文本相似度微调
- 数据集: STSB-vn
- 方法: 通过"sentence-transformers"库配置的孪生BERT网络进行微调,增强模型对越南语文本语义相似度的捕捉精度。
第四阶段:高级数据增强微调
使用方法
安装依赖库后即可调用模型:
pip install -U sentence-transformers
pip install -q pyvi
示例代码:
from sentence_transformers import SentenceTransformer
from pyvi.ViTokenizer import tokenize
sentences = ["河内是越南的首都", "岘港是旅游城市"]
tokenizer_sent = [tokenize(sent) for sent in sentences]
model = SentenceTransformer('dangvantuan/vietnamese-embedding')
embeddings = model.encode(tokenizer_sent)
print(embeddings)
评估
在越南语STS数据集上的评估方法:
测试结果
性能指标采用皮尔逊和斯皮尔曼相关系数:
- 开发集表现:
| 模型 | 皮尔逊相关度 | 斯皮尔曼相关度 | 参数量 |
|------|-------------|----------------|--------|
| 本模型 | 88.33 | 88.20 | 135M |
| 对比模型1 | 84.65 | 84.59 | 135M |
| 对比模型2 | 84.51 | 84.44 | 135M |
| 对比模型3 | 78.05 | 77.94 | 135M |
全量STS基准数据集指标
完整评估结果可参考此Colab笔记本
皮尔逊得分对比表
(此处保留原始表格结构,数据转换为中文)
斯皮尔曼得分对比表
(此处保留原始表格结构,数据转换为中文)
引用文献
@article{reimers2019sentence,
title={Sentence-BERT: 基于孪生BERT网络的句子嵌入},
author={Nils Reimers, Iryna Gurevych},
journal={arXiv预印本 arXiv:1908.10084},
year={2019}
}
@article{martin2020camembert,
title={CamemBERT: 一种高效的法语语言模型},
author={Louis Martin等},
journal={ACL 2020会议论文集},
year={2020}
}
@article{thakur2020augmented,
title={增强SBERT: 通过数据提升提升句子对评分任务中的双编码器性能},
author={Nandan Thakur等},
journal={arXiv预印本 arXiv:2010.08240},
year={2020}
}