10. One or more hardware computer storage media having stored thereupon a plurality of computer executable instructions that, when executed by a processor, causes the processor to perform operations comprising: determining that a query has been inputted into a first user interface of a first computer application, the query comprising one or more input candidates; determining, based at least partly on the query and a first scenario of the first computer application, scores for different types of input candidates; determining, based at least in part on the scores, a desired type of input candidate from the types of input candidates to be presented by an input method editor (IME); generating a first set of rich candidates at least partly based on a first relevancy of individual rich candidates of the first set of rich candidates to the first scenario and the query; transmitting at least one rich candidate of the first set of rich candidates for presentation by the IME; determining the query has been inputted into a second user interface of a second computer application, the second computer application being separate from the first computer application and the IME; generating a second set of rich candidates at least partly based on a second relevancy of individual rich candidates of the second set of rich candidates to a second scenario and the query; and transmitting at least one rich candidate of the second set of rich candidates for presentation by the IME, wherein the at least one rich candidate of the second set of rich candidates is not included in the first set of rich candidates.
10. One or more hardware computer storage media having stored thereupon a plurality of computer executable instructions that, when executed by a processor, causes the processor to perform operations comprising: determining that a query has been inputted into a first user interface of a first computer application, the query comprising one or more input candidates; determining, based at least partly on the query and a first scenario of the first computer application, scores for different types of input candidates; determining, based at least in part on the scores, a desired type of input candidate from the types of input candidates to be presented by an input method editor (IME); generating a first set of rich candidates at least partly based on a first relevancy of individual rich candidates of the first set of rich candidates to the first scenario and the query; transmitting at least one rich candidate of the first set of rich candidates for presentation by the IME; determining the query has been inputted into a second user interface of a second computer application, the second computer application being separate from the first computer application and the IME; generating a second set of rich candidates at least partly based on a second relevancy of individual rich candidates of the second set of rich candidates to a second scenario and the query; and transmitting at least one rich candidate of the second set of rich candidates for presentation by the IME, wherein the at least one rich candidate of the second set of rich candidates is not included in the first set of rich candidates. 14. One or more hardware computer storage media as recited in claim 10 , wherein generating the first set of rich candidates comprises utilizing web services to search for one or more rich candidates by using the first scenario and the query as parameters.