1. A computer-readable medium storing computer-executable instructions for performing operations comprising: clustering a set of data objects into a plurality of groups; performing a first pass of performing probabilistic latent semantic analysis on the groups; identifying a plurality of latent classes of the set of data objects; calculating a first conditional probability of a data object of the set of data objects given a latent class of the plurality of latent classes; estimating a ranking of each latent class; eliminating low probability links between the set of data objects and the latent classes based on the rankings, the low probability links being determined based on a predetermined probability threshold; determining remaining links between the set of data objects and the latent classes; performing a second pass of probabilistic latent semantic analysis on a result of the first pass based on the remaining links between the set of data objects and the latent classes; and calculating a second conditional probability of a data object of the set of data objects given the remaining links between the set of data objects and the latent classes.