What is Azure Cognitive Service for Language?
Azure Cognitive Service for Language is a cloud-based service that provides Natural Language Processing (NLP) features for understanding and analyzing text. Use this service to help build intelligent applications using the web-based Language Studio, REST APIs, and client libraries.
This Language service unifies the following previously available Cognitive Services: Text Analytics, QnA Maker, and LUIS. If you need to migrate from these services, see the migration section below.
The Language service also provides several new features as well, which can either be:
- Pre-configured, which means the AI models that the feature uses are not customizable. You just send your data, and use the feature's output in your applications.
- Customizable, which means you'll train an AI model using our tools to fit your data specifically.
Unsure which feature to use? See Which Language service feature should I use? to help you decide.
Language Studio enables you to use the below service features without needing to write code.
Named Entity Recognition (NER)
Personally identifying (PII) and health (PHI) information detection
Language detection is a pre-configured feature that can detect the language a document is written in, and returns a language code for a wide range of languages, variants, dialects, and some regional/cultural languages.
Sentiment Analysis and opinion mining
Sentiment analysis and opinion mining are pre-configured features that help you find out what people think of your brand or topic by mining text for clues about positive or negative sentiment, and can associate them with specific aspects of the text.
Summarization is a pre-configured feature that uses extractive text summarization to produce a summary of documents and conversation transcriptions. It extracts sentences that collectively represent the most important or relevant information within the original content.
Key phrase extraction
Key phrase extraction is a pre-configured feature that evaluates and returns the main concepts in unstructured text, and returns them as a list.
Entity linking is a pre-configured feature that disambiguates the identity of entities (words or phrases) found in unstructured text and returns links to Wikipedia.
Text analytics for health
Text analytics for health is a pre-configured feature that extracts and labels relevant medical information from unstructured texts such as doctor's notes, discharge summaries, clinical documents, and electronic health records.
Custom text classification
Custom text classification enables you to build custom AI models to classify unstructured text documents into custom classes you define.
Custom Named Entity Recognition (Custom NER)
Custom NER enables you to build custom AI models to extract custom entity categories (labels for words or phrases), using unstructured text that you provide.
Conversational language understanding
Conversational language understanding (CLU) enables users to build custom natural language understanding models to predict the overall intention of an incoming utterance and extract important information from it.
Question answering is a custom feature that finds the most appropriate answer for inputs from your users, and is commonly used to build conversational client applications, such as social media applications, chat bots, and speech-enabled desktop applications.
Which Language service feature should I use?
This section will help you decide which Language service feature you should use for your application:
|What do you want to do?||Document format||Your best solution||Is this solution customizable?*|
|Detect and/or redact sensitive information such as PII and PHI.||Unstructured text,
|Extract categories of information without creating a custom model.||Unstructured text||The pre-configured NER feature|
|Extract categories of information using a model specific to your data.||Unstructured text||Custom NER||✓|
|Extract main topics and important phrases.||Unstructured text||Key phrase extraction|
|Determine the sentiment and opinions expressed in text.||Unstructured text||Sentiment analysis and opinion mining|
|Summarize long chunks of text or conversations.||Unstructured text,
|Disambiguate entities and get links to Wikipedia.||Unstructured text||Entity linking|
|Classify documents into one or more categories.||Unstructured text||Custom text classification||✓|
|Extract medical information from clinical/medical documents.||Unstructured text||Text analytics for health|
|Build an conversational application that responds to user inputs.||Unstructured user inputs||Question answering||✓|
|Detect the language that a text was written in.||Unstructured text||Language detection|
|Predict the intention of user inputs and extract information from them.||Unstructured user inputs||Conversational language understanding||✓|
|Connect apps from conversational language understanding, LUIS, and question answering.||Unstructured user inputs||Orchestration workflow||✓|
* If a feature is customizable, you can train an AI model using our tools to fit your data specifically. Otherwise a feature is pre-configured, meaning the AI models it uses cannot be changed. You just send your data, and use the feature's output in your applications.
Migrate from Text Analytics, QnA Maker, or Language Understanding (LUIS)
Azure Cognitive Services for Language unifies three individual language services in Cognitive Services - Text Analytics, QnA Maker, and Language Understanding (LUIS). If you have been using these three services, you can easily migrate to the new Azure Cognitive Services for Language. For instructions see Migrating to Azure Cognitive Services for Language.
After you've had a chance to get started with the Language service, try our tutorials that show you how to solve various scenarios.
- Extract key phrases from text stored in Power BI
- Use Power Automate to sort information in Microsoft Excel
- Use Flask to translate text, analyze sentiment, and synthesize speech
- Use Cognitive Services in canvas apps
- Create a FAQ Bot
Additional code samples
You can find more code samples on GitHub for the following languages:
Deploy on premises using Docker containers
Use Language service containers to deploy API features on-premises. These Docker containers enable you to bring the service closer to your data for compliance, security, or other operational reasons. The Language service offers the following containers:
An AI system includes not only the technology, but also the people who will use it, the people who will be affected by it, and the environment in which it is deployed. Read the following articles to learn about responsible AI use and deployment in your systems: