Skip navigation

Text Analytics

A text-mining AI service that uncovers insights such as sentiment analysis, entities, relations and key phrases in unstructured text

Mine insights from text

Mine insights in unstructured text using natural language processing (NLP) – no machine learning expertise required. Gain a deeper understanding of customer opinions with sentiment analysis. 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. 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 organisations.

Powerful sentiment analysis

Examine what customers are saying about your brand and analyse sentiments around specific topics through opinion mining.

Question answering

Get answers to questions from content such as FAQ, product manuals, blogs and policies.

Flexible deployment

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

Languages: English (confidence: 100 %)
Key phrases: The Sirloin steak, Contoso Steakhouse, midtown NYC, dinner party, great menu, chief cook, John Doe, online menu, marvelous food, spot, owner, name, kitchen, dining, place, contososteakhouse, email, order, complaint
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 [Location-GPE]
NYC [Location-GPE]
last week [DateTime-DateRange]
dinner party [Event]
chief cook [PersonType]
owner [PersonType]
John Doe [Person]
kitchen [Location-Structural]
Sirloin steak [Product]
www.contososteakhouse.com [URL]
312-555-0176 [Phone Number]
order@contososteakhouse.com [Email]
food [Product]
PII entities: Type: Organization
Value: Contoso

Type: DateTime
Value: last week

Type: PersonType
Value: chief cook

Type: PersonType
Value: owner

Type: Person
Value: John Doe

Type: Phone Number
Value: 312-555-0176

Type: Email
Value: order@contososteakhouse.com

Type: Organization
Value: contososteakhouse

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": "32ecb6c7-4123-4df6-8258-b39a2f370975",
        "detectedLanguage": {
          "name": "English",
          "iso6391Name": "en",
          "confidenceScore": 0.99
        }
      }
    ],
    "errors": [],
    "modelversion": "2021-01-05"
  },
  "keyPhrases": {
    "documents": [
      {
        "id": "32ecb6c7-4123-4df6-8258-b39a2f370975",
        "keyPhrases": [
          "The Sirloin steak",
          "Contoso Steakhouse",
          "midtown NYC",
          "dinner party",
          "great menu",
          "chief cook",
          "John Doe",
          "online menu",
          "marvelous food",
          "spot",
          "owner",
          "name",
          "kitchen",
          "dining",
          "place",
          "contososteakhouse",
          "email",
          "order",
          "complaint"
        ]
      }
    ],
    "errors": [],
    "modelversion": "2021-06-01"
  },
  "sentiment": {
    "documents": [
      {
        "id": "32ecb6c7-4123-4df6-8258-b39a2f370975",
        "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": "32ecb6c7-4123-4df6-8258-b39a2f370975",
        "entities": [
          {
            "text": "Contoso Steakhouse",
            "category": "Location",
            "subcategory": null,
            "offset": 11,
            "length": 18,
            "confidencescore": 0.78
          },
          {
            "text": "midtown",
            "category": "Location",
            "subcategory": "GPE",
            "offset": 41,
            "length": 7,
            "confidencescore": 0.63
          },
          {
            "text": "NYC",
            "category": "Location",
            "subcategory": "GPE",
            "offset": 49,
            "length": 3,
            "confidencescore": 0.81
          },
          {
            "text": "last week",
            "category": "DateTime",
            "subcategory": "DateRange",
            "offset": 53,
            "length": 9,
            "confidencescore": 0.8
          },
          {
            "text": "dinner party",
            "category": "Event",
            "subcategory": null,
            "offset": 69,
            "length": 12,
            "confidencescore": 0.93
          },
          {
            "text": "chief cook",
            "category": "PersonType",
            "subcategory": null,
            "offset": 166,
            "length": 10,
            "confidencescore": 0.88
          },
          {
            "text": "owner",
            "category": "PersonType",
            "subcategory": null,
            "offset": 195,
            "length": 5,
            "confidencescore": 0.98
          },
          {
            "text": "John Doe",
            "category": "Person",
            "subcategory": null,
            "offset": 222,
            "length": 8,
            "confidencescore": 1.0
          },
          {
            "text": "kitchen",
            "category": "Location",
            "subcategory": "Structural",
            "offset": 272,
            "length": 7,
            "confidencescore": 0.95
          },
          {
            "text": "Sirloin steak",
            "category": "Product",
            "subcategory": null,
            "offset": 346,
            "length": 13,
            "confidencescore": 0.9
          },
          {
            "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
          },
          {
            "text": "food",
            "category": "Product",
            "subcategory": null,
            "offset": 601,
            "length": 4,
            "confidencescore": 0.68
          }
        ]
      }
    ],
    "errors": [],
    "modelversion": "2021-06-01"
  },
  "entityLinking": {
    "documents": [
      {
        "id": "32ecb6c7-4123-4df6-8258-b39a2f370975",
        "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": "2021-06-01"
  },
  "entityPII": {
    "documents": [
      {
        "id": "32ecb6c7-4123-4df6-8258-b39a2f370975",
        "entities": [
          {
            "text": "Contoso",
            "category": "Organization",
            "subcategory": null,
            "offset": 11,
            "length": "7",
            "confidencescore": 0.58
          },
          {
            "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.63
          },
          {
            "text": "owner",
            "category": "PersonType",
            "subcategory": null,
            "offset": 195,
            "length": "5",
            "confidencescore": 0.93
          },
          {
            "text": "John Doe",
            "category": "Person",
            "subcategory": null,
            "offset": 222,
            "length": "8",
            "confidencescore": 0.98
          },
          {
            "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
          },
          {
            "text": "contososteakhouse",
            "category": "Organization",
            "subcategory": null,
            "offset": 545,
            "length": "17",
            "confidencescore": 0.45
          }
        ]
      }
    ],
    "errors": [],
    "modelversion": "2021-01-15"
  }
}

Identify and categorise important concepts

Extract a broad range of prebuilt entities such as people, places, organisations, dates/times, 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 organise information to make sense of important topics and trends.

Better understand customer perception

Analyse 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. Recognise, classify and determine relationships between medical concepts such as diagnosis, symptoms and dosage and frequency of medication.

Create a conversational layer over your data

Get answers to questions from semi-structured and unstructured content such as URLs, FAQ, product manuals, blogs, support documents and more.

Deploy anywhere, in the cloud or at 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 doesn’t 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 as you go based on the number of transactions, with no upfront costs.

Text Analytics resources and documentation

Get started with learning resources

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 uses Text Analytics to detect 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

La Liga boosts fan engagement

LaLiga is engaging millions of fans around the world with a personal digital assistant, using Text Analytics to process incoming queries and determine user intent 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 such as sudden changes in data patterns, discover root causes and provide 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 nonessential 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.
  • Yes, you can use the analyse operation in preview to combine more than one Text Analytics feature in the same asynchronous call. The analyse operation is currently only available in the Standard pricing tier and follows the same pricing criteria.

Get started with Text Analytics