字符串相似性的几种度量方法

一: 字符串相似性的几种度量方法

https://blog.csdn.net/shijing_0214/article/details/53100992

1、余弦相似性(cosine similarity)

2、欧氏距离(Euclidean distance) 

3、编辑距离(edit distance) 

4、海明距离(hamming distance)

5、Dice 距离 

6、Jaccard distance 

7、J-W距离(Jaro–Winkler distance) 

8: 简单共有词

通过计算两篇文档共有的词的总字符数除以最长文档字符数来评估他们的相似度。

假设有A、B两句话,先取出这两句话的共同都有的词的字数然后看哪句话更长就除以哪句话的字数。

同样是A、B两句话,共有词的字符长度为4,最长句子长度为6,那么4/6,≈0.667。

9: SimHash + 汉明距离: 将一个文档转换成64位的字节,然后我们可以通过判断两个字节的汉明距离就知道是否相似了。

10: Jaccard相似性系数:

Jaccard 系数,又叫Jaccard相似性系数,用来比较样本集中的相似性和分散性的一个概率。Jaccard系数等于样本集交集与样本集合集的比值,即J = |A∩B| ÷ |A∪B|。

说白了就是交集除以并集,两个文档的共同都有的词除以两个文档所有的词。

11: 曼哈顿距离:

曼哈顿距离(Manhattan Distance)是由十九世纪的赫尔曼·闵可夫斯基所创词汇,是种使用在几何度量空间的几何学用语,用以标明两个点上在标准坐标系上的绝对轴距总和。

跟欧几里德距离有点像,简单来说就是d(i,j)=|x1-x2...|+|y1-y2...|,同理xn和yn分别代表两个文档所有的词(不重复)在A和B的词频。

然后可以通过1 ÷ (1 + 曼哈顿距离)得到相似度。
 

 

二:计算字符串的相似度解法:(编辑距离算法 Levenshtein Distance) 动态规划

https://blog.csdn.net/a2796749/article/details/79647631

 

三: 字符串近似搜索:  在搜索引擎,电商网站会用到

http://www.cnblogs.com/Aimeast/archive/2011/09/05/2167844.html

 

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值