As a preview for his upcoming talk at TechDays Online 2017, Gary Pretty takes a look at the Microsoft Cognitive Services API and what you could be using it for. Remember to register today!
There are some tasks which have traditionally been very hard for us to achieve, even in more recent times and the world of modern computing. For example, being able to recognise a face within a photo, understanding speech or even identifying a person just by the sound of their voice. These things could unlock huge potential within modern apps and services, but without being a huge company, with similarly huge resources, like Microsoft, developers have simply not had the resources to tackle these types of requirements. All that has changed.
Some time ago Microsoft released Project Oxford, a group of APIs and services designed to allow anybody to be able to handle these sorts of requirements – hence their goal of democratising AI. Now, with a greatly expanded set of offerings, Project Oxford has been renamed to Microsoft Cognitive Services and with the current suite (which is growing all the time!) the ability to use the platform to add intelligence to your apps is incredible.
What services are available?
The list of currently available services is extensive, as you can see from the screenshot here from the Cognitive Services web site, including Face and Emotion APIs which accept photographs and can identify people and their current emotional state. Some time ago Microsoft created quite the buzz when it released the ‘How Old’ web site which tried to guess your age from your photo and this service was powered by Cognitive Services.
Here are just a few of the other interesting services (hint: they are all pretty interesting!)
LUIS (Language Understanding Intelligence Service)
The LUIS service allows you to add language understanding to your apps, including bots built on the Microsoft Bot Framework. Doing this can unlock the ability to allow users to interact with the app as if they are talking with another human being. For example, a user might say, “I want to book a holiday from the 30th September for 2 weeks to Florida”. Using LUIS, we can build and train a model which can parse this phrase and give us a simple response which tells
- the likely intent of the user – book a holiday
- the start date of the holiday, 30th September, as well as the end date as it can recognise the duration of 2 weeks
- the location of the holiday – Florida
Once LUIS has done this parsing for us we can simply use the output to complete their request, just as if they had completed the values using a traditional form.
One of the more recent additions to the Cognitive Services suite, the QnA Maker allows anybody to create a bot based on traditional FAQ pages that are ubiquitous in modern day web sites. Take the example of the Azure support FAQ page located here. Using the QnA Maker we can create a bot in under 60 seconds that will allow the user to ask a question like, “how can I raise a support ticket?” and present them with the right answer even though that particular question doesn’t explicitly exist on the FAQ page. This can unlock some amazing customer support scenarios in any industry.
The Text Analytics API is very clever and could be useful in many scenarios. The service takes in text as an input and can analyse it to determine the sentiment of the text, in the form of a percentage – the higher the more positive the sentiment, the language being used and key phrases that were found within the text. In the example below (which has again been taken from the Cognitive Services web site so that you can try it with your own text) the service has analysed the phrase “I had a wonderful experience! The rooms were wonderful and the staff were helpful.”. The service returns a response indicating a highly positive sentiment and some key phrases, such as “wonderful experience” and a 100% confidence that the language being used is English.
Look ma, no code!
One of the great things about the suite as it stands today is that you don’t need to be a developer (or cut any code if you are one) to try these services out yourself. On many of the pages for the individual services you have the ability to trial them.
Take the Face API as an example. In the screenshot below I have used the demo app built right into the web site to upload a photo of myself taken from a video blog I had produced. The Face API analysed my photo and correctly identified a single face in the photo and sent a response back (shown in the right panel) which contained the location of most of my facial features, such as eyebrows, pupils etc. and even determined how much facial hair I have and the fact that I am wearing glasses!
I encourage you to take a good look through the Cognitive Services web site and have a go at trialling some of the services for yourself. I personally spent hours just browsing through and doing this and it is during this time that you will start to get a feel for how the services work and, arguably more importantly, what real world scenarios you might be able to use them in.
Want to know more?
TechDays Online is happening again in February, and on Monday 20th I will be presenting alongside some other great speakers about building bots on the Bot Framework. As part of this we will be building out solutions using Cognitive Services, including LUIS and the QnA Maker. I humbly recommend that you get on over to the TechDays site now and get registered!
Gary is a Microsoft MVP, specialising in the Bot Framework and Cognitive Services, and is a Technical Strategist at Mando in the UK. As part of his role, Gary is constantly looking at how emerging technologies can simplify complexity, build momentum and create business change. Gary blogs over at www.garypretty.co.uk and can be found @garypretty on Twitter.