On Word Flow:
Word Flow is designed to reflect how real people talk to each other—and so it knows everything from pop culture to slang. When building Word Flow we reviewed over 2.5 billion English words from sources ranging from the dictionary to the Internet. Because phones lack infinite storage space, we picked some 600,000 of the most common words and phrases that people actually type on their phones to power Word Flow’s corrections and suggestions.
What's clear is there's a lot more that just an on-screen keyboard and simple dictionary behind the Windows Phone keyboard. As a result of the various techniques used Microsoft says that Windows Phone's auto correction skills are 94% accurate out of the box. And that figures improves as the phone learns your personal style.
These extra techniques can be grouped into two broad areas - frequency and context.
As Microsoft explain frequency information (i.e. how likely you are to type a word) is included in the dictionary:
But there’s one crucial difference: our dictionary contains not only words but data about how frequently real people, on average, use them on their mobile phones.
But frequency, on its own, is not enough. You also need context, or, put another way, you need frequency information that's dependent on the words you've just typed.
Specifically, we look at three words of context (the fancy word for this is “trigram”) to figure out what words are best to suggest. Imagine if a user typed “I miss” and then tapped the letter “y.” Can you guess what most people are trying to type? The answer is “you,” of course, because we mostly use our phones to stay in touch with people we care about. (If you said “yodeling,” you’re in a very small minority.) Trigrams are great for common SMS phrases like “I love you”. But it also means Windows Phone knows that when you type “Harry,” you’re probably going to type “Potter” afterwards.
The post looks at how Microsoft improved other areas, such as slang and pop culture usage, too. It also explains how the dictionary becomes personalised to your own usage over time.
One of the most interesting insights shared in the post is how the target area for the on-screen keyboard change as you type (related to the frequency and context techniques mentioned above):
Another engineering challenge involving accuracy is the “fat finger” problem—which has less to do with finger size than screen size on smartphones. If a user’s finger covers more than one letter on the on-screen keyboard— a fairly common occurrence—which one did he actually intend to type?
The solution we use in Windows Phone is to change each key’s invisible “hit target”—the touch-sensitive area around each letter—as you type. When your finger touches a hit target, that letter is inserted. Hit targets are constantly changing size, depending on what word the keyboard thinks you’re trying to type. Take a look at the video see this in action.
The whole post is very much worth a read. The full text is on the Windows Phone blog.