Class JaccardDistance

  • All Implemented Interfaces:
    java.util.function.BiFunction<java.lang.CharSequence,​java.lang.CharSequence,​java.lang.Double>, EditDistance<java.lang.Double>, ObjectSimilarityScore<java.lang.CharSequence,​java.lang.Double>, SimilarityScore<java.lang.Double>

    public class JaccardDistance
    extends java.lang.Object
    implements EditDistance<java.lang.Double>
    Measures the Jaccard distance of two sets of character sequence. Jaccard distance is the dissimilarity between two sets. It is the complementary of Jaccard similarity.

    For further explanation about Jaccard Distance, refer https://en.wikipedia.org/wiki/Jaccard_index

    Since:
    1.0
    • Constructor Summary

      Constructors 
      Constructor Description
      JaccardDistance()
      Creates a new instance.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Double apply​(java.lang.CharSequence left, java.lang.CharSequence right)
      Computes the Jaccard distance of two set character sequence passed as input.
      <E> java.lang.Double apply​(SimilarityInput<E> left, SimilarityInput<E> right)
      Computes the Jaccard distance of two set character sequence passed as input.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.function.BiFunction

        andThen
    • Constructor Detail

    • Method Detail

      • apply

        public java.lang.Double apply​(java.lang.CharSequence left,
                                      java.lang.CharSequence right)
        Computes the Jaccard distance of two set character sequence passed as input. Calculates Jaccard similarity and returns the complement of it.
        Specified by:
        apply in interface java.util.function.BiFunction<java.lang.CharSequence,​java.lang.CharSequence,​java.lang.Double>
        Specified by:
        apply in interface ObjectSimilarityScore<java.lang.CharSequence,​java.lang.Double>
        Specified by:
        apply in interface SimilarityScore<java.lang.Double>
        Parameters:
        left - first input sequence.
        right - second input sequence.
        Returns:
        The Jaccard distance.
        Throws:
        java.lang.IllegalArgumentException - if either String input null.
      • apply

        public <E> java.lang.Double apply​(SimilarityInput<E> left,
                                          SimilarityInput<E> right)
        Computes the Jaccard distance of two set character sequence passed as input. Calculates Jaccard similarity and returns the complement of it.
        Type Parameters:
        E - The type of similarity score unit.
        Parameters:
        left - first input sequence.
        right - second input sequence.
        Returns:
        index.
        Throws:
        java.lang.IllegalArgumentException - if either String input null.