Skip to content

Commit 452660f

Browse files
Merge pull request #53475 from MicrosoftDocs/NEW-get-started-with-text-analysis-in-azure
New get started with text analysis in azure
2 parents e162d2e + 8cf1bca commit 452660f

29 files changed

Lines changed: 577 additions & 0 deletions
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.get-started-with-text-analysis-in-azure.introduction
3+
title: Introduction
4+
metadata:
5+
title: Introduction
6+
description: "Introduction"
7+
ms.date: 02/10/2026
8+
author: wwlpublish
9+
ms.author: sheryang
10+
ms.topic: unit
11+
zone_pivot_groups: video-or-text
12+
durationInMinutes: 1
13+
content: |
14+
[!include[](includes/1-introduction.md)]
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.get-started-with-text-analysis-in-azure.azure-language
3+
title: Azure Language
4+
metadata:
5+
title: Azure Language
6+
description: "Understand text analysis capabilities in Azure Language and the Foundry Language Playground."
7+
ms.date: 02/10/2026
8+
author: wwlpublish
9+
ms.author: sheryang
10+
ms.topic: unit
11+
zone_pivot_groups: video-or-text
12+
durationInMinutes: 5
13+
content: |
14+
[!include[](includes/2-azure-language.md)]
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.get-started-with-text-analysis-in-azure.language-sdk
3+
title: Azure Language SDK
4+
metadata:
5+
title: Azure Language SDK
6+
description: "Azure Language SDK capabilities"
7+
ms.date: 02/10/2026
8+
author: wwlpublish
9+
ms.author: sheryang
10+
ms.topic: unit
11+
zone_pivot_groups: video-or-text
12+
durationInMinutes: 8
13+
content: |
14+
[!include[](includes/3-language-sdk.md)]
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.get-started-with-text-analysis-in-azure.language-mcp
3+
title: Azure Language MCP
4+
metadata:
5+
title: Azure Language MCP
6+
description: "Learn how to use the Azure Language MCP to connect agents to text analysis capabilities."
7+
ms.date: 02/10/2026
8+
author: wwlpublish
9+
ms.author: sheryang
10+
ms.topic: unit
11+
zone_pivot_groups: video-or-text
12+
durationInMinutes: 4
13+
content: |
14+
[!include[](includes/4-language-mcp.md)]
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.get-started-with-text-analysis-in-azure.exercise
3+
title: Exercise - Get started with text analysis in Microsoft Foundry
4+
metadata:
5+
title: Exercise - Get started with text analysis in Microsoft Foundry
6+
description: "Exercise - Get started with text analysis in Microsoft Foundry"
7+
ms.date: 02/10/2026
8+
author: sherzyang
9+
ms.author: sheryang
10+
ms.topic: unit
11+
durationInMinutes: 20
12+
content: |
13+
[!include[](includes/5-exercise.md)]
14+
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.get-started-with-text-analysis-in-azure.knowledge-check
3+
title: Module assessment
4+
metadata:
5+
title: Module assessment
6+
description: "Knowledge check"
7+
ms.date: 02/10/2026
8+
author: wwlpublish
9+
ms.author: sheryang
10+
ms.topic: unit
11+
durationInMinutes: 4
12+
quiz:
13+
title: ""
14+
questions:
15+
- content: "You want to use Azure Language to determine the key talking points in a text document. Which feature of the service should you use?"
16+
choices:
17+
- content: "Sentiment analysis"
18+
isCorrect: false
19+
explanation: "Incorrect. Sentiment analysis returns a numeric score indicating how positive or negative the text is."
20+
- content: "Key phrase extraction"
21+
isCorrect: true
22+
explanation: "Correct. Key phrases can be used to identify the main talking points in a text document."
23+
- content: "Entity detection"
24+
isCorrect: false
25+
explanation: "Incorrect. Entity detection identifies specific types of entity in the document, not the main talking points."
26+
- content: "You use Azure Language to perform sentiment analysis on a sentence. The confidence scores 0.04 positive, 0.36 neutral, and 0.60 negative are returned. What do these confidence scores indicate about the sentence sentiment?"
27+
choices:
28+
- content: "The document is positive."
29+
isCorrect: false
30+
explanation: "Incorrect. The sentiment is most likely the type with the highest confidence score."
31+
- content: "The document is neutral."
32+
isCorrect: false
33+
explanation: "Incorrect. The sentiment is most likely the type with the highest confidence score."
34+
- content: "The document is negative."
35+
isCorrect: true
36+
explanation: "Correct. The sentiment is most likely the type with the highest confidence score, in this case 0.60 negative."
37+
- content: "What is the purpose of the client object in the Azure Language SDK?"
38+
choices:
39+
- content: "It stores the application's user interface settings."
40+
isCorrect: false
41+
explanation: "Incorrect. The UI settings are unrelated to the client object."
42+
- content: "It helps application code communicate with the Azure Language service."
43+
isCorrect: true
44+
explanation: "The client object is the tool your code uses to communicate with a service, holding the endpoint, credentials, and providing methods to interact with the service."
45+
- content: "The client object stores the text that needs to be analyzed."
46+
isCorrect: false
47+
explanation: "Incorrect. The client object doesn't store the text; it's used to communicate with the Azure Language service."
48+
- content: "What is the main purpose of the Azure Language MCP server?"
49+
choices:
50+
- content: "To automatically generate website layouts for an agent."
51+
isCorrect: false
52+
explanation: "Incorrect. The MCP server doesn't generate website layouts; it provides a way for agents to access external tools and services."
53+
- content: "To replace all generative AI models inside an agent."
54+
isCorrect: false
55+
explanation: "Incorrect. The MCP server doesn't replace generative AI models; it provides a way for agents to access external tools and services."
56+
- content: "To expose Azure Language capabilities to agents through the Model Context Protocol."
57+
isCorrect: true
58+
explanation: "Correct. The MCP server allows agents to access Azure Language capabilities in a structured way through the Model Context Protocol."
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.get-started-with-text-analysis-in-azure.summary
3+
title: Summary
4+
metadata:
5+
title: Summary
6+
description: "Summary"
7+
ms.date: 02/10/2026
8+
author: wwlpublish
9+
ms.author: sheryang
10+
ms.topic: unit
11+
zone_pivot_groups: video-or-text
12+
durationInMinutes: 1
13+
content: |
14+
[!include[](includes/7-summary.md)]
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
::: zone pivot="video"
2+
3+
>[!VIDEO https://learn-video.azurefd.net/vod/player?id=06dcb0af-c453-411e-94de-6b2418c3e737]
4+
5+
::: zone-end
6+
7+
::: zone pivot="text"
8+
9+
In this module, you explore how to use AI to make sense of text in documents and other written assets.
10+
11+
Text processing and analysis are possible through **natural language processing (NLP)**. NLP enables machines to understand, interpret, and respond to human language. The goal of NLP is to analyze and extract meaning or structure from existing text.
12+
13+
**Text analysis** is the process of automatically examining written text to extract useful information—such as sentiment, keywords, entities, or topics. Text analysis relies on NLP to turn unstructured text into meaningful insights.
14+
15+
Consider some of these applications of text analysis:
16+
17+
- **Customer Feedback Analysis**: Businesses need to analyze large volumes of customer reviews, support tickets, and survey responses. With text analysis techniques, they can identify trends, detect dissatisfaction early, and improve customer experiences.
18+
19+
- **Healthcare Text Analysis**: Healthcare systems need to extract clinical information from unstructured medical documents. Text analysis techniques can help identify symptoms, medications, and diagnoses, supporting faster and more accurate decision-making.
20+
21+
- **Financial Document Processing**: Banks and financial institutions handle large volumes of contracts, loan applications, and regulatory documents. Text analysis techniques can help automatically extract key details—such as interest rates, borrower information, and compliance risks—helping reduce manual review time and improve accuracy.
22+
23+
- **Legal Document Summarization**: Law firms manage lengthy case files, court rulings, and agreements. Text analysis techniques can help summarize complex legal texts, highlight important clauses, and classify documents by topic, enabling attorneys to work more efficiently and make informed decisions faster.
24+
25+
Next, let's explore language capabilities on Azure. In particular, we’ll focus on **Azure language in Microsoft Foundry tools**, a pre-trained service that can handle multiple text analysis tasks.
26+
27+
::: zone-end
28+
29+
> [!NOTE]
30+
> We recognize that different people like to learn in different ways. You can choose to complete this module in video-based format or you can read the content as text and images. The text contains greater detail than the videos, so in some cases you might want to refer to it as supplemental material to the video presentation.
Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
::: zone pivot="video"
2+
3+
>[!VIDEO https://learn-video.azurefd.net/vod/player?id=628555cd-1ff5-4da4-a32c-e77f65af9e4d]
4+
5+
::: zone-end
6+
7+
::: zone pivot="text"
8+
9+
**Microsoft Foundry** is the platform for building AI apps and agents on Azure. **Azure Language in Foundry tools** is a natural language processing service in Foundry that is built in models for common text analysis tasks. Azure Language can perform advanced NLP over unstructured text.
10+
11+
Core text analysis tasks Azure Language supports include:
12+
13+
- **Key phrase extraction** lists the main concepts from unstructured text.
14+
- **Named entity recognition** identifies people, places, events, and more. This feature can also be customized to extract custom categories.
15+
- **Entity linking** identifies known entities together with a link to Wikipedia.
16+
- **Sentiment analysis and opinion mining** identifies whether text is positive or negative.
17+
- **Summarization** summarizes text by identifying the most important information.
18+
- **Personal identifying information (PII) detection** identifies personally sensitive information, including personal health information (PHI).
19+
- **Language detection** evaluates text and detects the language and dialect.
20+
21+
## Get started with text analysis in Foundry portal
22+
23+
To test out Azure Language features in the Foundry portal, you need to create a *Foundry resource* and *Foundry project*.
24+
25+
> [!NOTE]
26+
> The Foundry portal has a *classic* user interface (UI) and a *new* UI.
27+
28+
A Foundry resource and project is sufficient for testing Azure Language capabilities in the *classic* Foundry portal **Language Playground**. The Language Playground is a built‑in workspace in the *classic* portal that lets you use natural language models directly in the browser.
29+
30+
Let’s explore some text analysis tasks in the classic Foundry portal.
31+
32+
#### Key phrase extraction
33+
34+
First, we might want to extract the keywords and phrases used in some text, which can be helpful in processes like indexing and searching for relevant documents. **Key phrase extraction** identifies the main points from text.
35+
36+
For example, you might receive a review such as:
37+
38+
> "*I had a fantastic meal at the diner in Seattle on Saturday. The mushroom risotto was perfectly prepared, and really tasty. Our waiter, Pete, was friendly and efficient; and gave us a great recommendation for a dessert (strawberry cheesecake). I'd definitely recommend this place for a casual dinner.*"
39+
40+
Key phrase extraction can provide some context to this review by extracting the following phrases:
41+
- casual dinner
42+
- dessert
43+
- fantastic meal
44+
- diner
45+
- great recommendation
46+
- mushroom risotto
47+
- Pete
48+
- place
49+
- Saturday
50+
- Seattle
51+
- strawberry cheesecake
52+
- waiter
53+
54+
In the classic Foundry portal, you can test out Azure Language's key phrase extraction feature in the Language Playground.
55+
56+
:::image type="content" source="../media/playground-key-phrases.png" alt-text="Screenshot of the Language playground's key phrase extraction capability." lightbox="../media/playground-key-phrases.png":::
57+
58+
#### Entity recognition and linking
59+
60+
Additionally, we might want to use **named entity recognition** to find people, places, dates, and other specific entities mentioned in the text.
61+
62+
You can provide Azure Language with unstructured text and it returns a list of *entities* in the text that it recognizes. An entity is an item of a particular type or a category; and in some cases, subtype, for example:
63+
64+
|Type|SubType|Example|
65+
|---|---|---|
66+
|Person||"Bill Gates", "John"|
67+
|Location||"Paris", "New York"|
68+
|Organization||"Microsoft"|
69+
|Quantity|Number|"6" or "six"|
70+
|Quantity|Percentage|"25%" or "fifty percent"|
71+
|Quantity|Ordinal|"1st" or "first"|
72+
|Quantity|Age|"90 day old" or "30 years old"|
73+
|Quantity|Currency|"10.99"|
74+
|Quantity|Dimension|"10 miles", "40 cm"|
75+
|Quantity|Temperature|"45 degrees"|
76+
|DateTime||"6:30PM February 4, 2012"|
77+
|DateTime|Date|"May 2nd, 2017" or "05/02/2017"|
78+
|DateTime|Time|"8am" or "8:00"|
79+
|DateTime|DateRange|"May 2nd to May 5th"|
80+
|DateTime|TimeRange|"6pm to 7pm"|
81+
|DateTime|Duration|"1 minute and 45 seconds"|
82+
|DateTime|Set|"every Tuesday"|
83+
|US-based Phone Number||"(312) 555-0176"|
84+
85+
In the classic Foundry portal, you can test out Azure Language's named entity recognition feature in the Language Playground.
86+
87+
:::image type="content" source="../media/playground-named-entities.png" alt-text="Screenshot of the Language playground's named entity recognition capability." lightbox="../media/playground-named-entities.png":::
88+
89+
Azure Language also supports **entity linking** to help disambiguate entities by linking to a specific reference. For recognized entities, the service returns a URL for a relevant *Wikipedia* article.
90+
91+
For example, suppose you use Azure Language to detect entities in the following restaurant review extract:
92+
93+
> "*I ate at the restaurant in Seattle last week.*"
94+
95+
|Entity|Type|SubType|Wikipedia URL|
96+
|---|---|---|---|
97+
|Seattle|Location||https://en.wikipedia.org/wiki/Seattle|
98+
|last week|DateTime|DateRange||
99+
100+
#### Sentiment analysis and opinion mining
101+
102+
We can also use **sentiment analysis** to classify a document as positive, negative, or negative, with an overall rating for the document as well as a sentence-by-sentence breakdown.
103+
104+
The text analytics capabilities in Azure Language can evaluate text and return sentiment scores and labels for each sentence. This capability is useful for detecting positive and negative sentiment in social media, customer reviews, discussion forums and more.
105+
106+
Azure Language returns sentiment scores in three categories: positive, neutral, and negative. In each of the categories, a score between 0 and 1 is provided. Scores indicate how likely the provided text is a particular sentiment. Azure Language returns both an overall document sentiment, and a sentence-by-sentence breakdown.
107+
108+
We could analyze the sentiment of our restaurant review:
109+
110+
> "*I had a fantastic meal at the diner in Seattle on Saturday. The mushroom risotto was perfectly prepared, and really tasty. Our waiter, Pete, was friendly and efficient; and gave us a great recommendation for a dessert (strawberry cheesecake). I'd definitely recommend this place for a casual dinner.*"
111+
112+
The sentiment score for the review might be:
113+
114+
- Document sentiment: positive
115+
- Positive score: 0.99
116+
- Neutral score: 0.01
117+
- Negative score: 0.00
118+
119+
- Sentence 1 sentiment: positive
120+
- Positive score: 0.98
121+
- Neutral score: 0.02
122+
- Negative score: 0.00
123+
124+
The service would provide sentence analysis for each of the sentences. Each sentence analysis could have a different score breakdown.
125+
126+
In classic Foundry portal, you can test out Azure Language's sentiment analysis capability in the Language Playground.
127+
128+
:::image type="content" source="../media/playground-sentiment.png" alt-text="Screenshot of the Language playground's sentiment capability." lightbox="../media/playground-sentiment.png":::
129+
130+
#### Summarization
131+
132+
With **text summarization**, we can generate both *extractive* summaries that include only the most relevant sentences and *abstractive* summaries that create an overall description of the key points of the document.
133+
134+
Given the example text:
135+
136+
> "*I had a fantastic meal at the diner in Seattle on Saturday. The mushroom risotto was perfectly prepared, and really tasty. Our waiter, Pete, was friendly and efficient; and gave us a great recommendation for a dessert (strawberry cheesecake). I'd definitely recommend this place for a casual dinner.*"
137+
138+
We could extract an:
139+
140+
**Extractive summary**
141+
- (Rank score: 100%) I had a fantastic meal at the diner in Seattle on Saturday.
142+
- (Rank score: 52%) The mushroom risotto was perfectly prepared, and really tasty.
143+
- (Rank score: 63%) I'd definitely recommend this place for a casual dinner.
144+
145+
**Abstractive summary**
146+
The individual experienced an exceptional dining experience at the diner in Seattle, highlighting the delectable mushroom risotto as a standout dish. They appreciated the friendly and efficient service provided by the waiter, Pete, who also offered a highly recommended dessert option—strawberry cheesecake. The overall ambiance and food quality were such that the diner was deemed suitable for a casual dinner. The positive review underscores the diner's ability to deliver a satisfying meal, paired with commendable customer service, making it a recommended destination for future dining in the area. The summary encapsulates the main points of enjoyment and recommendation without redundant details from the original document.
147+
148+
In classic Foundry portal, you can test out Azure Language's summarization capability in the Language Playground.
149+
150+
:::image type="content" source="../media/playground-summarize.png" alt-text="Screenshot of the Language playground's summarization capability." lightbox="../media/playground-summarize.png":::
151+
152+
Next, let's learn how to get started with the Azure Language software development kit (SDK) to build a lightweight application.
153+
154+
::: zone-end

0 commit comments

Comments
 (0)