The power of machine learning algorithms has exploded in the last few years. Machine learning gives your app the ability to recognize objects in an image. Or it could detect the attitude of a user from something they wrote. This was beyond the capability of common apps until very recently.

But in order to use machine learning algorithms correctly, you complete three challenging tasks.

Find the right algorithm for your problem. Collect and clean a sufficient amount of data to use as input. Train a model.



While new tools have made these three chores easier in the last few years, the learning curve is still steep. Tools like Tensor Flow and ML.Net are very powerful and enable developers to create incredibly capable models. Investing the time in learning about machine learning would be very beneficial, but it would be a big investment.

But if you are a developer on a line of business application, you might not have time before your next deadline to learn all that you need to know. Wouldn’t it be nice if there was a way to have access to the power of machine learning without all the work of setting it up? That is the beauty of Azure Cognitive Services.

You can think of Cognitive Services as a friendly super intelligent robot that can answer questions for you. Let’s pretend his name is Coggy. You can hand him an image and he can tell you what is it in. You can hand him a block of text and he can tell you how the author felt when they wrote it.

The great thing about Coggy is that he has already been educated. You don’t have to teach him additional facts. Coggy has already learned the techniques he needs to know in order to find answers for you. He has already been trained to do the work that you need him to do. He is ready and able to answer your questions. And he is fluent in a language that you already know. So it is easy for you to talk to him. And Coggy does his own self-maintenance, so you don’t need to worry about keeping him running.

Azure Cognitive Services is a cloud-based service that provides access to machine learning models to perform many of the most common operations you would want in your application. Microsoft has already done the tedious work of collecting enough data and training a model. As a developer, all you have to do is make an API call to the service.

One great thing about Cognitive Services is that the API is a simple REST endpoint. So it is accessible from most common application types. Also, Microsoft provides wrappers for the API in JavaScript and C#, which you would expect. What is surprising is that they also provide API wrappers in other popular languages like Python and Java, making it easy for apps on all kinds of platforms to use for the power of Cognitive Services.

Cognitive Services has prebuilt models for 5 categories of operations. The Vision API analyzes images that are uploaded to the service. The Speech API provides text to speech, speech to text, and translation services. The Language API analysis on text, including sentiment analysis and content moderation. The Knowledge API enables you to build sophisticated question and answer behavior. The Search API gives you programmatic access to all of the features in the Bing search engine.

Now you can include these power operations in your next application. It will be as easy as asking Coggy a question.