计算两字符的相似度
Posted xyqiu90-365
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算两字符的相似度相关的知识,希望对你有一定的参考价值。
两字符的相似度:即字符A到B的最小编辑次数。(AKA)
(1)python-Levenshtein
汉明距离,要求:两字符长度一致。即len(str1)==len(str2)
hamming(str1, str2)
(2)编辑距离(插入,修改,删除)
distance(str1, str2)
(3)莱文斯坦比
ratio(str1, str2)
原理:r = (sum - ldist) / sum,其中sum = str1 + str2,ldist为类编辑距离(插入/删除,+1;修改,+2)
用途:拼写纠错、文本去重、上下文相似度
(4)其他距离
Jaccard distance、J-W距离、余弦相似度、欧式距离等
J-W距离:dj = 1/3( m/|s1| + m/|s2| + (m-t)/m ) m是匹配的字符数,t是换位的数目。
以上是关于计算两字符的相似度的主要内容,如果未能解决你的问题,请参考以下文章
R语言计算杰卡德相似系数(Jaccard Similarity)实战:自定义函数计算Jaccard相似度对字符串向量计算Jaccard相似度将Jaccard相似度转化为Jaccard距离