基于Jaccard相似系数的相似度计算
原文链接:基于Jaccard相似系数的相似度计算 – 每天进步一点点
jaccard系数主要用于计算个体之间的相似度,个体的特征属性可以通过符号度量或者布尔标识,所以不能直接通过特征属性的差异进行直接计算,只能通过特征属性是否相同进行比较。因此,jaccard系数只关心个体特征属性是否相同。
1.计算流程
对于相似性分析,首先可以基于观点:“两篇文章越相似,则它们词语的交集越多”作为相似性分析的入口,该观点对应的理论基础即为jaccard相似系数。基于jaccard相似系数的网页相似度计算方式,可以按照如下步骤进行
网页 | 网页内容 |
A | 努力建设国家级自然保护区 |
B | 保护自然保护区义不容辞 |
(1)分词处理。将网页A内容和网页B内容分别进行分词处理后,结果为”努力 建设 国家级 自然保护区“ 和”保护 自然保护区 义不容辞“
(2)将网页A内容对应的词语当作一个集合A,即A={”努力“,”建设“,”国家级“,”自然保护区“},同理B={"保护","自然保护区","义不容辞"}。
(3) 计算集合A和集合B的交集{“自然保护区”}、计算集合A和集合B的并集{“努力”,“建设”,“国家级”,“自然保护区”,“保护”,“义不容辞”}
(4)计算交集数量与并集数量的比,交集数量为1,并集数量为6,交集数量与并集数量的比值为0.17。
基于上述流程,可以将0.17视为网页A和网页B的相似度衡量标准,该衡量标准的原来即称为Jaccard相似系数。
2.狭义Jaccard相似系数
Jaccard相似系数也称为雅可比相似度系数,狭义jaccard相似系数(Jaccard Similarity Coefficient)是通过样本交集与总交集的差异的相似度算法,一般用J表示,公式如下:
根据上述公式,即在集合A和集合B中,两者的交集越多,则表示两种相似度越高。Jaccard的相似性与集合的顺序无关,仅与在集合中是否出现有关,即为二者数据,不是0则是1,是一种简单 相似性方法,实质是集合交集与并集的比值。
3.广义Jaccard相似系数
广义Jaccard相似系数也称作Tanimoto系数,一般用EJ表示,公式如下:
上述公式中的A、B分别表示两个向量,与狭义的Jaccard中的元素为二值数据不同,广义Jaccard可以使元素不仅是0或1,实质是狭义Jaccard相似系数的扩展算法。