Text Analytics

An AI service that uncovers insights such as sentiment, entities, relations and key phrases in unstructured text.

Extract insights from text

Discover insights in unstructured text using natural language processing (NLP)—no machine learning expertise required. Identify key phrases and entities such as people, places and organisations to understand common topics and trends. Classify medical terminology using domain-specific, pretrained models. Gain a deeper understanding of customer opinions with sentiment analysis. Evaluate text in a wide range of languages.

Broad entity extraction

Identify important concepts in text, including key phrases and named entities such as people, events and organizations.

Powerful sentiment analysis

Examine what customers are saying about your brand, and detect sentiment around specific topics through opinion mining.

Robust language detection

Evaluate text input in a wide range of languages.

Flexible deployment

Run Text Analytics anywhere—in the cloud, on-premises or at the edge in containers.

Languages: English (confidence: 100%)
Key phrases: place, online menu, great menu, marvelous food, midtown NYC, week, dinner party, Contoso Steakhouse, pre-order, John Doe, Sirloin steak, chief cook, owner, kitchen, spot, dining, complaint, email
Sentiment:
Document
MIXED
86%
Positive
0%
Neutral
14%
Negative
Sentence 1
POSITIVE
99%
Positive
1%
Neutral
0%
Negative
Sentence 2
POSITIVE
100%
Positive
0%
Neutral
0%
Negative
Sentence 3
POSITIVE
100%
Positive
0%
Neutral
0%
Negative
Sentence 4
POSITIVE
100%
Positive
0%
Neutral
0%
Negative
Sentence 5
POSITIVE
100%
Positive
0%
Neutral
0%
Negative
Sentence 6
NEUTRAL
0%
Positive
100%
Neutral
0%
Negative
Sentence 7
NEGATIVE
0%
Positive
0%
Neutral
100%
Negative
Sentence 8
POSITIVE
100%
Positive
0%
Neutral
0%
Negative
Named Entities: Contoso Steakhouse [Location]
midtown NYC [Location]
last week [DateTime-DateRange]
chief cook [PersonType]
owner [PersonType]
John Doe [Person]
kitchen [Location-Structural]
www.contososteakhouse.com [URL]
312-555-0176 [Phone Number]
email [Skill]
order@contososteakhouse.com [Email]
PII Entities: Type: Person
Value: John Doe

Type: URL
Value: www.contososteakhouse.com

Type: Phone Number
Value: 312-555-0176

Type: Email
Value: order@contososteakhouse.com

