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

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
人人都是产品经理
人人都是产品经理
V
Visual Studio Blog
罗磊的独立博客
Last Week in AI
Last Week in AI
爱范儿
爱范儿
The Cloudflare Blog
有赞技术团队
有赞技术团队
博客园 - 三生石上(FineUI控件)
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
月光博客
月光博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 司徒正美
IT之家
IT之家
博客园 - 【当耐特】
雷峰网
雷峰网
博客园_首页
Jina AI
Jina AI
Hugging Face - Blog
Hugging Face - Blog
阮一峰的网络日志
阮一峰的网络日志
量子位
V
V2EX

博客园 - 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的算法过程可以通过网络得到。