SentenceTransformer简单使用

SentenceTransformer简单使用

1 SentenceTransformer介绍

SentenceTransformer主要用于对句子、文本和图像进行嵌入。可用于文本和图像的相似度对比查找等

# SentenceTransformer官网地址
https://www.sbert.net/# 安装SentenceTransformer
pip install -U sentence-transformers -i https://pypi.tuna.tsinghua.edu.cn/simple

2 基本使用

2.1 实现文本的嵌入

from sentence_transformers import SentenceTransformermodel = SentenceTransformer("all-MiniLM-L6-v2")# Our sentences we like to encode
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.",
]# Sentences are encoded by calling model.encode()
sentence_embeddings = model.encode(sentences)# Print the embeddings
for sentence, embedding in zip(sentences, sentence_embeddings):print("Sentence:", sentence)print("Embedding:", embedding)

2.2 比较两个句子的相似度

from sentence_transformers import SentenceTransformer, utilmodel = SentenceTransformer("all-MiniLM-L6-v2")# Sentences are encoded by calling model.encode()
emb1 = model.encode("This is a red cat with a hat.")
emb2 = model.encode("Have you seen my red cat?")cos_sim = util.cos_sim(emb1, emb2)
print("Cosine-Similarity:", cos_sim)

2.3 查找相似度较大的文本

它还可以跟Elasticsearch结合使用。


from sentence_transformers import SentenceTransformer, util
import torchembedder = SentenceTransformer("E:\\model\\distiluse-base-multilingual-cased-v1")# Corpus with example sentences
corpus = ["A man is eating food.","A man is eating a piece of bread.","The girl is carrying a baby.","A man is riding a horse.","A woman is playing violin.","Two men pushed carts through the woods.","A man is riding a white horse on an enclosed ground.","A monkey is playing drums.","A cheetah is running behind its prey.",
]
corpus_embeddings = embedder.encode(corpus, convert_to_tensor=True)# Query sentences:
queries = ["A man is eating pasta.","Someone in a gorilla costume is playing a set of drums.","A cheetah chases prey on across a field.",
]# Find the closest 5 sentences of the corpus for each query sentence based on cosine similarity
top_k = min(5, len(corpus))
for query in queries:query_embedding = embedder.encode(query, convert_to_tensor=True)# We use cosine-similarity and torch.topk to find the highest 5 scorescos_scores = util.cos_sim(query_embedding, corpus_embeddings)[0]top_results = torch.topk(cos_scores, k=top_k)print("\n\n======================\n\n")print("Query:", query)print("\nTop 5 most similar sentences in corpus:")for score, idx in zip(top_results[0], top_results[1]):print(corpus[idx], "(Score: {:.4f})".format(score))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/717126.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

求数字的每一位之和

求数字的每一位之和 题目描述:解法思路:解法代码:运行结果: 题目描述: 输入一个整数m,求这个整数m的每⼀位之和,并打印。 测试1: 输⼊:1234 输出:10 测试2&…

土壤侵蚀量化评估

根据之前的文章,已经算出了R、K、LS、C、P 现在计算土壤侵蚀,将几个前期制作好的因子的TIFF文件,用栅格计算器相乘 发现局部地区存在轻度侵蚀,大部分区域是微度侵蚀 然后对比了一下范围 其中的几个因子都在文献范围内,说明计算结果并未出错,可能就是研究区正常范围和结…

6020一拖二快充线:手机充电的革命性创新

在快节奏的现代生活中,手机已不仅仅是一个通讯工具,更是我们工作、学习和娱乐的得力助手。然而,手机的电量问题一直是困扰着我们的难题。为了解决这个问题,市场上出现了一种名为“一拖二快充线”的充电设备,它不仅具备…

etcd入门-(1)安装篇

一、etcd安装 https://github.com/etcd-io/etcd/releases 根据需要下载安装etcd, 确保添加到环境变量 执行 etcd -v 查看安装版本 二、etcd运行 本地运行集群 1.首先安装goreman go install github.com/mattn/goremanlatest2.准备Procfile 将脚本下载到本地,或者复…

八. 实战:CUDA-BEVFusion部署分析-分析BEVFusion中各个ONNX

目录 前言0. 简述1. camera.backbone.onnx(fp16)2. camera.backbone.onnx(int8)3. camera.vtransform.onnx(fp16)4. fuser.onnx(fp16)5. fuser.onnx(int8)6. lidar.backbone.xyz.onnx7. head.bbox.onnx(fp16)总结下载链接参考 前言 自动驾驶之心推出的《CUDA与TensorRT部署实战…

每日一类:Qt中的万能容器

