A critical piece of the modern information retrieval puzzle is approximate nearest neighbor search. Its objective is to return a set of $k$ data points that are closest to a query point, with its accuracy measured by the proportion of exact nearest neighbors captured in the returned set. One popular approach to this question is clustering: The indexing algorithm partitions data points into non-overlapping subsets and represents each partition by a point such as its centroid. The query processing algorithm first identifies the nearest clusters -- a process known as routing -- then performs a nearest neighbor search over those clusters only. In this work, we make a simple observation: The routing function solves a ranking problem. Its quality can therefore be assessed with a ranking metric, making the function amenable to learning-to-rank. Interestingly, ground-truth is often freely available: Given a query distribution in a top-$k$ configuration, the ground-truth is the set of clusters that contain the exact top-$k$ vectors. We develop this insight and apply it to Maximum Inner Product Search (MIPS). As we demonstrate empirically on various datasets, learning a simple linear function consistently improves the accuracy of clustering-based MIPS.
翻译:现代信息检索的核心难题之一在于近似最近邻搜索。其目标是返回与查询点最接近的$k$个数据点集合,且准确度通过返回集合中捕获的精确最近邻比例来衡量。针对该问题的主流方法之一是聚类:索引算法将数据点划分为不重叠的子集,并用质心等点表示每个分区。查询处理算法首先识别最近的聚类(这一过程称为路由),然后仅在这些聚类内执行最近邻搜索。本文提出一个简单的观察:路由函数解决的是排序问题。因此可通过排序指标评估其质量,使该函数适用于学习排序方法。值得注意的是,真实标签通常是免费获得的:在给定查询分布及top-$k$配置下,真实标签是包含精确top-$k$向量的聚类集合。我们深化这一见解并将其应用于最大内积搜索(MIPS)。通过多个数据集上的实证验证,学习简单的线性函数可持续提升基于聚类的MIPS的准确度。