1. A computer-implemented method, comprising: maintaining a collection of items in association with a user, said collection comprising items rated by the user; applying a clustering algorithm to said collection of items to subdivide the collection into multiple clusters, wherein the clusters are generated based, at least in part, on calculated distances between the items; obtaining a set of recommended items for the user from a recommendation engine; filtering the set of recommended items based, at least in part, on distances between the recommended items and one or more of said clusters of items, wherein filtering the set of recommended items comprises filtering out at least one item from the set of recommended items to generate a filtered set of recommended items; and outputting the filtered set of recommended items for presentation to the user.