1. A method for generating a word candidate to assist a user providing an input to a computing device, comprising: receiving, at the computing device, the input containing a plurality of words, wherein the computing device performs the operations of: determining a conditional count; determining an unconditional count; determining an adjustment factor fora pair of words of the plurality of words based on the unconditional count and the conditional count; generating a data structure defining a plurality of word clusters, individual word clusters of the plurality of word clusters include at least one word of the plurality of words; reconstructing the adjustment factor of the pair of words based on a number of common clusters between individual words of the pair of words; determining a candidate probability associated with the word candidate based, at least in part, on the reconstructed adjustment factor, wherein the word candidate is selected from individual words associated with the plurality of word clusters; generating an output containing the word candidate based, at least in part, on the candidate probability; and displaying the word candidate on a display screen of the computing device.