我希望获得两个单词的相似百分比,例如
abcd versus zzabcdzz == 50% similarity
不需要非常准确。有没有办法做到这一点?我正在使用python,但随时可以推荐其他语言。
答案 0 :(得分:6)
尝试使用python-Levenshtein
来计算edit distance。
Levenshtein Python C扩展模块包含用于快速计算
的函数
- Levenshtein(编辑)距离和编辑操作
- 字符串相似度
- 近似中值字符串,通常字符串平均值
- 字符串序列和设置相似度
您可以通过计算两个字符串之间的编辑距离除以最长字符串的长度来粗略了解相似性。在您的示例中,编辑距离为4,最大可能编辑距离为8,因此相似度为50%。
答案 1 :(得分:3)
答案 2 :(得分:1)
答案 3 :(得分:0)
从that回复
复制在Python中,有difflib。
difflib
提供SequenceMatcher类,可用于为您提供相似比率。示例功能:
def text_compare(text1, text2, isjunk=None):
return difflib.SequenceMatcher(isjunk, text1, text2).ratio()