我正在尝试了解 Annoy Indexing 的工作原理。我参考了以下文档:
https ://github.com/spotify/annoy#how-does-it-work
https://cloud.google.com/solutions/machine -learning/building-real-time-embeddings-similarity-matching-system
这些文档解释了如何从 annoy 获取索引,但没有解释如何创建索引?
假设我有 3 维的句子嵌入矩阵(为简单起见)
[[1,2,3]
[4,2,3]
[1,2,3]
[1,1,1]]
查看许多资源使我在以下方面感到困惑:
- Annoy 会先索引这些,然后使用它来查找最近的邻居吗?
- 应用最近邻树,然后根据邻居进行索引?这似乎是最合适的一个。如果是那么它如何索引?我想知道它背后的算法..