How Microsoft's machine learning algorithms will make for smarter apps

You can sign up for and start using those three aforementioned services today, but the fourth, LUIS – Language Understanding Intelligent Services – is in private preview. LUIS takes short phrases, like things people type into a search engine, and tells you what they're really asking – so it's not just matching words, it's trying to actually understand them. "If the text snippet is 'tell me news about flight delays', LUIS comes back and says 'the topic is flight delays and the intent is find news'," Gaglon explains.

The breakthrough here is that instead of being an expert in natural language processing and building a model of all the phrases people could use to ask for news on specific topics, developers can use LUIS as a model building service. "Building a model is easy if you only need to label a bunch of instances by hand, but what about when you start getting hundreds, thousands or tens of thousands of utterances?"

LUIS active learning

LUIS can suggest what you need to teach it next to help it improve the most

LUIS has some readymade models for date and time, numbers, temperatures, distances and an encyclopaedia of common places and things; those come from Bing. It also does 'active learning', creating a list of the phrases that you can most improve the service with via labelling.

Generally it's less automatic than the other APIs – what LUIS gives you is an interactive labelling environment where you can quickly label short snippets of text, to create a system that can learn from a few phrases that you've labelled to handle a lot more commands. It only takes a few examples to create a system that can understand the intent behind questions users are typing in, which could be a way to create much smarter search tools and personal assistants.

Why free?

Why is Microsoft making its machine learning services available for free like this? What you're getting here is a beta (or a private preview) of services Microsoft will probably offer in pay-for products later on (perhaps as part of its existing Azure Machine Learning service).

LUIS perf analysis

Getting devs to use Microsoft's machine learning tools will raise their profile

Getting developers to use Microsoft machine learning will help raise the profile of Redmond's other machine learning tools. "A lot of these services are machine learning models from research and investments we've made that have been used in Microsoft apps," explains Gaglon. "Now we're interested in exposing them to the developer community, to build on top of what the community comes up with."

It's also useful for Microsoft to collect more samples to try out its machine learning on (although unless there's a way to indicate which results were right and which were off target, it won't improve the algorithms much). The Cortana team is particularly keen to get voice samples for a much wider range of queries than the most common searches, and in a wider range of accents

At this point, Gaglon says, Microsoft is mostly talking to developers on the MSDN forums. "We're evaluating how to have a feedback loop from developers. We want to know what's working and what's not."


Mary (Twitter, Google+, website) started her career at Future Publishing, saw the AOL meltdown first hand the first time around when she ran the AOL UK computing channel, and she's been a freelance tech writer for over a decade. She's used every version of Windows and Office released, and every smartphone too, but she's still looking for the perfect tablet. Yes, she really does have USB earrings.