我想要得到的两个词的相似百分比,例如)蟒蛇搜索技术:单词类似
abcd versus zzabcdzz == 50% similarity
不需要非常精确。有没有办法做到这一点?我正在使用python,但随时可以推荐其他语言。
我想要得到的两个词的相似百分比,例如)蟒蛇搜索技术:单词类似
abcd versus zzabcdzz == 50% similarity
不需要非常精确。有没有办法做到这一点?我正在使用python,但随时可以推荐其他语言。
尝试使用python-Levenshtein
来计算edit distance。
的的Levenshtein的Python C扩展模块含有用于
- 的Levenshtein(编辑)的距离,和编辑操作
- 字符串相似
- 近似平均串快速计算,并且通常串平均
功能- 字符串序列和集合相似度
通过计算两个字符串之间的编辑距离除以最长字符串的长度,可以大致了解相似度。在你的例子中,编辑距离是4,最大可能的编辑距离是8,所以相似度是50%。
从that答案复制:
在Python中,有difflib。
difflib
提供了SequenceMatcher类,它可以用来给你一个相似比。示例功能:
def text_compare(text1, text2, isjunk=None):
return difflib.SequenceMatcher(isjunk, text1, text2).ratio()
[Text difference algorithm](http://stackoverflow.com/questions/145607/text-difference-algorithm) – tzot