pyjarowinkler

Find the Jaro Winkler Distance which indicates the similarity score between two Strings


Keywords
jaro, winkler, distance, score, string, delta, diff
License
Other
Install
pip install pyjarowinkler==1.8

Documentation

Jaro Winkler Distance

https://travis-ci.org/nap/jaro-winkler-distance.svg?branch=master https://coveralls.io/repos/nap/jaro-winkler-distance/badge.svg?branch=master&service=github

Find the Jaro Winkler Distance which indicates the similarity score between two Strings. The Jaro measure is the weighted sum of percentage of matched characters from each file and transposed characters. Winkler increased this measure for matching initial characters.

The Implementation

The original implementation is based on the Jaro Winkler Similarity Algorithm article that can be found on Wikipedia. This Python version of the original implementation is based on the Apache StringUtils library.

Correctness

Unittest similar to what you will find in the StringUtils library were used to validate implementation.

Note

A limit of shorter / 2 + 1 is used in StringUtils, this differs from Wikipedia and also Winkler's paper, where a distance of longer / 2 - 1 is used, corresponding to positions of longer / 2. As of version 1.8, the changed code now correctly works with the "CTRATE" - "TRACE" example from Wikipedia.

Example

>>> 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