Sentence transformers

来自牛奶河Wiki
阿奔讨论 | 贡献2024年7月1日 (一) 14:53的版本
跳到导航 跳到搜索

sentence-transformer(SBERT) 框架提供了一种简便的方法来计算句子和段落的向量表示(也称为句子嵌入),是用于访问、使用和训练最先进的文本和图像嵌入模型的首选 Python 模块。它可用于模型计算嵌入或使用交叉编码器模型计算相似性,包括语义搜索、语义文本相似性和释义挖掘。

超过 5,000 个预先训练的 Sentence Transformer 模型可供 Hugging Face 立即使用,其中包括 Massive Text Embeddings Benchmark(MTEB) 排行榜中的许多最先进的模型。此外,使用 Sentence Transformer 可以轻松训练或微调您自己的模型,使您能够为特定用例创建自定义模型。

Sentence Transformers 由 UKPLab 创建,由 Hugging Face 维护。

同种语义句向量对比

from sentence_transformers import SentenceTransformer, util
model = SentenceTransformer('distiluse-base-multilingual-cased')
emb1 = model.encode('Natural language processing is a hard task for human')
emb2 = model.encode('自然语言处理对于人类来说是个困难的任务')
emb3 = model.encode('猫是一种小型哺乳动物,被视为宠物。')
cos_sim = util.pytorch_cos_sim(emb1, emb2)
print(cos_sim)
cos_sim = util.pytorch_cos_sim(emb1, emb3)
print(cos_sim)
tensor(0.8960)
tensor(0.1019)