文本聚类——文本相似度(聚类算法基本概念)

一、文本相似度

1. 度量指标:

  • 两个文本对象之间的相似度
  • 两个文本集合之间的相似度
  • 文本对象与集合之间的相似度

2. 样本间的相似度

基于距离的度量:

  • 欧氏距离

d(a,b)=[\sum_{k=1}^M(a_k-b_k)^2]^{\frac{1}{2}}

  • 曼哈顿距离

d(a,b)=\sum_{k=1}^M|a_k-b_k|

  • 切比雪夫距离

d(a,b) = \max_{k}|a_k-b_k|

  • 闵可夫斯基距离

d(a,b)=[\sum_{k=1}^M(a_k-b_k)^p]^{\frac{1}{p}}

  • 马氏距离

  • 杰卡德距离

基于夹角余弦的度量

公式:

\cos{(a,b)}=\frac{a^Tb}{||a||b||}

当文本进行了2-范数归一化,余弦相似度与内积相似度\boldsymbol{a}\cdot\boldsymbol{b}=\boldsymbol{a^T}\boldsymbol{b}是等价的。

距离度量衡量的是空间各个点的绝对距离,与各点的位置(即个体特征维度的数值)直接相关,而余弦相似度衡量的事空间向量的夹角,更多的体现了方向上的差异,而不是位置(距离或长度)。

余弦相似度是文本相似度度量中使用最为广泛的相似度计算方法。

基于分布的度量

前面两种文本相似性度量方法主要针对定义在向量空间模型中的样本,而有时候,文本通过概率分布进行表示,如词项分布、基于PLSA和LDA模型的主题分布等。在这种情况下,可以用统计距离度量两个文本之间的相似度。

Kullback-Leibler(K-L)距离(K-L散度)

在多项分布中,从分布Q到分布P的K-L距离定义为:

D_{KL}(P||Q)=\sum_iP(i)\log{\frac{P(i)}{Q(i)}}

K-L散度是非负的,当且仅当两个分布完全相等时取零。它不是对称的。

对称的K-L距离

D_{SKL}(P,Q)=D_{KL}(P||Q)+D_{KL}(Q||P)

注:K-L距离常常用于度量两个文本集合之间的相似度,且数据稀疏会让分布刻画时区意义。

杰卡德相似系数

J(x_i,x_j)=\frac{x_i \cap x_j }{x_i \cup x_j}

3. 簇间相似度

一个粗通常由多个相似的样本组成。粗剪相似性度量是以各个簇内样本之间的相似性为基础的。假设d(C_m,C_n)表示簇C_m和簇C_n之间的距离,d(x_i,x_j)表示样本x_i, x_j之间的距离。

最短距离法(single linkage)

d(C_m,C_n)=\min\limits_{\substack{x_i \in C_m,x_j\in C_n}} d(x_i,x_j)

最长距离法(complete linkage)

d(C_m,C_n)=\max\limits_{\substack{x_i \in C_m,x_j\in C_n}} d(x_i,x_j)

簇平均法(average linkage)

d(C_m,C_n)=\frac{1}{|C_m|\cdot|C_n|}\sum\limits_{\substack{x_i\in C_m}}\sum\limits_{\substack{x_j\in C_n}}d(x_i,x_j)

重心法

d(C_m,C_n)=d(\bar{x}(C_m),\bar x(C_n))

离差平方和

两个簇中各个样本到两个簇合并后的簇中心之间距离的平方和,相比于合并前各个样本到格子簇中心之间距离平方和的增量:

d(C_m,C-n)=\sum \limits_{\substack{x_k \in {C_m \cup C_n}}}d(x_k, \bar x (C_m \cup C_n))-\\ \sum \limits_{x_i \in C_m}d(x_i,\bar x(C_m))-\sum \limits_{x_j \in C_n}d(x_j, \bar x(C_n))

其中,d(\boldsymbol a - \boldsymbol b) = ||\boldsymbol a- \boldsymbol b||^2

4. 样本与簇之间的相似性

样本与簇之间的相似性通常转化为样本之间的相似度或者簇间相似度进行计算。如果用均值向量来表示一个簇,纳秒样本与簇之间的相似性可以转化为样本与均值向量的样本相似性。如果将一个样本视作一个粗,那么就可采用上一种方法进行对量计算。

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

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

相关文章

银行数字化转型导师坚鹏:银行数字化转型正在重塑您的工作

您好,我是银行数字化转型导师坚鹏。坚持知行果合一,赋能数字化转型!非常荣幸和您分享关于银行数字化转型如何影响老百姓工作的一些思考。 您知道吗?银行数字化转型给您的工作方式带来新变化、新趋势、新潮流啦!在这个…

一分钟解决:vscode卡在“设置SSH主机:VS Code-正在本地下载 VS Code 服务器”

问题:vscode之前可正常使用,更新之后,连接服务器卡住了。 解决:从CMD或者你的终端连接服务器,进入vscode-server目录下,删除一些文件夹就行,然后使用vscode重新链接,它会自动下载新…

系列七、函数

一、函数 1.1、概述 函数 是指一段可以直接被另一段程序调用的程序或代码。 也就意味着,这一段程序或代码MySQL中已经为我们提供好了,我们要做的就是在合适的业务场景调用对应的函数完成相应的业务需求即可。 1.2、分类 按照业务分类,MySQL中…

基于SSM的影视企业全渠道会员管理系统(有报告)。Javaee项目

