Facebrowsing: Search and navigation through comparisons
2010 Information Theory and Applications Workshop (ITA)
This paper addresses the problem of finding the nearest neighbor (or one of the R-nearest neighbors) of a query object in a database which is only accessible through a comparison oracle. The comparison oracle, given two reference objects and a query object, returns the reference object closest to the query object. The oracle attempts to model the behavior of human users, capable of making statements about similarity, but not of assigning meaningful numerical values to distances between objects.
... es between objects. We develop nearest-neighbor search algorithms and analyze its performance for such an oracles. Using such a comparison oracle, the best we can hope for is to obtain, for every object in the database, a ranking of the other objects according to their distance to it. The difficulty of searching using such an oracle depends on the non-homogeneities of the underlying space. We introduce the new idea of a ranksensitive hash (RSH) function which gives same hash value for "similar" objects based on the rank-value of the objects obtained from the similarity oracle. As one application of RSH, we demonstrate that, we can retrieve one of the (1 + ǫ)r-nearest neighbor of a query point in time-complexity depending on an underlying property (termed rank-distortion) of the search space. We use this idea to implement a navigation system for an image database of human faces. In particular, we design a database for images that is organized adaptively based on both baseline comparisons using eigenfaces and refined using selected human input. We present a preliminary implementation of this system which seeks to minimize the number of questions asked to a (human) oracle.