Provides algorithms for string similarity.
The algorithms that implement the EditDistance interface follow the same simple principle: the more similar (closer) strings are, lower is the distance. For example, the words house and hose are closer than house and trousers.
The following algorithms are available at the moment:
Longest Commons Subsequence Distance
Interface Summary Interface Description EditDistance<R>Interface for Edit Distances. SimilarityScore<R>Interface for the concept of a string similarity score.
Class Summary Class Description CosineDistanceMeasures the cosine distance between two character sequences. CosineSimilarityMeasures the Cosine similarity of two vectors of an inner product space and compares the angle between them. EditDistanceFrom<R> FuzzyScoreA matching algorithm that is similar to the searching algorithms implemented in editors such as Sublime Text, TextMate, Atom and others. HammingDistanceThe hamming distance between two strings of equal length is the number of positions at which the corresponding symbols are different. JaccardDistanceMeasures the Jaccard distance of two sets of character sequence. JaccardSimilarityMeasures the Jaccard similarity (aka Jaccard index) of two sets of character sequence. JaroWinklerDistanceA similarity algorithm indicating the percentage of matched characters between two character sequences. LevenshteinDetailedDistanceAn algorithm for measuring the difference between two character sequences. LevenshteinDistanceAn algorithm for measuring the difference between two character sequences. LevenshteinResultsContainer class to store Levenshtein distance between two character sequences. LongestCommonSubsequenceA similarity algorithm indicating the length of the longest common subsequence between two strings. LongestCommonSubsequenceDistanceAn edit distance algorithm based on the length of the longest common subsequence between two strings. SimilarityScoreFrom<R>