This kind of technology has been around forever, but my guess is that the quality increase here is due to one or both of these two factors:
1) Computing a two-dimensional vector for each word typed, and calculating MSE against the ideal vectors for dictionary words, instead of just comparing the distance of the keys you hit to the locations of keys for dictionary words.
2) Using LSM (latent semantic mapping) to discover context and increase accuracy of #1.
1) Computing a two-dimensional vector for each word typed, and calculating MSE against the ideal vectors for dictionary words, instead of just comparing the distance of the keys you hit to the locations of keys for dictionary words.
2) Using LSM (latent semantic mapping) to discover context and increase accuracy of #1.