Decision & Web Search


Introduction & Overview
Cognitive Services Features
10m 49s
9m 58s
Course Summary
1m 42s
Start course

Artificial Intelligence is not a future or distant concept; it is here and now, and being used by many companies of various sizes and industries. The foundational theory for AI was actually developed several decades ago, but recent advancements in big data, computing power, cloud, and algorithms have made it affordable and widespread today. With AI and Machine Learning, computers are now able to start reasoning, understanding, and interacting in ways that were never possible before.

Microsoft has created a predefined set of AI models available for companies of all sizes to start with called Cognitive Services, and best of all, they require little to no knowledge of data science. In this course, you will learn how to infuse your apps—on an architectural level—with the intelligence that Cognitive Services provide. We will cover what Cognitive Services are and how to use the various solutions they provide, including Vision, Speech, Language, Decision, and Web Search.

Learning Objectives

  • Understand the functionality provided by Azure Cognitive Services
  • Learn how to incorporate these services into your apps

Intended Audience

  • People who want to learn more about Azure Cognitive Services


  • Knowledge of Azure
  • Knowledge of at least one programming language
  • Experience using REST APIs

Finally, let's talk about Decision and Web Search. I have decided to group these two together, as they are the smallest categories of Cognitive Services.

In the Decision category, there are two options. Content Moderator and Personalizer. The Content Moderator ensures that user-generated content is appropriate, by detecting adult or racy content, profanity, in more than 100 languages, OCR over images, and even personally identifiable information, PII. It has its own portal, to allow for a mix of automated and manual review. It supports several file types, including text, images, and video.

Personalizer is a cloud-based API that allows your applications to tailor content for each specific user, based on the interactions this user has with your application. Until recently, this kind of personalization was the realm of major internet companies. But with the Personalizer, you can have that in your own websites and apps.

As I mentioned before, the Decision Category also has the Anomaly Detector, which allows you to detect abnormal behaviors on your systems. Think computer security or credit card fraud.

Finally, let's talk about Web Search, the last pillar of Cognitive Services. All of these services, nine in total, fall under the Bing umbrella. In fact, most of them even share the same API endpoint. They allow your app to do web search programmatically, instead of having to use the browser.

Let's start talking about Bing Web, Video, Image, and News Search. All these four are related to Bing queries and pretty similar between them. The only difference is on the kind of search results that they produce. These will be the same results as if you're using the Web, Videos, Images and News tabs of the Bing web page.

Note that, because you're paying for these APIs, you have the assurance to receive search results that are ad-free! You also can set your own filters in the API call, just as you'd do in a Bing page search.

Keep in mind that, for most Bing APIs, the maximum size of the URL query cannot exceed 2048 characters, which, if you think about it, is a pretty long query.

The last five services are more differentiated, so let's talk about them individually.

Bing Spell Check allows you to correct grammar in over 50 languages. Being even able to identify slang, person names, brands and incorrect word breaking. The result, as usual, is a Json array with possible corrections, along with the confidence level of each one. It also has native integration with LUIS, so you can enable spell check for your LUIS models, if you wish.

Bing Autosuggest allows for the auto-completion of search queries in your app. The same way it behaves on the Bing page.

Bing Entity Search gives search results that are more relevant to an entity being searched. Such as a celebrity, company, city or landmark. It intelligently switches between places and entities results, depending on the query, and it has an entity disambiguation feature similar to the one we saw in Text Analytics. For example, it could differentiate between Mars, the planet, and Mars, the Roman god, based on context.

Finally, we have Bing Visual Search, that allows you to use images as a search query. Did you see a company logo and want to know which company it belongs to? Just take a picture of the logo and send it to Visual Search.

As with all categories, Web Search also has a service that allows you to customize the model, called Custom Search. Custom Search, accessible from, gives you complete control over the search results. You could, for example, make sure that the results only come from your own websites or at least filter out your competitors' sites from the results.

Once the model is configured, you can then deploy this as a REST endpoint or use a hosted UI to show the results from your app. The Custom Search Portal also allows you to test search results graphically directly from the tool.

About the Author

Emilio Melo has been involved in IT projects in over 15 countries, with roles ranging across support, consultancy, teaching, project and department management, and sales—mostly focused on Microsoft software. After 15 years of on-premises experience in infrastructure, data, and collaboration, he became fascinated by Cloud technologies and the incredible transformation potential it brings. His passion outside work is to travel and discover the wonderful things this world has to offer.