我是靠谱客的博主 怡然项链,最近开发中收集的这篇文章主要介绍字符串相似性的几种度量方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

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

 

最后

以上就是怡然项链为你收集整理的字符串相似性的几种度量方法的全部内容,希望文章能够帮你解决字符串相似性的几种度量方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部