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

一、文本相似度

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,一经查实,立即删除!

相关文章

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

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

Ubuntu 命令行安装 Clang 16或者Clang 17的过程

相关文章: How to install Clang 17 or 16 in Ubuntu 22.04 | 20.04 | UbuntuHandbook 在Ubuntu里面可以方便的用apt工具安装Clang 10, 11, 12, 13, 14 以及15。例如安装Clang 15只需要在Terminal中输入如下命令即可: sudo apt install clang-15 目前版本的Ubuntu如果想直接…

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

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

小程序生命周期

小程序的生命周期函数是一组在小程序运行过程中自动触发的函数,开发者可以在这些函数中编写相应的代码,实现对应的功能。以下是常用的小程序生命周期函数及其说明: onLaunch(options):小程序初始化时触发,只执行一次。…

系列七、函数

一、函数 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&…

SQL规约

文章目录 前言SQL规约-索引注意字段类型利用覆盖索引利用有序性禁模糊 超过三个表禁止 joinSQL规约-count拒绝替代计算不重复行数当值全是NULL时 SQL规约-分页若 count 为 0优化超多分页场景 SQL规约-null值使用 ISNULL()来判断是否为 NULL 值NULL< >NULLNULLNULLNULL<…

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…

接口-幂等性问题

1.什么是接口的幂等性&#xff1f; 接口的幂等性就是一个接口无论是调用一次还是多次&#xff0c;最后的结果应该是一样的。2.为何需要保证接口的幂等性&#xff1f; 因为服务之间调用&#xff0c;可能存在超时。如果是成功或者失败&#xff0c;那么程序都是正常的。当出现超…

10 在Vue3中使用SCSS编写样式

概述 When using Vue components, the Vite compiler allows you to use almost any frontend templating language style. The easiest way to enable these expressive library plugins in your Vue templates is to install them when you initialize your project, or by …

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

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

条款27:尽量少做转型动作

1.前言 C规则的设计目标之一是保证“类型错误”绝对不可能发生。理论上如果你的程序很顺利的通过编译&#xff0c;就表示它并不企图在任何对象身上执行任何不安全&#xff0c;无意义的操作。这是个极具价值的保证&#xff0c;可别草率的放弃它。 不幸的是&#xff0c;转型&am…

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; 显示的是单位查询…

工作流JBPM笔记:了解JBPM

一、什么是工作流 工作流管理联盟&#xff08;WFMC&#xff09;把工作流定义为&#xff1a;全部或部分由计算机支持或自动处理的业务过程。 工作流管理系统&#xff08;Workflow Management System&#xff0c;WFMS&#xff09;用来支持流程定义、管理和执行一批设定好的工作…