lectio

Decision

Contents

APIs

Anomaly Detector

The Anomaly Detector API enables you to monitor and detect abnormalities in your time series data with machine learning. The Anomaly Detector API adapts by automatically identifying and applying the best-fitting models to your data, regardless of industry, scenario, or data volume. Using your time series data, the API determines boundaries for anomaly detection, expected values, and which data points are anomalies.

Using the Anomaly Detector doesn’t require any prior experience in machine learning, and the RESTful API enables you to easily integrate the service into your applications and processes.

Demo

Check out this interactive demo to understand how Anomaly Detector works. To run the demo, you need to create an Anomaly Detector resource and get the API key and endpoint.

Notebook

It is available a web-hosted Jupyter Notebook that shows you how to send an API request and visualize the result. Refer to the Microsoft docs for details.

Content Moderator

Azure Content Moderator is a cognitive service that checks text, image, and video content for material that is potentially offensive, risky, or otherwise undesirable. When this material is found, the service applies appropriate labels (flags) to the content. Your app can then handle flagged content in order to comply with regulations or maintain the intended environment for users.

The Content Moderator service consists of several web service APIs available through both REST calls and a .NET SDK. It also includes the Review tool, which allows human reviewers to aid the service and improve or fine-tune its moderation function.

Moderation APIs

The Content Moderator service includes Moderation APIs, which check content for material that is potentially inappropriate or objectionable.

image

The following table describes the different types of moderation APIs.

API group Description
Text moderation Scans text for offensive content, sexually explicit or suggestive content, profanity, and personal data.
Custom term lists Scans text against a custom list of terms along with the built-in terms. Use custom lists to block or allow content according to your own content policies.
Image moderation Scans images for adult or racy content, detects text in images with the Optical Character Recognition (OCR) capability, and detects faces.
Custom image lists Scans images against a custom list of images. Use custom image lists to filter out instances of commonly recurring content that you don’t want to classify again.
Video moderation Scans videos for adult or racy content and returns time markers for said content.

Review APIs

The Review APIs let you integrate your moderation pipeline with human reviewers. Use the Jobs, Reviews, and Workflow operations to create and automate human-in-the-loop workflows with the Review tool (below).

image

Review tool

The Content Moderator service also includes the web-based Review tool, which hosts the content reviews for human moderators to process. The human input doesn’t train the service, but the combined work of the service and human review teams allows developers to strike the right balance between efficiency and accuracy. The Review tool also provides a user-friendly front end for several Content Moderator resources.

Personalizer

Azure Personalizer is a cloud-based API service that helps your client application choose the best, single content item to show each user. The service selects the best item, from content items, based on collective real-time information you provide about content and context.

After you present the content item to your user, your system monitors user behavior and reports a reward score back to Personalizer to improve its ability to select the best content based on the context information it receives.

Content can be any unit of information such as text, images, urls, or emails that you want to select from to show to your user.

How does Personalizer select the best content item?

Personalizer uses reinforcement learning to select the best item (action) based on collective behavior and reward scores across all users. Actions are the content items, such as news articles, specific movies, or products to choose from.

The Rank call takes the action item, along with features of the action, and context features to select the top action item:

The Rank call returns the ID of which content item, action, to show to the user, in the Reward Action ID field. The action shown to the user is chosen with machine learning models, trying to maximize the total amount of rewards over time.

When to call Personalizer

Personalizer’s Rank API is called every time you present content, in real-time. This is known as an event, noted with an event ID.

Personalizer’s Reward API can be called in real-time or delayed to better fit your infrastructure. You determine the reward score based on your business needs. The reward score is between 0 and 1. That can be a single value such as 1 for good, and 0 for bad, or a number produced by an algorithm you create considering your business goals and metrics.

How to design and implement Personalizer for your client application

  1. Design and plan for content, actions, and context. Determine the reward algorithm for the reward score.
  2. Each Personalizer Resource you create is considered 1 Learning Loop. The loop will receive both the Rank and Reward calls for that content or user experience.
  3. Add Personalizer to your website or content system:
    1. Add a Rank call to Personalizer in your application, website, or system to determine best, single content item before the content is shown to the user.
    2. Display best, single content item, which is the returned reward action ID, to user.
    3. Apply algorithm to collected information about how the user behaved, to determine the reward score, such as:

      Behavior Calculated reward score
      User selected best, single content item (reward action ID) 1
      User selected other content 0
      User paused, scrolling around indecisively, before selecting best, single content item (reward action ID) 0.5
    4. Add a Reward call sending a reward score between 0 and 1
      • Immediately after showing your content
      • Or sometime later in an offline system
    5. Evaluate your loop with an offline evaluation after a period of use. An offline evaluation allows you to test and assess the effectiveness of the Personalizer Service without changing your code or affecting user experience.

Demo

References

Agenda

  1. Presentation :clock12: (00:00)
  2. Introduction
  3. Azure Cognitive Services :clock3: 15:00
  4. Telegram Bot with Go
  5. Vision :clock1: (01:00)
  6. Language :clock130: (01:30)
  7. Decision
  8. Q&A (01:55)