找到Jaro Winkler距离,它表示两个字符串之间的相似性分数
pyjarowinkler的Python项目详细描述
找到Jaro Winkler距离,它表示两个字符串之间的相似性分数。 jaro度量是每个文件中匹配字符百分比的加权和。 以及换位字符。winkler增加了这个匹配初始字符的度量。
实现
原始实现基于Jaro Winkler Similarity Algorithm文章,可以在Wikipedia上找到。 原始实现的这个python版本基于Apache StringUtils库。
正确性
unittest类似于StringUtils库中的内容,用于验证实现。
注
stringutils中使用shorter / 2 + 1的限制,这与wikipedia和Winkler’s paper不同,后者使用longer / 2 - 1的距离,对应于longer / 2的位置。 从version 1.8开始,该算法现在可以正确地与来自wikipedia的"CTRATE" - "TRACE"示例一起工作。
示例
>>> from pyjarowinkler import distance >>> # Scaling is 0.1 by default >>> print distance.get_jaro_distance("hello", "haloa", winkler=True, scaling=0.1) 0.76 >>> print distance.get_jaro_distance("hello", "haloa", winkler=False, scaling=0.1) 0.733333333333
Version: | 1.8 of 2016-03-22 |
---|