余弦相似度算法

news2024/11/25 6:31:00

余弦相似度算法

是什么

余弦距离,也称为余弦相似度,是用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小的度量。

余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫"余弦相似性"。

怎么用

利用n维向量的计算公式

我们知道二维余弦计算公式为:

拓展至n维

应用实例

【下面举一个例子,来说明余弦计算文本相似度】

举一个例子来说明,用上述理论计算文本的相似性。为了简单起见,先从句子着手。

句子A:这只皮靴号码大了。那只号码合适

句子B:这只皮靴号码不小,那只更合适

怎样计算上面两句话的相似程度?

基本思路是:如果这两句话的用词越相似,它们的内容就应该越相似。因此,可以从词频入手,计算它们的相似程度。

第一步,分词**。**

句子A:这只/皮靴/号码/大了。那只/号码/合适。

句子B:这只/皮靴/号码/不/小,那只/更/合适。

第二步,列出所有的词。

这只,皮靴,号码,大了。那只,合适,不,小,很

第三步,计算词频。

句子A:这只1,皮靴1,号码2,大了1。那只1,合适1,不0,小0,更0

句子B:这只1,皮靴1,号码1,大了0。那只1,合适1,不1,小1,更1

第四步,写出词频向量。

句子A:(1,1,2,1,1,1,0,0,0)

句子B:(1,1,1,0,1,1,1,1,1)

到这里,问题就变成了如何计算这两个向量的相似程度。我们可以把它们想象成空间中的两条线段,都是从原点([0, 0, …])出发,指向不同的方向。两条线段之间形成一个夹角,如果夹角为0度,意味着方向相同、线段重合,这是表示两个向量代表的文本完全相等;如果夹角为90度,意味着形成直角,方向完全不相似;如果夹角为180度,意味着方向正好相反。因此,我们可以通过夹角的大小,来判断向量的相似程度。夹角越小,就代表越相似。

使用上面的公式

img

计算两个句子向量

句子A:(1,1,2,1,1,1,0,0,0)

和句子B:(1,1,1,0,1,1,1,1,1)的向量余弦值来确定两个句子的相似度。

计算过程如下:

img

计算结果中夹角的余弦值为0.81非常接近于1,所以,上面的句子A和句子B是基本相似的

由此,我们就得到了文本相似度计算的处理流程是:

(1)找出两篇文章的关键词;

(2)每篇文章各取出若干个关键词,合并成一个集合,计算每篇文章对于这个集合中的词的词频

(3)生成两篇文章各自的词频向量;

(4)计算两个向量的余弦相似度,值越大就表示越相似。

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

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

相关文章

PBR纹理贴图类型详解

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 PBR 纹理是一种帮助 3D 艺术家使他们的 3D 渲染看起来更逼真的技术。…

k8s搭建(四、k8s集群创建)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

ROS仿真R2机器人之安装运行及MoveIt的介绍

R2(Robonaut 2)是NASA美国宇航局与GM通用联合推出的宇航人形机器人,能在国际空间站使用,可想而知其价格是非常昂贵,几百万美刀吧,还好NASA发布了一个R2机器人的Gazebo模型,使用模型就不需要花钱了,由于我们…

Kubernetes网络-VXLAN

一. 网络基础 1. 计算机网络的分层 如今连接方式也越来也丰富,网线、WiFi、蓝牙、光纤,甚至我们普通的电线、照明所用的灯光,都可以作为接入网络的介质。如此庞大的网络,丰富多样的设备,计算机网络技术能把它们统一起…

js对象方法大全(开发必会)

目录 前言 assgin(对象合并) 参数 功能 返回值 测试 结果 结论 create(以源对象为原型创建新对象) 参数 功能 返回值 测试 结果 结论 defineProperties(对属性进行具体定义) 参数 功能 返回值 测试 结果 结论 defineProperty(重写或定义新属性) 参数 功…

Google Play上架:2023年度总结报告

今天是2023年的最后一个工作日,今天用来总结一下2023年关于谷歌商店上架的相关政策改动和对应的拒审解决方法。 目录 政策更新与改动2023 年 2 月 22 日2023 年 4 月5 日2023 年 7 月 12 日2023 年 10 月 25 日 开发者计划政策拒审邮件内容和解决办法 政策更新与改…

【Linux】深挖进程地址空间

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:熟悉【Linux】进程地址空间 > 毒鸡汤&#xff…

