jaccard java_使用jaccard距离计算文本相似度

本文介绍了如何利用Jaccard系数计算文本相似度,包括从集合和向量的角度解释公式,以及在维度分析和文本相似度计算中的应用,并提供了Java实现代码。

4. jaccard系数计算文本相似度

4.1 jaccard系数

jaccard系数反映了两个向量(元素取值为0或1)间的关系。即对于A⃗\vec AA和B⃗\vec BB,定义:

NA0B0N_{A_0B_0}NA0​B0​​ = A⃗\vec AA中元素值为0且B⃗\vec BB中元素值为0的个数

NA1B0N_{A_1B_0}NA1​B0​​ = A⃗\vec AA中元素值为1且B⃗\vec BB中元素值为0的个数

NA0B1N_{A_0B_1}NA0​B1​​ = A⃗\vec AA中元素值为0且B⃗\vec BB中元素值为1的个数

NA1B1N_{A_1B_1}NA1​B1​​ = A⃗\vec AA中元素值为1且B⃗\vec BB中元素值为1的个数

则 jaccard系数可以表示为:

J(A,B)=NA0B0+NA1B1NA0B0+NA1B0+NA0B1+NA1B1(1)J(A,B)=\frac{N_{A_0B_0}+N_{A_1B_1}}{N_{A_0B_0}+N_{A_1B_0}+N_{A_0B_1}+N_{A_1B_1}} (1)J(A,B)=NA0​B0​​+NA1​B0​​+NA0​B1​​+NA1​B1​​NA0​B0​​+NA1​B1​​​(1)

当向量中为0的元素远大于为1的元素的个数时,NA0B0N_{A_0B_0}NA0​B0​​ 需要从计算中移除,而只关注均为1的元素的个数。因为当NA0B0N_{A_0B_0}NA0​B0​​较大时,整个计算结果将区域稳定,无明显特征了。所以以上公式变为:

J(A,B)=NA1B1NA1B0+NA0B1+NA1B1(2)J(A,B)=\frac{N_{A_1B_1}}{N_{A_1B_0}+N_{A_0B_1}+N_{A_1B_1}} (2)J(A,B)=NA1​B0​​+NA0​B1​​+NA1​B1​​NA1​B1​​​(2)

另一种用集合表示的方法:

J(A,B)=∣A⋂B∣∣A⋃B∣=∣A⋂B∣∣A∣+∣B∣−∣A⋂B∣(3)J(A,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值