惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
Y
Y Combinator Blog
Engineering at Meta
Engineering at Meta
D
Docker
GbyAI
GbyAI
aimingoo的专栏
aimingoo的专栏
大猫的无限游戏
大猫的无限游戏
腾讯CDC
P
Proofpoint News Feed
A
About on SuperTechFans
WordPress大学
WordPress大学
Stack Overflow Blog
Stack Overflow Blog
Google DeepMind News
Google DeepMind News
C
Check Point Blog
Microsoft Security Blog
Microsoft Security Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
L
LangChain Blog
MyScale Blog
MyScale Blog
博客园 - 三生石上(FineUI控件)
Hugging Face - Blog
Hugging Face - Blog
Microsoft Azure Blog
Microsoft Azure Blog
N
Netflix TechBlog - Medium
G
Google Developers Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

博客园 - T.t.T!Ck.¢#

博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 人工神经网络(Artificial Neural Netwroks)笔记-模拟退火算法(Simulated Annealing) 人工神经网络(Artificial Neural Netwroks)笔记-径向基函数(Radial Basis Function- RBF) 人工神经网络(Artificial Neural Netwroks)笔记-粒子群优化(Partical Swarm Optimization - PSO) 识别地图上的地名-- 笔记一 人工神经网络(Artificial Neural Netwroks)笔记-基本的非确定性统计训练算法 - T.t.T!Ck.¢# 人工神经网络(Artificial Neural Netwroks)笔记 人工神经网络(Artificial Neural Netwroks)笔记-消除样本顺序的BP算法 博文阅读密码验证 - 博客园 人工神经网络(Artificial Neural Netwroks)笔记-连续多输出感知器算法 人工神经网络(Artificial Neural Netwroks)笔记--离散多输出感知器训练算法 博文阅读密码验证 - 博客园 人工神经网络(Artificial Neural Netwroks)笔记-离散单输出感知器算法 Mutual Information 互信息的应用 BeIT Memcached web页面列表的内容抽取 倒排序索引实验 坏事做尽--通过修改IL获取某资源文件 - T.t.T!Ck.¢# - 博客园
文本相似度计算--余弦定理和广义Jaccard系数
T.t.T!Ck.¢# · 2007-08-04 · via 博客园 - T.t.T!Ck.¢#

7.9余弦定理+空间向量--我的数学3 中简单地说了一下利用余弦定理来计算文本相似度。下面是利用余弦定理和广义Jaccard系数来计算文本相似度。

简单介绍一下Jaccard系数:广义Jaccard系数可以用于文档数据,并在二元属性情况下归约为Jaccard系数。广义Jaccard系数又称Tanimoto系数。(有另一种系数也称为Tanimoto系数)。该系数用EJ表示,由下式定义:
EJ(x,y)=(x*y)/(||x|*||x||+||y||*||y||-x*y)
其公式与余弦相似度的计算有点相似

ClusterUsingKmeans.rar 代码下载。

代码解析如下:
 class Word 表示一个词,来自于中文分词后的结果,其属性包括词频和特征值(关于特征值的计算会在以后介绍)

class Document 表示一个文档,对文档进行中文分词后,分别计算词的词频和特征值。
public double SimilitudeValueToDocumentUsingCos(Document Doc)  通过余弦定理计算相似度
public double SimilitudeValueToDocumentUsingGeneralizedJaccardCoefficient(Document Doc) 通过广义Jaccard计算相似度

public class LoadDict用于加载词库,词库使用sogou的互联网词库 ,完全简单化计算词的特征。

class WordSegment为中文分词的简单封装,替换成网络上的中文分词组件即可。

实验结果下载 

实验报告与数据.rar   77.txt为原始文档,77.txt对比其他文档得到的相似度报告可以在 实验报告.doc中查看
如下所示

使用COS(名词和成语)

使用COS(无限制)

使用Jaccard (名词和成语)

使用Jaccard (无限制)

53.txt

0.75956909998699

0.695630243577844

0.560566883431663

0.4670868864554

57.txt

0.832549281197672

0.784451145860574

0.711498783220936

0.635179493763215

75.txt

0.723232861947749

0.705986655123678

0.515174136459287

0.494265265766382

94.txt

0.944456910179154

0.864040767357343

0.624237679218324

0.760073520562129

PS: 通过查看文本的内容,可以发现五个文本之间都存在一定的相似。能得到文本的相似度之后,可以采用K-means等聚类算法对文本数据进行聚类。
K-means的算法过程可以通过网络得到。