1. A method for clustering documents comprising: assigning each of a set of data points to a respective cluster, each of the data points representing a respective document; with a computer processor, for a plurality of iterations: clustering the data points among the clusters, comprising assigning the data points to the clusters based on a comparison measure of each data point with a representative point of each cluster, and a threshold of the comparison measure, each of the data points being assigned to at least one cluster; for each of a plurality of the plurality of iterations, computing an overall score for the cluster assignment over all the clusters and all data points based on the comparison measure between each data point and the representative point of the cluster to which the data point is assigned; and based on the clustering, computing a new representative point for each of the clusters, which serves as the representative point for a subsequent iteration; and outputting an assignment of the documents to the clusters, based on the clustering of the data points, which optimizes the score in one of the iterations.