The Microsoft Cognitive Services are APIs that let you use AI services like face recognition, speaker recognition and translation without having to build your own machine learning systems. Uber uses them to check that drivers aren’t letting friends pick up passengers for them, for example. The translation APIs are the same ones used by Skype Translator and the new Presentation Translator tool, which provides a real-time transcription and translation of slides and what the presenter is saying (with more than 60 languages supported).
Cognitive Services use technology from Microsoft Research that’s been developed recently as well as machine learning that’s been proven in large-scale services like Bing. Even when the machine learning algorithms are well-known, what makes them effective are the settings and heuristics used, and you’re getting the benefit’s of Microsoft’s expertise. “Our goal is to build in the heuristics and the things that we’ve learned while building and running technology behind Cognitive Services and put them in the service for you,” program manager Anna Roth told us.
The range of APIs keeps expanding from the original four services, with improvements to existing services and previews of new services arriving regularly. For instance, LUIS, the Language Understanding Intelligent Service, now understands a lot more of the ways people refer to dates and times – like ranges of dates, phrases like this Thursday, and dates that don’t have a year in.
And now, if you want to try new services that are still at a very early stage, these previews are grouped into the Cognitive Services Labs
Labs includes the new Bing Maps services based on predictive traffic for suggesting commercial routes and highlighting areas inside a specific ‘drive time’, as well as a new API for recognising custom hand gestures in 3D video, Project Prague. But if you’re looking for APIs that will be ready for production use more quickly, there are four new services available as free public previews – bringing the total to 29 different Cognitive Services.
The Video Indexer not only produces a transcript (and translation) of the soundtrack of a video that you can search, it also recognises faces, emotions and objects in your videos. You could use make videos more accessible for partially sighted users, or to monitor a site and check if untrained people have been operating dangerous machinery.
The Custom Decision Service uses a specialised form of Reinforcement Learning called contextual bandits to personalise content by ranking the options you give it and decide on the best one; it’s how MSN personalises the stories it shows you and now you can use it on your ecommerce site.
Two of the new APIs can be customised with your own data. That doesn’t mean you’re running a machine learning framework to create your own model; it means you can tune the existing, proven models to your ow
n data set, but still call the service as a REST API that’s easy to integrate into your code. As Microsoft distinguished engineer Lili Cheng explained to us, “one of the things that we see when businesses start to use our AI services is that they have their own data; you have your own voice, your own language terms that you want to use in LUIS, you have your own images that you want to use for training. If you can’t customise the models, they’re a lot less useful for you.”
For the new Custom Vision Service, you can train image recognition on a specific category – like your business fleet of vehicles or particular parts – with just thirty to fifty images per category. That’s an unusually small number of samples to train on, but the API takes advantage of transfer learning – the ability of a neural network that’s learned to do one kind of recognition to learn another kind of recognition more quickly.
Training takes one or two minutes, after which the model takes about ten minutes to build and the service gives you an endpoint to use in your code. The service also helps you asses and manage your model. The images that you send to the classifier are saved and used to improve the results. ‘Active learning’ in the service prompts you to look at images that were recognised but with a low level of confidence, and you can pick the ones that should have matched and didn’t and retrain the model with them so it improves iteratively, Roth explained to us. “Often you don’t have the images you want to recognise when you start; this way you can build and test with what you have and iteratively improve your classifier over time.”
Keep retraining your own image recognition service on different categories and it will get more accurate the more you use it
The Bing Custom Search service helps you fine tune web searches that produce accurate, relevant lists of links for search queries in your business’s area of expertise, avoiding irrelevant and potentially embarrassing results – and the search tool you create doesn’t have any ads in. This service finds relevant sites, ranks them using Bing’s standard ranker and lets you customise the list. You could use that to create a custom search tool for your own web sites, or to curate useful links that you want to show your users.
You can see the sites that will show up for a particular search term but the service also suggests other sites you might want to add to your results if that specific search wouldn’t find them. You can filter the type of search results, if you want images, videos or news rather than general web results You can choose to pin sites to the top of the list, promote or demote them in results, or block them from the list. What you get is a JSON file that you can include in your application, but you fine tune the results in the portal – so a developer could incorporate the results into a web application but leave the marketing team to make decisions about what sites to include and show higher or lower in the list.