Predefined skills for content enrichment (Azure Search)

In this article, you learn about the cognitive skills provided with Azure Search. A cognitive skill is an operation that transforms content in some way. Often, it is a component that extracts data or infers structure, and therefore augments our understanding of the input data. Almost always, the output is text-based. A skillset is collection of skills that define the enrichment pipeline.


As you expand scope by increasing the frequency of processing, adding more documents, or adding more AI algorithms, you will need to attach a billable Cognitive Services resource. Charges accrue when calling APIs in Cognitive Services, and for image extraction as part of the document-cracking stage in Azure Search. There are no charges for text extraction from documents.

Execution of built-in skills is charged at the existing Cognitive Services pay-as-you go price. Image extraction pricing is described on the Azure Search pricing page.

Predefined skills

Several skills are flexible in what they consume or produce. In general, most skills are based on pre-trained models, which means you cannot train the model using your own training data. The following table enumerates and describes the skills provided by Microsoft.

Skill Description
Microsoft.Skills.Text.KeyPhraseSkill This skill uses a pretrained model to detect important phrases based on term placement, linguistic rules, proximity to other terms, and how unusual the term is within the source data.
Microsoft.Skills.Text.LanguageDetectionSkill This skill uses a pretrained model to detect which language is used (one language ID per document). When multiple languages are used within the same text segments, the output is the LCID of the predominantly used language.
Microsoft.Skills.Text.MergeSkill Consolidates text from a collection of fields into a single field.
Microsoft.Skills.Text.EntityRecognitionSkill This skill uses a pretrained model to establish entities for a fixed set of categories: people, location, organization, emails, URLs, datetime fields.
Microsoft.Skills.Text.SentimentSkill This skill uses a pretrained model to score positive or negative sentiment on a record by record basis. The score is between 0 and 1. Neutral scores occur for both the null case when sentiment cannot be detected, and for text that is considered neutral.
Microsoft.Skills.Text.SplitSkill Splits text into pages so that you can enrich or augment content incrementally.
Microsoft.Skills.Text.TranslationSkill This skill uses a pretrained model to translate the input text into a variety of languages for normalization or localization use cases.
Microsoft.Skills.Vision.ImageAnalysisSkill This skill uses an image detection algorithm to identify the content of an image and generate a text description.
Microsoft.Skills.Vision.OcrSkill Optical character recognition.
Microsoft.Skills.Util.ConditionalSkill Allows filtering, assigning a default value, and merging data based on a condition.
Microsoft.Skills.Util.ShaperSkill Maps output to a complex type (a multi-part data type, which might be used for a full name, a multi-line address, or a combination of last name and a personal identifier.)
Microsoft.Skills.Custom.WebApiSkill Allows extensibility of cognitive search pipeline by making an HTTP call into a custom Web API

For guidance on creating a custom skill, see How to define a custom interface and Example: Creating a custom skill for cognitive search.

See also