1. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by one or more processors of an electronic device, cause the electronic device to: receive an input from a user; determine, using a first n-gram language model, a first probability of a stem based at least on a first portion of a previously-input word in the received input; determine, using a second n-gram language model, a second probability of a first suffix based at least on a second portion of the previously-input word in the received input; determine, using a third n-gram language model, a third probability of a second suffix different from the first suffix based at least on a third portion of the previously-input word in the received input; determine a fourth probability of at least one predicted word based on the first probability, the second probability and the third probability; and provide an output of the at least one predicted word to the user based on the fourth probability.