Griffon 1.2.0

griffon.util
[Groovy] Class CosineSimilarity

java.lang.Object
  griffon.util.CosineSimilarity

class CosineSimilarity

Uses cosine similarity to find matches from a candidate set for a specified input. Based on code from http://www.nearinfinity.com/blogs/seth_schroeder/groovy_cosine_similarity_in_grails.html

Authors:
Burt Beckwith (Grails 1.3.x)
Since:
0.9


Constructor Summary
CosineSimilarity()

 
Method Summary
private static Map countNgramFrequency(def sequence, int degree)

private static double dotProduct(Map m1, Map m2)

static List mostSimilar(String pattern, def candidates, double threshold = 0)

Sort the candidates by their similarity to the specified input.

private static double similarity(def sequence1, def sequence2, int degree = 2)

private static double stringSimilarity(String s1, String s2, int degree = 2)

 
Methods inherited from class Object
wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll
 

Constructor Detail

CosineSimilarity

CosineSimilarity()


 
Method Detail

countNgramFrequency

private static Map countNgramFrequency(def sequence, int degree)


dotProduct

private static double dotProduct(Map m1, Map m2)


mostSimilar

static List mostSimilar(String pattern, def candidates, double threshold = 0)
Sort the candidates by their similarity to the specified input.
Parameters:
pattern - the input string
candidates - the possible matches
Returns:
the ordered candidates


similarity

private static double similarity(def sequence1, def sequence2, int degree = 2)


stringSimilarity

private static double stringSimilarity(String s1, String s2, int degree = 2)


 

Groovy Documentation