Getting started with Azure Cognitive Services in containers

November 21st, 2018
Getting started with Azure Cognitive Services in containers

This article was originally posted in the Microsoft Azure blog.

Building solutions with machine learning often requires a data scientist. Azure Cognitive Services enable organizations to take advantage of AI with developers, without requiring a data scientist. We do this by taking the machine learning models and the pipelines and the infrastructure needed to build a model and packaging it up into a Cognitive Service for vision, speech, search, text processing, language understanding, and more. This makes it possible for anyone who can write a program, to now use machine learning to improve an application. However, many enterprises still face challenges building large-scale AI systems. Today we announced container support for Cognitive Services, making it significantly easier for developers to build ML-driven solutions.

Containerization lets developers build big AI systems that run at scale, reliably, and consistently in a way that supports better data governance. For example, let’s look at a typical hospital system that works with patients. After many years of taking care of patients, they have numerous doctor’s notes, intake records, or other files that they want to process and derive insights about key trends. Using Cognitive Services containers, they can process all of these files, index millions of documents and find commonalities, and improve the patient experience while keeping the data in-house. Another example would be a large manufacturing plant that has limited connectivity where they want to track assets on the edge using remote sensors and cameras, using AI to predict maintenance needs.

Today’s announcement includes container support for 5 key capabilities within Azure Cognitive Services. Learn more by reading the blog post, "Bringing AI to the edge". Read on to learn how you can get started using them today.

Get started with these Azure Cognitive Services Containers

Text Analytics Containers

Container Description
Key Phrase Extraction Extracts key phrases to identify the main points. For example, for the input text "The food was delicious and there were wonderful staff," the API returns the main talking points: "food" and "wonderful staff."
Language Detection For up to 120 languages, detects which language the input text is written in and reports a single language code for every document submitted on the request. The language code is paired with a score indicating the strength of the score.
Sentiment Analysis Analyzes raw text for clues about positive or negative sentiment. This API returns a sentiment score between 0 and 1 for each document, where 1 is the most positive. The analysis models are pre-trained using an extensive body of text and natural language technologies from Microsoft. For selected languages, the API can analyze and score any raw text that you provide, directly returning results to the calling application.

Face Container

The Face Container enables you to add face detection, verification, and emotion detection to an application or system. It uses a common configuration framework, so that you can easily configure and manage storage, logging and telemetry, and security settings for your containers.

Recognize Text Container

The Recognize Text portion of Computer Vision allows you to detect and extract printed text from images of various objects with different surfaces and backgrounds, such as receipts, posters, and business cards.

If you put Cognitive Services in containers and you manage them with Azure Kubernetes Service (AKS) and have have a modern, DevOps experience to create AI systems. AKS provides a rich environment for composing services into applications using a micro-service architecture that enables managing a container separately.

These containerized instances operate in a very similar way to the Cognitive Services cloud APIs running in the hosted Azure endpoint. This means you can use the same API’s and samples for details on how to use the service regardless of whether you’re calling the container or the Cognitive Services cloud.

In this preview we’d also like to learn more about how you’d like to use the containers. To keep things simple, the billing and business model for Cognitive Services in containers is exactly the same as it would be if you were using the Cognitive Services cloud. For example, 1,000 API calls to do Key Phrase Extraction will cost the same regardless of whether you’re calling the container or the Cognitive Services cloud. To enable this, the containers must have the ability to connect to Azure both at start-up and then again at regular intervals while they’re running. Note this will only send metering information to Azure.  None of your customer data needs to go to Azure. If you need a fully disconnected solution, we’d love to hear from you to learn more about your use case as we’re interested in helping with those projects as well.

Custom Vision Service support for logo detection

On a separate but related note, I also wanted to share with you that starting today, Custom Vision Service will add support for logo detection, allowing business to create their own logo detector quickly and easily. Logo detection is a specialized type of object detection suited specifically for logos that can be small, skewed, or obfuscated within a larger picture, for example on the sidelines of a soccer match, on a building sign in a cityscape, or on a scanned form. Now you can build your own logo detectors to help search and locate their logos in their media libraries or to generate analytics for their social media feeds.

Get started today and take advantage of Azure Cognitive Services to build and run the intelligent applications that power your business. For more information from our engineers, join our podcast.