Py之sentence-transformers:sentence-transformers的简介、安装、使用方法之详细攻略

Py之sentence-transformers:sentence-transformers的简介、安装、使用方法之详细攻略

目录

sentence-transformers的简介

1、一些亮点包括

2、可以使用此框架进行以下用途

3、支持的预训练模型

sentence-transformers的安装

sentence-transformers的使用方法

1、基础用法

(1)、如何使用已经训练好的Sentence Transformer模型来为另一个任务嵌入句子


sentence-transformers的简介

Sentence Transformers,它使用BERT等模型进行多语句、段落和图像嵌入。该框架提供了一种简单的方法来计算句子、段落和图像的稠密向量表示。这些模型基于Transformers网络,如BERT / RoBERTa / XLM-RoBERTa等,在各种任务中取得了最先进的性能。文本在向量空间中嵌入,以便相似的文本靠近,并可以使用余弦相似度有效地找到

我们提供了越来越多的面向100多种语言的最先进的预训练模型,针对各种用途进行了微调

此外,该框架允许轻松微调自定义嵌入模型,以在特定任务上实现最佳性能。有关完整的文档,请参阅 www.SBERT.net。

1、一些亮点包括

支持各种Transformers网络,包括BERT、RoBERTa、XLM-R、DistilBERT、Electra、BART等。

多语言和多任务学习

在训练过程中进行评估,以找到最佳模型

10多种损失函数,允许针对语义搜索、释义挖掘、语义相似性比较、聚类、三元组损失、对比损失等特定调整模型。

2、可以使用此框架进行以下用途

计算句子嵌入

语义文本相似性

聚类

释义挖掘

翻译句子挖掘

语义搜索

检索和重新排列

文本摘要

多语言图像搜索、聚类和重复检测

  • Computing Sentence Embeddings
  • Semantic Textual Similarity
  • Clustering
  • Paraphrase Mining
  • Translated Sentence Mining
  • Semantic Search
  • Retrieve & Re-Rank
  • Text Summarization
  • Multilingual Image Search, Clustering & Duplicate Detection

3、支持的预训练模型

我们提供了超过100种语言的大量预训练模型。一些模型是通用模型,而其他模型产生特定用例的嵌入。只需传递模型名称即可加载预训练模型:SentenceTransformer('model_name')。

地址:Pretrained Models — Sentence-Transformers documentation

from sentence_transformers import SentenceTransformer

model = SentenceTransformer('model_name')

sentence-transformers的安装

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sentence-transformers

Py之sentence-transformers:sentence-transformers的简介、安装、使用方法之详细攻略_第1张图片Py之sentence-transformers:sentence-transformers的简介、安装、使用方法之详细攻略_第2张图片

sentence-transformers的使用方法

1、基础用法

(1)、如何使用已经训练好的Sentence Transformer模型来为另一个任务嵌入句子

# 首先下载一个预训练模型
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('all-MiniLM-L6-v2')

# 然后提供一些句子给模型
sentences = ['This framework generates embeddings for each input sentence',
    'Sentences are passed as a list of string.',
    'The quick brown fox jumps over the lazy dog.']
sentence_embeddings = model.encode(sentences)

# 现在有了一个带有嵌入的NumPy数组列表
for sentence, embedding in zip(sentences, sentence_embeddings):
    print("Sentence:", sentence)
    print("Embedding:", embedding)
    print("")

你可能感兴趣的:(NLP/LLMs,transformers)