Azure Cognitive Services: Decision

What is Azure Decision Cognitive Services?

Azure Decision

Azure Decision Cognitive Service is a cloud-based service that provides AI driven services to support in decision making process. It entails natural language processing (NLP) features to moderate content or produce recommendations for informed and efficient decision-making. It also handles anomaly detection in time-series data. The Decision Cognitive Service unifies the previously available Cognitive Services: Anomaly Detector, Content Moderator and Personalizer.

With this service, users can build intelligent applications using the web-based Language Studio, REST APIs, and client libraries based on preconfigured AI models that can be finetuned to fit your scenario.

 

The Decision Cognitive Service entails four services each with specific features. The four core services can be summarized as very logical building blocks:

  • Detect Anomalies: This building block allows you to monitor and detect abnormalities in your time series data. You can use preconfigured models or create your own custom models to handle domain-specific scenarios. Anomaly Detector uses univariate and multivariate APIs to monitor data over time. You can use it for either batch validation or real-time inference.
    • Univariate anomaly detection: you can easily detect anomalies in your time series data without actually understanding/knowing machine learning techniques. Below, you see an example of three anomalies in our time series data. 

      Univariate
    • Multivariate anomaly detection: in multivariate anomaly detection, you combine different time series streams where the anomaly needs to be detected based on the combination of the parameters. Imagine you have a production line with temperature, pressure, vibration sensors. A high temperature as such, doesn't mean anything because it could be that outside temperature influences the temperature. However, a high temperature, in combination with high pressure and abnormal vibrations means a problem. So with multivariate anomaly detection, we can detect the anomaly across different time series. 

      multivariate

  • Moderate Content: This building block allows you to check text, image, and video content for material that's potentially offensive, risky, or otherwise undesirable. Content Moderator uses optical character recognition (OCR) and face detection algorithms to scan images and videos. You can also use custom lists and terms to filter out specific content. 
    • Text moderation scans text for offensive content, sexually explicit or suggestive content, profanity, and personal data. 
    • Image moderation scans images for adult or racy content, detects text in images by using optical character recognition, and detects faces. 
    • Video moderation scans videos for adult or racy content and returns time markers for the content. This API currently supports only prebuilt models.
  • Personalize Experiences: This building block allows you to choose the best content items to show to your users, learning from their real-time behavior. Personalizer uses reinforcement learning (RL) to select the best item, or action, based on collective behavior and reward scores across all users. Actions are content items, like news articles, movies, or products
  • Azure Bot Service provides an integrated development environment for creating conversational AI bots without writing code. It's integrated with Power Virtual Agents, which is available as both a standalone web app and a discrete app in Microsoft Teams.

To help you in defining what services to choose, there's an easy decision tree to help you make a good decision: 

Decision

Source: Types of decision APIs and Applied AI Services - Azure Architecture Center | Microsoft Learn

Image source: What is Anomaly Detector? - Azure Cognitive Services | Microsoft Learn

How can any of these services help you in your business?

Democratization of AI has been a trend in the past few years & is now stronger than ever. Complex AI & ML models are now readily available and allow any business to easily integrate those models in applications, processes, etc. As the technology is now widely available, it is not technology, but your own creativity that limits the value you will be extracting from AI in the next few years. Here is a selection of use cases related to decision making and recommendation systems, that could drive value for your organization.

Here are some examples of how you can use the Azure Decision Cognitive Service features in your business:

  • A retail company could use Anomaly Detector to identify unusual spikes or drops in sales or inventory levels. They could also use Personalizer to recommend products or offers to their customers based on their preferences and behavior.
  • A media company could use Content Moderator to filter out inappropriate or harmful content from their platform. They could also use Personalizer to suggest content or ads to their users based on their interests and feedback.
  • A financial company could use Anomaly Detector to detect fraud or suspicious transactions in their data. They could also use Content Moderator to protect sensitive information of their customers and comply with regulations.
  • A travel company could use Personalizer to provide personalized travel recommendations and offers to their customers based on their preferences and behavior. They could also use Content Moderator to ensure that user-generated reviews and photos are appropriate and relevant.
  • A gaming company could use Personalizer to create adaptive and engaging gaming experiences for their players based on their actions and feedback. They could also use Anomaly Detector to monitor the performance and health of their servers and systems.

 So again, your own creativity is your limit!

