It's always been a little comforting that no matter how clever our smartphones get, the autocorrect will still be a hot mess of dumb suggestions. Well, Swiftkey's new keyboard uses a neural network to think more like a human — and it's almost too good at it.
Up until now, most prediction models for keyboards have used software that examines the last one or two words typed, finds the word that you're statistically most likely to type next, and suggests that. It's a sound enough model, but one that completely ignores the context of a sentence.
Swiftkey's neural network keyboard, an alpha piece of software that you can download for Android devices right now, uses a different model. It assigns every word in a sentence a numeric code, based on the model's previous training on common English sentences. Those codes are then compared by the neural network model, which eventually spits out the ideal prediction code. The keyboard then finds the words that most closely match that code, and recommends them.
I've been playing with the alpha version for the last few days, and the difference is profound. Just like other technologies that we've seen that leverage neural nets, Swiftkey's keyboard is eerily good at recognising context. I almost never use auto-predict on smartphone keyboards, because it's normally so much slower; with the neural net's predictions, the right word pops up so often I barely even feel like I'm typing.
It's an important step in the always-important quest towards making our phones easier to use, but more than that, it's a big moment for artificial intelligence. Swiftkey has managed to make software that thinks about language in a much more human way — and, equally impressive, shrink that down to work on a phone, with no connection to a vast supercomputer needed.
The alpha is available for download from the Google Play Store, for free. It's alpha software, which means bugs and glitches are par for the course, although I've seen nothing but stability and good predictions so far.