1. A computer-implemented process for predicting a text span forming either a single word or a series of two or more words that a user intended to select, comprising: using a computer to perform the following process actions: receiving a document comprising a string of characters; receiving a location pointer indicating a particular location in the document; inputting the document and the location pointer to a plurality of different candidate text span generation methods; receiving a ranked list of one or more scored candidate text spans from each of the different candidate text span generation methods; using a machine-learned ensemble model to re-score each of the scored candidate text spans received from each of the different candidate text span generation methods, the ensemble model being trained using a machine learning method and features from a dataset of true intended user text span selections; and receiving a ranked list of re-scored candidate text spans from the ensemble model.