Top Description Constructors Methods
info.debatty.java.stringsimilarity

public Class SorensenDice

extends ShingleBased
implements 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
Annotations
@Immutable
Imports
info.debatty.java.stringsimilarity.interfaces.NormalizedStringSimilarity, .NormalizedStringDistance, java.util.HashSet, .Map, .Set, net.jcip.annotations.Immutable

Similar to Jaccard index, but this time the similarity is computed as 2 * |V1 inter V2| / (|V1| + |V2|). Distance is computed as 1 - cosine similarity.
Author
Thibault Debatty

Constructor Summary

AccessConstructor and Description
public
SorensenDice(final int k)

Sorensen-Dice coefficient, aka Sørensen index, Dice's coefficient or Czekanowski's binary (non-quantitative) index.

public
SorensenDice()

Sorensen-Dice coefficient, aka Sørensen index, Dice's coefficient or Czekanowski's binary (non-quantitative) index.

Method Summary

Modifier and TypeMethod and Description
public final double

Returns:

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

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

Returns 1 - similarity.

public final double

Returns:

The computed Sorensen-Dice similarity.
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.

Similarity is computed as 2 * |A inter B| / (|A| + |B|).

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

Constructor Detail

SorensenDiceback to summary
public SorensenDice(final int k)

Sorensen-Dice coefficient, aka Sørensen index, Dice's coefficient or Czekanowski's binary (non-quantitative) index. The strings are first converted to boolean sets of k-shingles (sequences of k characters), then the similarity is computed as 2 * |A inter B| / (|A| + |B|). Attention: Sorensen-Dice distance (and similarity) does not satisfy triangle inequality.

SorensenDiceback to summary
public SorensenDice()

Sorensen-Dice coefficient, aka Sørensen index, Dice's coefficient or Czekanowski's binary (non-quantitative) index. The strings are first converted to boolean sets of k-shingles (sequences of k characters), then the similarity is computed as 2 * |A inter B| / (|A| + |B|). Attention: Sorensen-Dice distance (and similarity) does not satisfy triangle inequality. Default k is 3.

Method Detail

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

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

Returns 1 - similarity.

Parameters
s1:String

The first string to compare.

s2:String

The second string to compare.

Returns:double

1.0 - the computed 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.

Similarity is computed as 2 * |A inter B| / (|A| + |B|).

Parameters
s1:String

The first string to compare.

s2:String

The second string to compare.

Returns:double

The computed Sorensen-Dice similarity.

Exceptions
NullPointerException:
if s1 or s2 is null.