1. A computer-implemented method for clustering a content item database, the method comprising: assigning a content item in the content item database to a first cluster from among a plurality of clusters; identifying representative content items for each of the plurality of clusters; computing a mean vector for each of the plurality of clusters; computing a first distance between the content item and the mean vector for each of the plurality of clusters; reassigning the content item from the first cluster to a second cluster, if the mean vector for the second cluster has the smallest first distance from the content item; computing a second distance between the content item and a representative content item for a third cluster; and reassigning the content item from the second cluster to the third cluster, if the representative content item for the third cluster has the smallest distance from the content item.