余弦相似度

相似度计算方法-余弦相似度 (Cosine Similarity) 余弦相似度的定义、计算公式、代码实现、优劣势以及应用场景 阅读详情

在向量空间模型中,文本泛指各种机器可读的记录。用D(Document)表示,特征项(Term,用t表示)是指出现在文档D中且能够代表该文档内容的基本语言单位,主要是由词或者短语构成,文本可以用特征项集表示为D(T1,T2,…,Tn),其中Tk是特征项,1<=k<=N。例如一篇文档中有a、b、c、d四个特征项,那么这篇文档就可以表示为D(a,b,c,d)。对含有n个特征项的文本而言,通常会给每个特征项赋予一定的权重表示其重要程度。即D=D(T1,W1;T2,W2;…,Tn,Wn),简记为D=D(W1,W2,…,Wn),我们把它叫做文本D的向量表示。其中Wk是Tk的权重,1<=k<=N。在上面那个例子中,假设a、b、c、d的权重分别为30,20,20,10,那么该文本的向量表示为D(30,20,20,10)。在向量空间模型中,两个文本D1和D2之间的内容相关度Sim(D1,D2)常用向量之间夹角的余弦值表示,公式为:

其中,W1k、W2k分别表示文本D1和D2第K个特征项的权值,1<=k<=N。
在自动归类中,我们可以利用类似的方法来计算待归类文档和某类目的相关度。例如文本D1的特征项为a,b,c,d,权值分别为30,20,20,10,类目C1的特征项为a,c,d,e,权值分别为40,30,20,10,则D1的向量表示为D1(30,20,20,10,0),C1的向量表示为C1(40,0,30,20,10),则根据上式计算出来的文本D1与类目C1相关度是0.86

那个相关度0.86是怎么算出来的?

是这样的,抛开你的前面的赘述

在数学当中,n维向量是 V{v1, v2, v3, ..., vn}
他的模: |v| = sqrt ( v1*v1 + v2*v2 + ... + vn*vn )
两个向量的点击 m*n = n1*m1 + n2*m2 + ...... + nn*mn
相似度 = (m*n) /(|m|*|n|)
物理意义就是两个向量的空间夹角的余弦数值
对于你的例子
d1*c1 = 30*40 + 20*0 + 20*30 + 10*20 + 0*10 = 2000
|d1| = sqrt(30*30 +20*20 + 20*20 + 10*10 + 0*0) = sqrt(1800)
|c1| = sqrt(40*40 + 0*0 + 30*30 + 20*20 + 10*10) = sqrt(3000)
相似度 = d1*c1/(|d1|*|c1|)= 2000/sqrt(1800*3000)= 0.86066

【大语言模型】基础:余弦相似度(Cosine similarity) 余弦相似度使用两个向量的点积及各自向量的大小来计算。余弦相似度的公式是:A 和 B 是您正在计算相似度的两个向量。A⋅B 是向量 A 和 B 的点积。∥A∥ 和 ∥B∥ 分别是向量 A 和 B 的欧几里得范数(或大小)。 阅读详情

相关推荐

利用余弦定理计算文本相似度

