1. A computer-implemented method for predicting a word based on partial selection, the method comprising: creating a candidate list of words based on received user input; creating a hierarchy for the candidate list, the hierarchy including each of the words in the candidate list and a plurality of partial matches to which each of the words is associated; presenting a top-tier of partial matches; receiving user input corresponding to a selected partial match; presenting a set of candidates related to the selected partial match; and receiving user input corresponding to a selected candidate.