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.
5. The computer-readable medium of claim 1 , wherein the estimating includes determining, for each of the latent classes, the ranking of that latent class given a respective one of the objects, according to the following calculation: 
 P ( z|d )= P ( d ) −1 P ( d|z ) P ( z )∝ P ( d|z ) P ( z ), wherein z is the latent class and d is the respective given object.