1. A computer implemented method, the method comprising: identifying K results from among a set of data objects, K being an integer greater than 2 wherein identifying K results comprises: identifying from among the data objects in the set of objects a first result of the K results and first remaining data objects, the first result being one data object of the set of data objects and the first remaining data objects being the set of data objects excluding the first result; and then identifying from among the first remaining data objects a second result of the K results having a maximum conditional interest-likelihood score that a user will select the second result, wherein the score is based in part on a measure of similarity between the first result and the second result, and wherein the score decreases as the measure of similarity increases; and providing the K results as recommendations including the first result and the second result.