了解如何结合两个基本的相似性搜索索引以发挥两者的优势
介绍
在数据科学中,相似性搜索经常出现在 NLP 领域、搜索引擎或推荐系统中,其中需要检索最相关的文档或项目以进行查询。有多种不同的方法可以提高海量数据的搜索性能。
在本系列的前两部分中,我们讨论了信息检索中的两种基本算法:倒排文件索引和乘积量化。它们都优化了搜索性能,但侧重于不同的方面:第一个加速了搜索速度,而后者将向量压缩为更小的、节省内存的表示形式。
由于两种算法侧重于不同的方面,自然出现的问题是是否可以将这两种算法合并为一种新算法
在本文中,我们将结合这两种方法的优点来产生快速且内存高效的算法。作为参考,大多数讨论的想法都将基于本文。
在深入研究细节之前,有必要了解残差向量(residual vectors)是什么,并对它们的有用属性有一个简单的直觉。稍后我们将在设计算法时使用它们。