class CosineSimilarity extends java.lang.Object
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
Constructor and description |
---|
CosineSimilarity
() |
Type Params | Return Type | Name and description |
---|---|---|
|
private static java.util.Map<java.util.List, java.lang.Integer> |
countNgramFrequency(java.lang.Object sequence, int degree) |
|
private static double |
dotProduct(java.util.Map<java.util.List, java.lang.Integer> m1, java.util.Map<java.util.List, java.lang.Integer> m2) |
|
static java.util.List<java.lang.String> |
mostSimilar(java.lang.String pattern, java.lang.Object candidates, double threshold) Sort the candidates by their similarity to the specified input. |
|
private static double |
similarity(java.lang.Object sequence1, java.lang.Object sequence2, int degree) |
|
private static double |
stringSimilarity(java.lang.String s1, java.lang.String s2, int degree) |
Methods inherited from class | Name |
---|---|
class java.lang.Object |
java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
Sort the candidates by their similarity to the specified input.
pattern
- the input stringcandidates
- the possible matches