1. 字符串相似度
- hamming(str1, str2) 汉明距离:两个等长字符串对应位置上不同字符的个数;
- distance(str1, str2) 编辑距离:描述一个字符串转成另一个字符串最少的操作次数,操作包括:插入、删除、替换;
- ratio(str1, str2) 计算莱文斯坦比:r = (sum - ldist) / sum,sum 指的是 str1 和 str2 字符串长度之和,ldist 为类编辑距离(插入删除为1,替换为2)
>> import Levenshtein
>> Levenshtein.hamming('abc', 'abd')
1
>> Levenshtein.distance('ac', 'abc')
1
# ac 中间插入 b
>> Levenshtein.distance('kitten', 'sitting')
3
# k ⇒ s
# e ⇒ i
# 插入一个 g
>> Levenshtein.ratio('abc', 'abd')
0.6666666666666666
# (6-2)/6 ⇒