How can you get started? And what do you need?

Unlike the previous services we discussed, there's no Decision Studion where the different services can be consumed. These Decision services are much more API based so you'll need to access them within your own application once you have created the resources in Azure. Once you have these set up, you can access the features through the REST APIs and client libraries. Depending on the specifics of your use case, you may also need to use other Azure services such as Azure Storage for storing data or Azure Functions for processing data.

More documentation can be found here: 

  • Anomaly Detection API - Cognitive Services APIs Reference (microsoft.com)
  • Personalizer API - there are actually two APIs available within the Personalizer suite
    • Rank API is called by your application each time there's a decision to be made. The application sends a JSON containing a set of actions, features that describe each action, and features that describe the current context. Each Rank API call is known as an event and noted with a unique event ID. Personalizer then returns the ID of the best action that maximizes the total average reward as determined by the underlying model.
    • Reward API is called by your application whenever there's feedback that can help Personalizer learn if the action ID returned in the Rank call provided value. For example, if a user clicked on the suggested news article, or completed the purchase of a suggested product. A call to then Reward API can be in real-time (just after the Rank call is made) or delayed to better fit the needs of the scenario. The reward score is determined your business metrics and objectives, and can be generated by an algorithm or rules in your application. The score is a real-valued number between 0 and 1.
    • You can take a look on how they interact in this Personalizer Interactive Demo (personalizerdevdemo.azurewebsites.net)
    • More details can be found here: What is Personalizer? - Azure Cognitive Services | Microsoft Learn
  • Content Moderator:  Content moderator works via an API endopoint where we send our input to (in the form of an image, text or video) with some specific settings. The API then returns the content moderation insights in a JSON format which can then be used in your application. 
    Content Moderator

 

It’s important to carefully plan and design your use case to determine which Azure resources you will need to achieve your desired outcome.

What does it cost?

As it is a cloud service, you pay as you go based on how much you use and which services you use. For the decision models, the count is based on transactions where one transaction corresponds to one API call.

Here is a non-exhaustive list of the pricing of Azure Decision Cognitive Service (note that you get 20 000 transactions for free per month for almost all the services):

  • For Anomaly Detector, you pay depending on the type of anomaly detection: 
    • Univariate anomaly detection: ~ € 3 per 1000 transactions
      • you get 20 000 transactions free per month
    • Multivariate anomaly detection: ~ € 0.23 per training hour and ~ € 0.5 per 1000 inference data points
      • you get 5 hours of training free per month
      • you get 20 000 inference points free per month
    • A "transaction" is an API call with request payload size up to 1,000 data points inclusive in the time series, each increment of 1000 data points will add to another one transaction. The number of the "inference data points" is the number of variables times number of timestamps that need to be detected.
  • For Content Moderator, you pay ~ € 1 per 1000 transactions for up to 10 000 characters per transaction.
    • Each Text API call can contain up to 1,024 characters each, Images should be minimum 128 pixels and maximum 4MB size and optical character recognition (OCR) and face detection can be included in each transaction. Each API call is a transaction.
  • For Personalizer (including RL), you pay ~€ 1 per 1000 transactions for the first 1million transactions (with decreasing cost for more transactions). You get 50 000 transactions for free per month. 
    • A transaction is a request to create a personalized rank of items. In terms of API interactions, this may involve zero to multiple http calls to send rewards to the AI.

How to get started?

Do you think you have an interesting use case that could make use of the Azure Decision Cognitive Services? Do not hesitate to reach out and let's discuss how it would practically work in your environment.

Stay tuned for the next post on the Azure (Web) Search Cognitive Services!