在Qt框架中,QVariant类扮演着一个非常重要的角色。它是一个万能容器类,可以存储Qt中的任何基本类型数据,包括自定义类型。这种灵活性使得QVariant成为Qt编程中不可或缺的工具,特别是在需要处理不同类型数据或进行对象间通信时。 …

Unity UGUI之Scrollbar基本了解

Unity的Scrollbar组件是用于在UI中创建滚动条的组件之一。滚动条通常与其他可滚动的UI元素(如滚动视图或列表)一起使用,以便用户可以在内容超出可见区域时滚动内容。 以下是Scrollbar的基本信息和用法: 1、创建 在Unity的Hierarchy视图中右…

柯西矩阵介绍

经典定义 柯西矩阵(Cauchy Matrix),是一种特殊类型的矩阵,它在数学中的多个领域,包括线性代数、数值分析和插值理论中都有重要应用。柯西矩阵以19世纪法国数学家奥古斯丁-路易柯西的名字命名。 柯西矩阵是一个方阵&am…

Krylov matrix

Krylov矩阵是一种在数值线性代数中使用的矩阵,尤其是在迭代解法中用于求解线性方程组、特征值问题和其他线性代数问题。它是由俄国数学家阿列克谢尼古拉耶维奇克雷洛夫(Alexei Nikolaevich Krylov)的名字命名的。 Krylov子空间由以下形式的矩…

jetson nano——编译安装opencv==4.4

目录 1.下载源码,我提供的链接如下:1.1文件上传的路径位置,注意ymck是我自己的用户名(你们自己换成你们自己相对应的就行) 2.解压文件3.安装依赖4.增加swap交换内存4.1临时增加交换内存swap4.2永久增加swap 5.安装open…

2024-03-03 作业

作业要求: 1.使用fwrite、fread将一张随意的bmp图片,修改成德国的国旗 2.使用提供的getch函数,编写一个专门用来输入密码的函数,要求输入密码的时候,显示 * 号,输入回车的时候,密码输入结束 作业…

学习Android的第十九天

目录 Android ExpandableListView 分组列表 ExpandableListView 属性 ExpandableListView 事件 ExpandableListView 的 Adapter 范例 参考文档 Android ViewFlipper 翻转视图 ViewFlipper 属性 ViewFlipper 方法 为 ViewFlipper 加入 View 例子:全屏幕可…

【MySQL】索引(重点)-- 详解

一、索引 没有索引,可能会有什么问题? 索引 :提高数据库的性能,索引是物美价廉的东西了。不用加内存,不用改程序,不用调 sql ,只要执行正确的 create index ,查询速度就可能提高成…

加密与安全_探索数字证书

文章目录 Pre概述使用keytool生成证书使用Openssl生成证书 (推荐)证书的吊销小结 Pre PKI - 借助Nginx 实现Https 服务端单向认证、服务端客户端双向认证 PKI - 04 证书授权颁发机构(CA) & 数字证书 PKI - 数字签名与数字证…

java面试题(spring框架篇)(黑马 )

树形图: 一、Spring框架种的单例bean是线程安全吗? Service Scope("singleton") public class UserServiceImpl implements UserService{ } singleton:bean在每个Spring IOC容器中只有一个实例 protype:一个bean的定义可以有多个…

CPU iowait是什么意思

在linux系统,使用top命令时,可以看到cpu使用统计情况,有时我们会注意到iowait这一项非常高。我们直到,在cpu运行进程、线程时,遇到IO操作,因为IO读写通常比较慢,CPU通常可以阻塞线程&#xff0c…

【Web安全靶场】xss-labs-master 1-20

xss-labs-master 其他靶场见专栏 文章目录 xss-labs-masterlevel-1level-2level-3level-4level-5level-6level-7level-8level-9level-10level-11level-12level-13level-14level-15level-16level-17level-18level-19level-20 level-1 第一关没有进行任何限制,get请求…

pytorch_神经网络构建6

文章目录 强化学习概念实现qLearning基于这个思路,那么解决这个问题的代码如下 强化学习概念 强化学习有一个非常直观的表现,就是从出发点到目标之间存在着一个连续的状态转换,比如说从状态一到状态456,而每一个状态都有多种的行为&#xff…

全国青少年软件编程(Python)等级考试试卷(一级) 测试卷2021年12月

第 1 题 【 单选题 】 下面程序的运行结果是什么?( ) a10 b5 ca*b print(c) A :10 B :15 C :50 D :5 正确答案:C 试题解析: 第 2 题 【 单选题 】 与a>b and b>c等价的是?( ) A…

设计模式学习笔记 - 设计原则 - 1.单一职责原则

前言 前面我们提到过 SOLID 原则,实际上 SOLID 由 5 个设计原则组成,分别是:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖反转原则。它们分别对应 SLOID 中的 S、O、L、I、D 这 5 个英文字母。 今天来学习下 SOLID 原则中的第…