计算嵌入相似度
一旦嵌入数据进入数据库,您就可以使用Cypher®函数 vector.similarity.cosine()
来计算两个嵌入的相似度。
示例 1. 比较两部相关电影的嵌入
查询
MATCH (a:Movie {title: "Despicable Me"})
MATCH (b:Movie {title: "Despicable Me 2"})
RETURN vector.similarity.cosine(a.embedding, b.embedding)
vector.similarity.cosine(a.embedding, b.embedding) |
---|
|
示例 2. 比较两部不相关电影的嵌入
查询
MATCH (a:Movie {title: "Despicable Me"})
MATCH (b:Movie {title: "Emperor's New Groove, The"})
RETURN vector.similarity.cosine(a.embedding, b.embedding)
vector.similarity.cosine(a.embedding, b.embedding) |
---|
|
两个节点的相似度值对于实际用途来说并不是非常重要。您通常更感兴趣的是根据某些条件检索最相关的节点,因此最重要的是所需节点相对于其他节点得分最高。例如,Despicable Me 和 Despicable Me 2 的相似度分数是多少并不重要;重要的是它在所有电影节点中得分最高。 |