模糊-神经网络控制 原理与工程应用(绪论)

模糊—神经网络控制原理与工程应用 绪论 模糊和确定系统 在客观世界中,系统可分为确定性系统和模糊性系统,前者可用精确数学模型加以描述,而后者则不能。 输入输出类型 (b)的模糊性输出可通过反模糊化转换…

一招搞定msvcr100.dll缺失问题,msvcr100.dll丢失的多种解决方法

msvcr100.dll是Microsoft Visual C 2010 Redistributable Package的一部分,它是运行许多基于Windows操作系统上的应用程序所必需的动态链接库文件。如果该文件安装不正确、丢失或损坏,则使用该文件的应用程序将无法正常启动,会出现“无法启动…

做抖店的话营业执照要办什么类型?法人必须是本人信息?问题解答

我是王路飞。 想在抖音开店的新手,好像对抖音个人店有一种迷之追求。 先劝告你们一句,贪小便宜容易吃大亏。 抖音个人店并不适合新手开通,它重在“试运营”这三个字,新手不仅无法正常把店铺做起来,而且后续还要把对…

React实现拖拽效果

基于 React 的拖拽效果 Demo 一个基于 React 的拖拽功能实现的 Demo. 两个关键点 1, draggable 属性 2, drag 事件 draggable 属性 img 标签默认是支持拖拽的, 当时其他 HTML 标签, 想要其拖动的话, 需要为其添加 draggable“true” 属性 drag 事件 drag 相关的事件有:…

Android Camera

1. 相关的API Android有三套关于摄像头的API(库),分别是Camera、Camera2和CameraX,其中Camera已废弃,在Android5.0以后推荐使用Camera2和CameraX,Camera2推出是用来替换Camera的,它拥有丰富的API可以为复杂的用例提供…

【Redis交响乐】Redis中的通用命令

文章目录 1. 基本命令 get set2. 全局命令(1)keys(2)exists(3)del(4)expire && ttl面试题: redis中key的过期策略是怎么实现的?定时器的实现原理(1)基于优先级队列/堆(2)基于时间轮实现的定时器 (5) type 我们知道,redis是按照键值对的方式存储数据的. Redis中基本的命…

这本书没有一个公式,却讲透了数学的本质!

这本书没有一个公式,却讲透了数学的本质! 《数学的雨伞下:理解世界的乐趣》。一本足以刷新观念的好书,从超市到对数再到相对论,娓娓道来。对于思维空间也给出了一个更容易理解的角度。 作者:米卡埃尔•洛奈…

【电商项目实战】MD5登录加密及JSR303自定义注解

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《电商项目实战》。🎯🎯 &am…

用友时空KSOA UploadImage存在任意文件上传漏洞

产品简介 用友时空KSOA是建立在SOA理念指导下研发的新一代产品,是根据流通企业最前沿的I需求推出的统一的IT基础架构,它可以让流通企业各个时期建立的IT系统之间彼此轻松对话,帮助流通企业保护原有的IT投资,简化IT管理&#xff0…

10、RabbitMQ高频面试题

1、你们项目中哪里用到了RabbitMQ RabbitMQ是我们项目中服务通信的主要方式之一 , 我们项目中服务通信主要有二种方式实现 : 通过Feign实现服务的同步调用通过MQ实现服务的异步通信 下面要结合自己的项目中功能来说两个地方 xxx xxx 2、为什么会选择使用RabbitMQ 我们项…

XS2200电机驱动芯片解决方案

XS2200 是一款内置驱动 FET 的高集成度微步驱动器,内置 5 个 H 桥,可以构成 2 路 STEP 驱动和一路 DC 驱动(或 VCM 驱动)。XS2200 集成 FLL,支持 1M~28M 外部时钟输入,降低外部时钟源的要求。内部驱动 FET …

前端 -- 基础 常用标签 ( 图像标签及其属性详解)

目录 图像标签 : 插入图像 图像标签的其它属性 : alt 属性 title 属性 width 属性 height 属性 border 属性 注意 图像标签 : 在我们的网页中,可以看到 好多 好多 图片,那这些图片又是怎样 在…

javascript之location常用属性和方法

文章目录 前言为什么使用location的属性和方法呢?属性展示hrefhosthostnameportprotocolpathname 方法展示replace(url)assign(url)reload()toString() 总结属性总结:方法总结: 前言 本章学习的是location常用属性和方法 为什么使用location的…