python实现Levenshtein 距离相似度计算

Levenshtein 距离

1、概念

Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。(即:插入、删除、替换)。

                 相似度\small \partial =1- \frac{Distance}{max(length1+length2))}{\color{Green} }  ,其中Distance指编辑距离,max是指两个字符串的长度总和。

2、python实现

安装包:

pip install python-Levenshtein -i https://pypi.tuna.tsinghua.edu.cn/simple

举例:

import Levenshtein

str1 = 'Angel'
str2 = 'Angle'
distance = Levenshtein.distance(str1,str2)    # distance指编辑距离 
p = 1 - distance/(len(str1 )+len(str2 ))
print(distance)
print(p)

执行上述结果,输出2和0.8。

计算相似度也可以用    莱特斯坦比:Levenshtein.ratio(str1, str2)。同样输出0.8。


版权声明:本文为H_lukong原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。