Skip to content

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

License

Notifications You must be signed in to change notification settings

aishwaryabk/jaro-winkler-distance

 
 

Repository files navigation

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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 90.3%
  • Shell 9.7%