当前位置: 首页 > news >正文

文本相似度计算

Sentence_transformers 是一种基于深度学习的自然语言处理技术,使用了大量的语料库进行训练,生成了多种预训练模型主要用于将文本(包括句子、段落等)转换为向量表示,进而实现文本相似度计算、文本分类、文本聚类、语义搜索等多种自然语言处理任务。

该技术基于PyTorch和Transformers框架,支持多种语言(超过100种),提供了丰富的预训练模型,用户可以根据具体任务进行微调或直接使用。

技术原理通过将文本转换为向量,可以在向量空间中比较不同文本的相似度。这种表示方式能够捕捉文本的语义信息,而非仅仅是表面的词汇匹配。

使用Sentence_transformers 计算文本相似度:

首先下载Sentence_transformers与训练模型paraphrase-multilingual-MiniLM-L12-v2,下载地址为:https://public.ukp.informatik.tu-darmstadt.de/reimers/sentence-transformers/v0.2/ 下载后解压即可直接使用。

安装依赖包(为了提升速度,我使用了清华源下载):

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

在代码中import相应的依赖包:

from sentence_transformers.util import cos_sim
from sentence_transformers import SentenceTransformer as SBert

加载与训练模型

model = SBert('paraphrase-multilingual-MiniLM-L12-v2')

测试代码:

我定义了一个数组sen = ['human','i like you','人类','我爱你'],该数组中包含单词,也包含句子,有中文,也有英文,遍历数组,两两进行文本相似度计算,★数目越多,表示文本相似度也越高。

emb = model.encode(sen),将数组元素分别转换成向量
cos = cos_sim(emb,emb),计算待比较元素向量的余弦相似度,cos值越大,表示被比较的两个元素相似度越高。

def get_des_by_cosine(cos):    if cos>0.8:result='★★★★★'elif cos>0.7:result='★★★★'elif cos>0.5:result='★★★'elif cos>0.4:result='★★'else:result='★'return result def test_model():sen = ['human','i like you','人类','我爱你']emb = model.encode(sen)cos = cos_sim(emb,emb)for i in range(0,len(sen)):for k in range(0,len(sen)):val = cos[i][k]result = get_des_by_cosine(val)print('【{}】【{}】 {:.4f} {}'.format(sen[i],sen[k],val,result))


http://www.mrgr.cn/news/38371.html

相关文章:

  • 从信号量开始的里牛渴死生活
  • MATLAB中的并行计算:提升性能的策略与实践
  • 双向链表的实现
  • 为什么说AI普及之路还存在挑战呢?
  • 参数高效的迁移学习在自然语言处理中的应用
  • mov视频怎么转换成mp4?这几种转换方法值得收藏起来!
  • C++里的随机数
  • CentOS 修改服务器登录密码的完整指南
  • 【C语言】动态内存管理:malloc、calloc、realloc、free
  • vue3使用Teleport 控制台报警告:Invalid Teleport target on mount: null (object)
  • c++进阶学习--------多态
  • Java如何在方法中操作数组元素
  • 计算机网络各层有哪些协议?计算机网络协议解析:从拟定到实现,全面了解各层协议的作用与区别
  • 业务资源管理模式语言19
  • 05-成神之路_ambari_Ambari实战-013-代码生命周期-metainfo-configFiles详解
  • 关系型数据库的特点
  • 工控主板在工业控制中扮演什么角色
  • k8s基于nfs创建storageClass
  • 【2023工业3D异常检测文献】PointCore: 基于局部-全局特征的高效无监督点云异常检测器
  • 2024年7月大众点评温州美食店铺基础信息