Linked Entities: We went to Contoso Steakhouse located at midtown NYC last week for a dinner party, and we adore the spot! They provide marvelous food and they have a great menu. The chief cook happens to be the owner (I think his name is John Doe) and he is super nice, coming out of the kitchen and greeted us all. We enjoyed very much dining in the place! The Sirloin steak I ordered was tender and juicy, and the place was impeccably clean. You can even pre-order from their online menu at www.contososteakhouse.com, call 312-555-0176 or send email to order@contososteakhouse.com! The only complaint I have is the food didn't come fast enough. Overall I highly recommend it!
{
  "languageDetection": {
    "documents": [
      {
        "id": "272bcb58-a69b-46a4-8503-2e20501fa276",
        "detectedLanguage": {
          "name": "English",
          "iso6391Name": "en",
          "confidenceScore": 1.0
        }
      }
    ],
    "errors": [],
    "modelversion": "2020-09-01"
  },
  "keyPhrases": {
    "documents": [
      {
        "id": "272bcb58-a69b-46a4-8503-2e20501fa276",
        "keyPhrases": [
          "place",
          "online menu",
          "great menu",
          "marvelous food",
          "midtown NYC",
          "week",
          "dinner party",
          "Contoso Steakhouse",
          "pre-order",
          "John Doe",
          "Sirloin steak",
          "chief cook",
          "owner",
          "kitchen",
          "spot",
          "dining",
          "complaint",
          "email"
        ]
      }
    ],
    "errors": [],
    "modelversion": "2020-07-01"
  },
  "sentiment": {
    "documents": [
      {
        "id": "272bcb58-a69b-46a4-8503-2e20501fa276",
        "sentiment": "mixed",
        "confidenceScores": {
          "positive": 0.86,
          "neutral": 0.0,
          "negative": 0.14
        },
        "sentences": [
          {
            "sentiment": "positive",
            "confidenceScores": {
              "positive": 0.99,
              "neutral": 0.01,
              "negative": 0.0
            },
            "offset": 0,
            "length": 105
          },
          {
            "sentiment": "positive",
            "confidenceScores": {
              "positive": 1.0,
              "neutral": 0.0,
              "negative": 0.0
            },
            "offset": 106,
            "length": 55
          },
          {
            "sentiment": "positive",
            "confidenceScores": {
              "positive": 1.0,
              "neutral": 0.0,
              "negative": 0.0
            },
            "offset": 162,
            "length": 137
          },
          {
            "sentiment": "positive",
            "confidenceScores": {
              "positive": 1.0,
              "neutral": 0.0,
              "negative": 0.0
            },
            "offset": 300,
            "length": 41
          },
          {
            "sentiment": "positive",
            "confidenceScores": {
              "positive": 1.0,
              "neutral": 0.0,
              "negative": 0.0
            },
            "offset": 342,
            "length": 85
          },
          {
            "sentiment": "neutral",
            "confidenceScores": {
              "positive": 0.0,
              "neutral": 1.0,
              "negative": 0.0
            },
            "offset": 428,
            "length": 139
          },
          {
            "sentiment": "negative",
            "confidenceScores": {
              "positive": 0.0,
              "neutral": 0.0,
              "negative": 1.0
            },
            "offset": 568,
            "length": 62
          },
          {
            "sentiment": "positive",
            "confidenceScores": {
              "positive": 1.0,
              "neutral": 0.0,
              "negative": 0.0
            },
            "offset": 631,
            "length": 30
          }
        ]
      }
    ],
    "errors": [],
    "modelversion": "2020-04-01"
  },
  "entities": {
    "documents": [
      {
        "id": "272bcb58-a69b-46a4-8503-2e20501fa276",
        "entities": [
          {
            "text": "Contoso Steakhouse",
            "category": "Location",
            "subcategory": null,
            "offset": 11,
            "length": 18,
            "confidencescore": 0.46
          },
          {
            "text": "midtown NYC",
            "category": "Location",
            "subcategory": null,
            "offset": 41,
            "length": 11,
            "confidencescore": 0.55
          },
          {
            "text": "last week",
            "category": "DateTime",
            "subcategory": "DateRange",
            "offset": 53,
            "length": 9,
            "confidencescore": 0.8
          },
          {
            "text": "chief cook",
            "category": "PersonType",
            "subcategory": null,
            "offset": 166,
            "length": 10,
            "confidencescore": 0.82
          },
          {
            "text": "owner",
            "category": "PersonType",
            "subcategory": null,
            "offset": 195,
            "length": 5,
            "confidencescore": 0.71
          },
          {
            "text": "John Doe",
            "category": "Person",
            "subcategory": null,
            "offset": 222,
            "length": 8,
            "confidencescore": 0.94
          },
          {
            "text": "kitchen",
            "category": "Location",
            "subcategory": "Structural",
            "offset": 272,
            "length": 7,
            "confidencescore": 0.6
          },
          {
            "text": "www.contososteakhouse.com",
            "category": "URL",
            "subcategory": null,
            "offset": 477,
            "length": 25,
            "confidencescore": 0.8
          },
          {
            "text": "312-555-0176",
            "category": "Phone Number",
            "subcategory": null,
            "offset": 509,
            "length": 12,
            "confidencescore": 0.8
          },
          {
            "text": "email",
            "category": "Skill",
            "subcategory": null,
            "offset": 530,
            "length": 5,
            "confidencescore": 0.8
          },
          {
            "text": "order@contososteakhouse.com",
            "category": "Email",
            "subcategory": null,
            "offset": 539,
            "length": 27,
            "confidencescore": 0.8
          }
        ]
      }
    ],
    "errors": [],
    "modelversion": "2020-04-01"
  },
  "entityLinking": {
    "documents": [
      {
        "id": "272bcb58-a69b-46a4-8503-2e20501fa276",
        "entities": [
          {
            "name": "Steakhouse",
            "matches": [
              {
                "text": "Steakhouse",
                "offset": 19,
                "length": 10,
                "score": 0.0
              }
            ],
            "language": "en",
            "id": "Steakhouse",
            "url": "https://en.wikipedia.org/wiki/Steakhouse",
            "datasource": "Wikipedia"
          },
          {
            "name": "New York City",
            "matches": [
              {
                "text": "NYC",
                "offset": 49,
                "length": 3,
                "score": 0.0
              }
            ],
            "language": "en",
            "id": "New York City",
            "url": "https://en.wikipedia.org/wiki/New_York_City",
            "datasource": "Wikipedia"
          },
          {
            "name": "John Doe",
            "matches": [
              {
                "text": "John Doe",
                "offset": 222,
                "length": 8,
                "score": 0.0
              }
            ],
            "language": "en",
            "id": "John Doe",
            "url": "https://en.wikipedia.org/wiki/John_Doe",
            "datasource": "Wikipedia"
          },
          {
            "name": "Sirloin steak",
            "matches": [
              {
                "text": "Sirloin steak",
                "offset": 346,
                "length": 13,
                "score": 0.0
              }
            ],
            "language": "en",
            "id": "Sirloin steak",
            "url": "https://en.wikipedia.org/wiki/Sirloin_steak",
            "datasource": "Wikipedia"
          }
        ]
      }
    ],
    "errors": [],
    "modelversion": "2020-02-01"
  },
  "entityPII": {
    "documents": [
      {
        "id": "272bcb58-a69b-46a4-8503-2e20501fa276",
        "entities": [
          {
            "text": "John Doe",
            "category": "Person",
            "subcategory": null,
            "offset": 222,
            "length": "8",
            "confidencescore": 0.94
          },
          {
            "text": "www.contososteakhouse.com",
            "category": "URL",
            "subcategory": null,
            "offset": 477,
            "length": "25",
            "confidencescore": 0.8
          },
          {
            "text": "312-555-0176",
            "category": "Phone Number",
            "subcategory": null,
            "offset": 509,
            "length": "12",
            "confidencescore": 0.8
          },
          {
            "text": "order@contososteakhouse.com",
            "category": "Email",
            "subcategory": null,
            "offset": 539,
            "length": "27",
            "confidencescore": 0.8
          }
        ]
      }
    ],
    "errors": [],
    "modelversion": "2020-07-01"
  }
}

