语言:
- 英文
标签:
- 句子转换器
- 句子相似度
- 特征提取
- 训练生成
- 数据集大小:101762
- 损失函数:三元组损失
基础模型: google-bert/bert-base-uncased
示例:
- 源句: 为什么我仍然害怕黑暗?
对比句:
- 什么单一改变能改变一生?
- 为什么我们会有阴暗面?
- 为什么人类会害怕黑暗?
- 源句: 第一次发生性关系时你感觉如何?
对比句:
- 伪君子是什么意思?
- 第一次性交是什么感觉?
- 第一次接受肛交是什么感觉?
- 源句: 成年人每晚真正需要多少睡眠?
对比句:
- 表演型人格障碍对你来说身体上是什么感觉?
- 我们每天应该睡多少小时?
- 你如何每天睡7小时?
- 源句: 如何从零开始学习英语?
对比句:
- 我为什么要学英语?
- 如何在Quora上提问?
- 我该如何学习英语?
- 源句: 忘记密码如何打开电脑?
对比句:
- 我的州ID号是多少?
- 我忘记了诺基亚206的安全码怎么解锁?
- 我忘记电脑密码该怎么办?
数据集:
- embedding-data/QQP_triplets
任务类型: 句子相似度
库名称: sentence-transformers
评估指标:
- 余弦准确率
模型索引:
- 名称: 基于google-bert/bert-base-uncased的SentenceTransformer
结果:
- 任务:
类型: 三元组
名称: 三元组
数据集:
名称: sentest
类型: sentest
指标:
- 类型: 余弦准确率
值: 0.9882572889328003
名称: 余弦准确率
基于google-bert/bert-base-uncased的SentenceTransformer
这是从google-bert/bert-base-uncased在qqp_triplets数据集上微调的sentence-transformers模型。它将句子和段落映射到768维密集向量空间,可用于语义文本相似度、语义搜索、复述挖掘、文本分类、聚类等任务。
模型详情
模型描述
模型来源
完整模型架构
SentenceTransformer(
(0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BertModel
(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
model = SentenceTransformer("palusi/sentest")
sentences = [
'忘记密码如何打开电脑?',
'我忘记电脑密码该怎么办?',
'我忘记了诺基亚206的安全码怎么解锁?',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
评估
指标
三元组
训练详情
训练数据集
qqp_triplets
训练超参数
非默认超参数
eval_strategy
: 按步骤
per_device_train_batch_size
: 16
per_device_eval_batch_size
: 16
learning_rate
: 2e-05
weight_decay
: 0.01
num_train_epochs
: 1
warmup_ratio
: 0.1
fp16
: 是
load_best_model_at_end
: 是
push_to_hub
: 是
hub_model_id
: palusi/sentest
batch_sampler
: 无重复
训练日志
训练轮次 |
步数 |
训练损失 |
验证损失 |
sentest_余弦准确率 |
-1 |
-1 |
- |
- |
0.8806 |
0.0983 |
500 |
2.5691 |
- |
- |
0.1965 |
1000 |
1.2284 |
0.6712 |
0.9645 |
0.2948 |
1500 |
0.8769 |
- |
- |
0.3930 |
2000 |
0.7151 |
0.4490 |
0.9787 |
0.4913 |
2500 |
0.6506 |
- |
- |
0.5895 |
3000 |
0.5855 |
0.3519 |
0.9848 |
0.6878 |
3500 |
0.5397 |
- |
- |
0.7860 |
4000 |
0.4998 |
0.3079 |
0.9871 |
0.8843 |
4500 |
0.4885 |
- |
- |
0.9825 |
5000 |
0.483 |
0.288 |
0.9883 |
框架版本
- Python: 3.11.11
- Sentence Transformers: 3.4.1
- Transformers: 4.48.2
- PyTorch: 2.5.1+cu124
- Accelerate: 1.3.0
- Datasets: 3.2.0
- Tokenizers: 0.21.0
引用
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",
}
三元组损失
@misc{hermans2017defense,
title={In Defense of the Triplet Loss for Person Re-Identification},
author={Alexander Hermans and Lucas Beyer and Bastian Leibe},
year={2017},
eprint={1703.07737},
archivePrefix={arXiv},
primaryClass={cs.CV}
}