Top Description Constructors Methods
info.debatty.java.stringsimilarity

public Class Jaccard

extends ShingleBased
implements MetricStringDistance, NormalizedStringDistance, NormalizedStringSimilarity
Class Inheritance
All Implemented Interfaces
info.debatty.java.stringsimilarity.interfaces.NormalizedStringSimilarity, info.debatty.java.stringsimilarity.interfaces.StringSimilarity, java.io.Serializable, info.debatty.java.stringsimilarity.interfaces.NormalizedStringDistance, info.debatty.java.stringsimilarity.interfaces.StringDistance, info.debatty.java.stringsimilarity.interfaces.MetricStringDistance
Annotations
@Immutable
Imports
info.debatty.java.stringsimilarity.interfaces.MetricStringDistance, .NormalizedStringSimilarity, .NormalizedStringDistance, java.util.HashSet, .Map, .Set, net.jcip.annotations.Immutable

Each input string is converted into a set of n-grams, the Jaccard index is then computed as |V1 inter V2| / |V1 union V2|. Like Q-Gram distance, the input strings are first converted into sets of n-grams (sequences of n characters, also called k-shingles), but this time the cardinality of each n-gram is not taken into account. Distance is computed as 1 - cosine similarity. Jaccard index is a metric distance.
Author
Thibault Debatty

Constructor Summary

AccessConstructor and Description
public
Jaccard(final int k)

The strings are first transformed into sets of k-shingles (sequences of k characters), then Jaccard index is computed as |A inter B| / |A union B|.

public
Jaccard()

The strings are first transformed into sets of k-shingles (sequences of k characters), then Jaccard index is computed as |A inter B| / |A union B|.

Method Summary

Modifier and TypeMethod and Description
public final double

Returns:

1 - the Jaccard similarity.
distance
(final String
The first string to compare.
s1
,
final String
The second string to compare.
s2
)

Implements info.debatty.java.stringsimilarity.interfaces.MetricStringDistance.distance, info.debatty.java.stringsimilarity.interfaces.StringDistance.distance.

Distance is computed as 1 - similarity.

public final double

Returns:

The Jaccard index in the range [0, 1]
similarity
(final String
The first string to compare.
s1
,
final String
The second string to compare.
s2
)

Implements info.debatty.java.stringsimilarity.interfaces.StringSimilarity.similarity.

Compute Jaccard index: |A inter B| / |A union B|.

Inherited from info.debatty.java.stringsimilarity.ShingleBased:
getKgetProfile

Constructor Detail

Jaccardback to summary
public Jaccard(final int k)

The strings are first transformed into sets of k-shingles (sequences of k characters), then Jaccard index is computed as |A inter B| / |A union B|. The default value of k is 3.

Jaccardback to summary
public Jaccard()

The strings are first transformed into sets of k-shingles (sequences of k characters), then Jaccard index is computed as |A inter B| / |A union B|. The default value of k is 3.

Method Detail

distanceback to summary
public final double distance(final String s1, final String s2)

Implements info.debatty.java.stringsimilarity.interfaces.MetricStringDistance.distance, info.debatty.java.stringsimilarity.interfaces.StringDistance.distance.

Distance is computed as 1 - similarity.

Parameters
s1:String

The first string to compare.

s2:String

The second string to compare.

Returns:double

1 - the Jaccard similarity.

Exceptions
NullPointerException:
if s1 or s2 is null.
similarityback to summary
public final double similarity(final String s1, final String s2)

Implements info.debatty.java.stringsimilarity.interfaces.StringSimilarity.similarity.

Compute Jaccard index: |A inter B| / |A union B|.

Parameters
s1:String

The first string to compare.

s2:String

The second string to compare.

Returns:double

The Jaccard index in the range [0, 1]

Exceptions
NullPointerException:
if s1 or s2 is null.