Identify and categorise important concepts

Extract a broad range of pre-built entities such as people, places, organizations, date/time, numerals and over 100 types of personally identifiable information (PII), including protected health information (PHI), in documents using named entity recognition.

Extract key phrases in unstructured text

Quickly evaluate and identify the main points in unstructured text. Get a list of relevant phrases that best describe the subject of each record using key phrase extraction. Easily organize information to make sense of important topics and trends.

Better understand customer perception

Detect positive and negative sentiment in social media, customer reviews, and other sources to get a pulse on your brand. Use opinion mining to explore customers' perception of specific attributes of products or services, in text.

Process unstructured medical data

Extract insights from unstructured clinical documents such as doctors' notes, electronic health records, and patient intake forms using the health feature of Text Analytics in preview. Recognize, classify, and determine relationships between medical concepts such as diagnosis, symptoms, and dosage and frequency of medication.

Detect language of your text

Evaluate text input in a wide range of languages, variants and dialects using the language detection feature.

Deploy anywhere, from the cloud to the edge

Run Text Analytics wherever your data resides. Build applications that are optimised for both robust cloud capabilities and edge locality using containers.

Comprehensive privacy and security

  • Your data stays yours. Microsoft does not use the training performed on your text to improve models.
  • Choose where Cognitive Services processes your data with containers.
  • Backed by Azure infrastructure, Text Analytics offers enterprise-grade security, availability, compliance and manageability.

Get the power, control and customisation you need with flexible pricing

  • Pay only for what you use, with no upfront costs.
  • With Text Analytics, you pay as you go based on the number of transactions.

Text Analytics resources

Get started with learning resources

Read our documentation

Take the Microsoft Learn courses

Explore popular developer resources

Check out our code samples

See our Power Automate connectors

Watch our call center analytics webinar

Trusted by companies of all sizes

KPMG streamlines fraud analytics

KPMG is helping financial institutions save millions in compliance costs with its Customer Risk Analytics solution, which detects specific text patterns and keywords to flag compliance risks.

KPMG

Wilson Allen unlocks insights from unstructured data

Wilson Allen created a powerful AI solution that can help law and professional services firms around the world find unprecedented levels of insight in previously siloed and unstructured data.

Wilson Allen

IHC empowers service engineers

Royal IHC uses Azure Cognitive Search and Text Analytics to relieve its engineers from time-consuming manual data searches across disparate sources and give them insights on their structured and unstructured data.

Royal IHC

LaLiga boosts fan engagement

LaLiga is engaging hundreds of millions of fans around the world with a personal digital assistant, using Text Analytics to process incoming queries and determine user intents in multiple languages.

LaLiga

TIBCO brings root cause analysis to the edge

TIBCO is using Text Analytics and Anomaly Detector to detect and analyse anomalies—sudden changes in data patterns, discover root causes and provides suggested actions.

TIBCO

Kotak Mahindra Bank accelerates productivity

Kotak Asset Management is transforming customer service management by enabling chatbots to easily analyse subject line, customer information and email content to identify sentiment and trigger the next best action.

Kotak

Frequently asked questions about Text Analytics

  • Text Analytics detects a wide range of languages, variants and dialects. See the language support documentation for more information.
  • Yes. Sentiment analysis and key phrase extraction are available for a select number of languages and you may request additional languages in the Text Analytics Forum.
  • Key phrase extraction eliminates non-essential words and standalone adjectives. Adjective-noun combinations, such as "spectacular views" or "foggy weather," are returned together. Generally, output consists of nouns and objects of the sentence and is listed in order of importance. Importance is measured by the number of times a particular concept is mentioned or the relation of that element to other elements in the text.
  • Improvements to models and algorithms are announced if the change is major and added to the service if the update is minor. Over time, you might find that the same text input results in a different sentiment score or key phrase output. This is a normal and intentional consequence of using managed machine learning resources in the cloud.

Get started with Text Analytics