Poster
Graph-Based Algorithms for Diverse Similarity Search
Piyush Anand · Piotr Indyk · Ravishankar Krishnaswamy · Sepideh Mahabadi · Vikas Raykar · Kirankumar Shiragur · Haike Xu
West Exhibition Hall B2-B3 #W-914
Nearest neighbor search (NNS) is a fundamental problem to model the search task. Its goal is to quickly find data points (like images, documents, or user profiles) that are most similar to a given query point, and is widely used in applications like search, recommendations, and machine learning. A known issue with traditional NNS is that the results it returns can be very redundant — the top matches might all be nearly identical. To fix this, most systems use a two-stage approach:In the first stage, the algorithm retrieves a large number (say, hundreds or thousands) of the nearest points to the query, while in the second stage, the algorithm post-processes that list to select a smaller, more diverse subset. While effective, this method can be inefficient because it processes many more points than it actually needs to return.In this paper, we present provably efficient algorithms for approximate nearest neighbor search with diversity constraints that bypass this two-stage process. Our algorithms are based on popular graph-based methods, which allows us to "piggy-back" on existing efficient implementations. These are the first graph-based algorithms for nearest neighbor search with diversity constraints. The theoretical guarantees of our algorithm are qualitatively similar to the best known bounds for standard (non-diverse) graph-based algorithms. We further run experiments showing that the search time of our algorithms is substantially lower than that of using the standard two-stage approach.