做文本挖掘时,我们可能需要分析不同文本之间的关联,最简单的就是分析两文本是否相似,是否在陈述相同的事情。文本属于非数值数据,通常可根据分词,把文本转化成数值向量,进一步根据相似度度量进行分析。    相似度度量(Similarity),即计算个体间的相似程度,相似度度量的值越小,说明个体间相似度越小,相似度的值越大说明个体差异越大。    余弦相似度(Cosine Similarity

XiaoXiao_Yang77的博客 4518

相似度计算方法(三) 余弦相似度

一. 向量基本知识点 1 向量乘积公式 2 向量模计算公式 二. 余弦相似度计算数学原理 在工作中一直使用余弦相似度算法计算两段文本的相似度和两个用户的相似度。一直弄不明白多维的余弦相似度公式是怎么推导来的。今天终于花费时间把公式推导出来,其实很简单,都是高中学过的知识,只是很多年没用了,都还给老师了。本文还通过一个例子演示如果使用余弦相似度计算两段文本的相似度...

永青技术博客 8万+

基于物品的协同过滤中,余弦相似度、皮尔森系数、修正余弦相似度三者的区别

假设数据如下图,其中行表示用户,列表示评级项目: 我们先看一下三道公式 余弦相似度(Cosine-based Similarity): 皮尔森系数(Pearson correlation): 修正余弦相似度(Adjusted Cosine Similarity): 其中Ru,i表示用户u给物品i的评级

小白君的碎碎念 3万+

python计算余弦相似度

余弦相似度 from sklearn.metrics.pairwise import cosine_similarity a = [[1, 3, 2,5,6,7], [2, 2, 1,3,4,3],[2,2,2,2,2,2]] b = cosine_similarity(a) print(b) from sklearn.metrics.pairwise import cosine_similarity a = [[1, 3, 2,5,6,7], [2, 2, 1,3,4,3]] b = cosine_

沧笙踏歌的博客 9723

利用余弦相似度计算文本相似度

利用余弦相似度计算文本相似度

weixin_37790871的博客 1万+

文本相似度检测之余弦相似度

探究余弦相似度计算文本相似度的问题,代码实现,以及思考优缺点

竹杖芒鞋轻胜马 8592

余弦相似度及基于python的余弦相似度实现

一.余弦相似度简介 余弦相似度,又称为余弦相似性,是通过计算两个向量的夹角余弦值来评估他们的相似度。对于两个向量,可以想象成空间中的两条线段,都是从原点([0, 0, ...])出发,指向不同的方向。两条线段之间形成一个夹角:如果夹角为0度,则意味着方向相同、线段重合;如果夹角为90度,意味着形成直角,方向完全不相似;如果夹角为180度,意味着方向正好相反。因此,可以通过夹角的大小,来判断向量的...

kevinzhang0015的博客 1万+

python余弦相似度

import time from sklearn.metrics.pairwise import cosine_similarity a = [[1, 1], [1, 0.8]] start=time.time() print(time.time()-start,cosine_similarity(a)[0][1]) import numpy as np a=[1,1] b=[1,0...

jacke121的专栏 8086

Python计算余弦相似度

余弦相似度常用在文本分类、图片分类等应用中,来计算两个文本或两个图像之间的相似度。 本文主要介绍通过Python计算两个向量的余弦相似度

聚集机器学习、信息安全 1万+

非华为电脑与MatePad Pro多屏协同实战:从安装管家到攻克连接难题

本文详细介绍了在非华为电脑上安装华为电脑管家并实现与MatePad Pro多屏协同的完整指南。从安装步骤、常见连接失败解决方案到华为账号绑定技巧,提供了实用的操作方法和硬件优化建议,帮助用户攻克连接难题,提升多屏协同的稳定性和流畅度。

weixin_30263073的博客 232

modelsim软件安装教程及踩坑(极简版)

1.安装的网盘链接:链接:https://pan.baidu.com/s/1ltUfssyXlCnqDmLhWyhlwA提取码:jery 2.步骤(参考博文):https://blog.youkuaiyun.com/weixin_42693097/article/details/90523692?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163521788716780357213801%2522%252C%2522scm%2522%253A%2522

subtitle_的博客 3778

余弦相似度总结

余弦相似度

Mark_Australia的博客 6811

经典脉冲激光测距原理&雷达方程

脉冲激光测距机的工作过程如下:首先用瞄准光学系统瞄准目标,然后接通激光电源,储能电容器充电,产生触发闪光灯的触发脉冲,闪光灯点亮,激光器受激辐射,从输出反射镜发射出一个前沿陡峭、峰值功率高的激光脉冲,通过发射光学系统压缩光束发射角后射向目标。通过计算激光发射功率经介质传输的衰减,目标表面截获和反射的光功率,到达接收视场的光功率,以及接收光学系统接收到的光功率,就可以得到到达光电探测器的光功率,即接收功率。⑤光東路程上的折射率变化;),测量光脉冲到达目标并由目标返回到接收机的时间,由此计算出目标的距离。

weixin_46153372的博客 2520

余弦相似度计算的实现方式

自己手写实现一个,numpy、sklearn、scipy.spatial等 当数据量大了以后就得采用其他的方法了,faiss库和GGNN-graph-based GPU nearest neighbor search 先做调研

HUSTHY的博客 1万+

18 中望CAD二次开发-DWG参照(ZRX C++)

本文介绍了CAD参考外部dwg文件的原理和代码实现及如何卸载参考文件的全过程,是中望CAD二次开发中重要的功能。

cilvsuanna的博客 205

微信小程序视频内容服务类目审核不过?绕过审核的两种思路!

虽然不推荐绕过官方审核,但在实际项目中,总有一些特殊情况:比如,最近开发的小程序涉及视频播放,提交审核时,被官方要求补充“教育服务 - 在线视频课程”类目。但我们的内容只是车辆使用介绍,并非教育课程,无法提供相应资质。该怎么办?很多开发者发现,小程序开发不是最难的,审核才是最难的。 微信为了规避法律风险,要求某些功能必须提供资质。例如:然而,并不是所有公司都能轻松申请到这些资质,甚至有些资质根本不适用于我们的业务,导致审核卡住,无法上线。就像我遇到的这个问题,官方要求我们补充“在线视频课程”类目,但实际业务

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 3238

相似度算法之余弦相似度

转自:http://blog.youkuaiyun.com/u012160689/article/details/15341303 余弦距离,也称为余弦相似度,是用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小的度量。 余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫"余弦相似性"。 上图两个向量a,b的夹角很小可以说a向量和b向量有很高的的相似性,

牧野之歌 24万+

图机器学习(9)——图正则化算法

网络信息能够有效约束模型行为,确保相邻节点的输出保持平滑过渡——这种特性在半监督场景中尤其重要,可实现未标注节点的信息传播。更进一步,这种机制也可用于正则化学习过程,从而提升模型在未见样本上的泛化能力。在本节中,我们探讨了在学习阶段应用正则化技术的方法,用于显著提升模型的鲁棒性,使其具备更优异的泛化能力。

盼小辉丶的博客 8880

余弦相似度、模、内积

余弦距离,也称为余弦相似度,是用向量空间中两个向量之间的夹角余弦值作为衡量两个个体之间的差异大小的度量。 余弦值越接近于1, 夹角之间的度数越接近0度,也就是两个向量越相似,这就叫做“余弦相似度”。 举例说明: 通过上图,我们能看出,将两张人脸图片通过卷积神经网路,可以分别得到向量a和向量b 在空间中,向量a和向量b有以下几种情况: 第一种情况: 向量a和向量b的夹角很小,说明向量a和向量b有很高的相似性。 第二种情况: 向量a和向量b是相等的,可以表示向量a所表示的人脸图片和向量b所表示的.

Drug discovery 2万+

HFSS 3D Layout仿真PCB操作说明

本文介绍一种特别适合PCB这种叠层结构的仿真软件,HFSS 3D Layout既有操作的简便性,又有同3D软件仿真所有的精确性,仿真速度上又比3D软件快很多。

sinat_15150363的博客 3937

高通平台蓝牙学习-- 基于WCN6750 Bluetooth 5.2的讲解

摘要:蓝牙5.2解决方案WCN6750具备多项先进特性:完全兼容5.2标准及ANT+协议,支持2Mbps高速BLE和长距离传输;采用射频集成方案,与WLAN共享天线并支持5G并发;内置功率放大器,支持Class1/2传输;提供双音频流和Slimbus接口优化。其HCI UART接口支持3.2Mbps速率,通过BlueZ协议栈实现蓝牙5.2功能,包括2Mbps模式和长距离传输,符合核心规范要求。(149字)

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 3万+
上一篇: 余弦相似度
下一篇: struts2 java.lang.IllegalStateException
MemRay
博客等级 码龄18年 447粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值