@Shareable public class DistanceVectorSimilarity extends Object implements VectorSimilarity, Serializable
Distance similarity for vectors.
| Constructor and Description |
|---|
DistanceVectorSimilarity()
Construct a new distance similarity function.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
isSparse()
Query whether this similarity function is sparse (returns 0 for vectors with disjoint key sets).
|
boolean |
isSymmetric()
Query whether this similarity function is symmetric.
|
double |
similarity(SparseVector vec1,
SparseVector vec2)
Compute the similarity between two vectors.
|
@Inject public DistanceVectorSimilarity()
Construct a new distance similarity function. It computes similarity as (1-|v1-v2|_2). after normalizing vectors to be unit vectors Similarity is in range [-1,1];
public double similarity(SparseVector vec1, SparseVector vec2)
VectorSimilarityCompute the similarity between two vectors.
similarity in interface VectorSimilarityvec1 - The left vector to compare.vec2 - The right vector to compare.public boolean isSparse()
VectorSimilarityQuery whether this similarity function is sparse (returns 0 for vectors with disjoint key sets).
isSparse in interface VectorSimilaritytrue iff VectorSimilarity.similarity(SparseVector, SparseVector) will always return true when applied to two vectors with no keys in common.public boolean isSymmetric()
VectorSimilarityQuery whether this similarity function is symmetric. Symmetric similarity functions return the same result when called on (A,B) and (B,A).
isSymmetric in interface VectorSimilaritytrue if the function is symmetric.