Microsoft is Bringing Machine Learning to the Masses
At Kainos, we pride ourselves on not being tied to proprietary tools and services, allowing us to provide the most suitable solution for the problem, and within the Applied Innovation team, part of what we do is try out the newest cutting edge technologies to evaluate their business value and determine how well they fit the task at hand.
However, there is no denying the strong partnership we’ve developed with Microsoft — in 2017 we were awarded a Gold Partnership with Microsoft in Cloud Platform, and Azure has supported successful services we’ve provided for the government, such as Evolve, our very own EMR platform to digitise patient records for the NHS. And this month (June 2018), we were awarded the most prestigious award by being announced as Microsoft’s UK Partner of the Year.
This wouldn’t be the case if we didn’t think Microsoft has a great reputation for creating awesome tools and so I’ve been checking out what they have to offer in the Machine Learning arena.
The first of the Cognitive Services I will discuss is Face — a service that allows you to detect faces, compare and identify, detect emotions, age, attributes, etc.
As is typically the case, the free tier of this Azure service is quite generous — at least for trying out and reviewing purposes. 30,000 transactions a month — limited to 20 transactions a minute. Admittedly I was rate limited immediately because I was a bit ambitious with what I considered a transaction however despite this limitation, my team quickly labelled 200 images containing faces, creating meta data that would enable smart searches of these images.
The service has a few drawbacks, typical of any face detection tool, like being unable to identify faces if they’re turned away from the camera too much and being unable to decipher between pictures on the wall in the background containing faces and the humans that are the actual focus of the image (although this may be a feature depending on what you’re looking for). But overall, it is very fast and effective.
During a demo of our solution, I was asked if there was actually any machine learning implemented or if it was just “smoke and mirrors” because the service was so fast at retraining and labeling all of the images!
Our project used the Python SDK– an open source tool — to implement Face in Python.
Azure Bot Service (using node.js botbuilder SDK alongside LUIS as a natural language processor) is a fantastic tool for creating chatbots that can understand a person’s natural language. I’ve experimented a lot with LUIS and have found it to be quite effective at understanding and differentiating commands, even when they sound very similar. And I’ve had a lot of fun by training LUIS to understand Northern Irish slang (“bout ye, chatbot!”)
While Microsoft’s chatbot tools certainly provide a lot of advanced features and allow for a high level of customisation as the tools are mostly open source, I’ve found them to be perfect for entry level machine learning. So far I’ve given workshops and taught 100% non-technical people to create their own chatbots from scratch using the botbuilder SDK and LUIS.
But for even less technical knowledge, the following tool I’ll discuss is perfect.
The previous tool discussed, Azure Bot Service, enables you to create a chatbot from scratch within a couple of hours (obviously depending on your technical ability)but QNA Maker allows you to create a question and answer bot in minutes.
And with zero coding knowledge.
You can upload a knowledge base (e.g. a link to an FAQ page on the web or a spreadsheet of questions & answers) and within a couple of minutes, a chatbot will be created and trained on this knowledge. Obviously, it will require a bit of extra training to ensure your chatbot can understand sentences phrased differently or with different keywords but all that involves is chatting to your bot for a bit and with the additional feedback features, you can ensure your chatbot continues to learns after you unleash it into the wild.
Microsoft’s Machine Learning Studio is perhaps the coolest tool I’ll talk about in this article. It’s a drag and drop interface with actions for data preparation, algorithm selection, predictions, etc. You can experiment with data and deploy your model easily within minutes.
My first opinion of this tool was that it would be a fantastic way to teach students at Kainos AI Camp the processes involved in Machine Learning before throwing Python and Pandas at them (which can be overwhelming when you’re still trying to get to grips with concepts). With ML Studio students could learn these concepts and experiment with them, gaining an understanding of the steps involved, before delving into any coding. However, ML Studio actually allows you to delve into the code using R or Python within each of the drag and drop actions, thus making it a great alternative to Jupyter Notebooks.
ML Studio is currently free to use without logging in or adding credit/debit card details required so there’s really no excuse not to try it out!
Microsoft’s Machine Learning tools are great for entry level individuals or those just getting started in Machine Learning — and in the case of QNA Maker, sometimes no technical experience is required at all! However, don’t underestimate how powerful these tools could be for your business, despite their incredible ease of use.
It’s evident that Microsoft is eager to encourage the adoption of machine learning by making it painless to pick up what used to be described as advanced technology.
Try out these tools and see for yourself how easy machine learning can be!
Sign up to the Kainos newsletter