演示视频: 基于SSM的影视企业全渠道会员管理系统(有报告)。Javaee项目 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring S…

Python将列表中的数据写入csv并正确解析出来

用Python做数据处理常常会将数据写到文件中进行保存,又或将保存在文件中的数据读出来进行使用。通过Python将列表中的数据写入到csv文件中很多人都会,可以通过Python直接写文件或借助pandas很方便的实现将列表中的数据写入到csv文件中,但是写…

计算机毕业设计 基于SpringBoot的物资管理信息系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

nginx_rtmp_module 之 ngx_rtmp_live_module模块

模块作用 直播模块代码 ngx_rtmp_live_module.c,主要作用是:当客户端推流或者拉流的时候,创建的rtmp session会加入到 live 模块的存储链表中。 模块配置命令 static ngx_command_t ngx_rtmp_live_commands[] {{ ngx_string("live&…

vue3 插槽slot

插槽是子组件中的提供给父组件使用的一个占位符&#xff0c;用 <slot> 表示&#xff0c;父组件可以在这个占位符中填充任何模板代码&#xff0c;如 HTML、组件等&#xff0c;填充的内容会替换子组件的<slot> 元素。<slot> 元素是一个插槽出口 (slot outlet)&…

蓝桥杯专题-真题版含答案-【骑士走棋盘】【阿姆斯壮数】【Shell 排序法 - 改良的插入排序】【合并排序法】

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…

李宏毅机器学习2023课程记录(1)--课程介绍

李宏毅机器学习2023课程记录(1)–课程介绍 在这里&#xff0c;记录我最近听的李宏毅老师的机器学习课程的一些笔记和感想&#xff0c;进行归纳总结同时方便后续复习回顾。 注&#xff1a;这门课虽然叫做机器学习&#xff0c;但是李宏毅老师讲课主要以深度学习的技术&#xff0…

在Node.js中MongoDB的连接查询操作

本文主要介绍在Node.js中MongoDB的连接查询操作。 目录 Node.js中MongoDB的连接查询操作使用原生的mongodb驱动程序进行连接查询操作使用Mongoose库进行连接查询操作注意项 Node.js中MongoDB的连接查询操作 在Node.js中使用MongoDB进行连接操作&#xff0c;可以使用原生的mong…

AOP切入点表达式和使用连接点获取匹配到的方法信息

目录 第一种 execution(访问修饰符? 返回值 包名.类名.?方法名(方法参数) throws 异常?) 第二种 annotation(com.itheima.anno.Log 首先&#xff0c;自定义一个注解&#xff0c;可以自己随意命名&#xff1a; 第一种 execution(访问修饰符? 返回值 包名.类名.?方法名…

Explain工具-SQL性能优化

文章目录 SQL性能优化的目标Explain中type效率级别&#xff08;重要&#xff09;注意 Explain覆盖索引ExplainindexExplainfilesortExplainfilesort创建 idx_bd(b,d) SQL性能优化的目标 达到 range 级别 Explain中type效率级别&#xff08;重要&#xff09; 显示的是单位查询…

pytorch强化学习(1)——DQNSARSA

实验环境 python3.10 torch2.1.1 gym0.26.2 gym[classic_control] matplotlib3.8.0 numpy1.26.2DQN代码 首先是module.py代码&#xff0c;在这里定义了网络模型和DQN模型 import torch import torch.nn as nn import numpy as npclass Net(nn.Module):# 构造只有一个隐含层的…

LLM大语言模型(二):Streamlit 无需前端经验也能画web页面

目录 问题 Streamlit是什么&#xff1f; 怎样用Streamlit画一个LLM的web页面呢&#xff1f; 文本输出 页面布局 滑动条 按钮 对话框 输入框 总结 问题 假如你是一位后端开发&#xff0c;没有任何的web开发经验&#xff0c;那如何去实现一个LLM的对话交互页面呢&…

Python MySQL数据库连接与基本使用

一、应用场景 python项目连接MySQL数据库时&#xff0c;需要第三方库的支持。这篇文章使用的是PyMySQL库&#xff0c;适用于python3.x。 二、安装 pip install PyMySQL三、使用方法 导入模块 import pymysql连接数据库 db pymysql.connect(hostlocalhost,usercode_space…

Spring MVC开发流程

1.Spring MVC环境基本配置 Maven工程依赖spring-webmvc <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.1.9.RELEASE</version> </dependency>web.xml配置Dispatche…

NSSCTF第16页(2)

[NSSRound#4 SWPU]1zweb(revenge) 查看index.php <?php class LoveNss{public $ljt;public $dky;public $cmd;public function __construct(){$this->ljt"ljt";$this->dky"dky";phpinfo();}public function __destruct(){if($this->ljt"…

day01unittest复习,断言

1.unittest 方法执行前 # def setUp(self) -> None: # print(方法执行前执行) # # def tearDown(self) -> None: # print(方法执行后执行一次) 2.unittest 类方法执行前后执行一次 classmethod def setUpClass(cls) -> None:print(类执行前执行一次)classm…

微分和导数(一)

1.微分&#xff1a; 假设我们有⼀个函数f : R → R&#xff0c;其输⼊和输出都是标量。如果f的导数存在&#xff0c;这个极限被定义为 如果f′(a)存在&#xff0c;则称f在a处是可微的。如果f在⼀个区间内的每个数上都是可微的&#xff0c;则此函数在此区间中是可微的。导数f′…