|

|  How to Implement Microsoft Azure Text Analytics API in C#

How to Implement Microsoft Azure Text Analytics API in C#

October 31, 2024

Learn to implement Microsoft Azure Text Analytics API in C# with our comprehensive guide. Enhance your app with powerful text analysis capabilities today!

How to Implement Microsoft Azure Text Analytics API in C#

 

Integrate Azure Text Analytics API in C#

 

  • Ensure you have the necessary NuGet packages installed for Azure SDKs. You can use the command line to install the Azure.AI.TextAnalytics package:

     

    ```shell
    dotnet add package Azure.AI.TextAnalytics
    ```

  •  

  • To authenticate, create a client using an endpoint and a subscription key. Store these securely, e.g., in environment variables, to avoid hardcoding sensitive data.

 

using Azure;
using Azure.AI.TextAnalytics;

// Retrieve the key and endpoint from environment variables
string key = Environment.GetEnvironmentVariable("AZURE_TEXT_ANALYTICS_KEY");
string endpoint = Environment.GetEnvironmentVariable("AZURE_TEXT_ANALYTICS_ENDPOINT");

var client = new TextAnalyticsClient(new Uri(endpoint), new AzureKeyCredential(key));

 

Perform Sentiment Analysis

 

  • With the client set up, you can now perform sentiment analysis by calling the appropriate method. Here's how you can analyze the sentiment of a sample text.

 

string document = "I had a wonderful trip to Seattle last week.";

DocumentSentiment documentSentiment = client.AnalyzeSentiment(document);
Console.WriteLine($"Sentiment: {documentSentiment.Sentiment}\n");

// Output individual sentence sentiments
foreach (var sentenceSentiment in documentSentiment.Sentences)
{
    Console.WriteLine($"  Sentence: \"{sentenceSentiment.Text}\"");
    Console.WriteLine($"  Sentiment: {sentenceSentiment.Sentiment}");
    Console.WriteLine($"  Positive score: {sentenceSentiment.ConfidenceScores.Positive}; " +
                      $"Neutral score: {sentenceSentiment.ConfidenceScores.Neutral}; " +
                      $"Negative score: {sentenceSentiment.ConfidenceScores.Negative}.\n");
}

 

Entity Recognition

 

  • To recognize entities within a string, use the RecognizeEntities method. This helps identify named entities like dates, people, locations, etc.

 

string entityDocument = "Microsoft was founded by Bill Gates and Paul Allen.";

var response = client.RecognizeEntities(entityDocument);
foreach (var entity in response.Value)
{
    Console.WriteLine($"Entity: {entity.Text}, Category: {entity.Category}, SubCategory: {entity.SubCategory}, " +
                      $"ConfidenceScore: {entity.ConfidenceScore}");
}

 

Extract Key Phrases

 

  • Use the ExtractKeyPhrases method to identify the key phrases in text. It is useful for summarizing the main points of larger texts.

 

string keyPhraseDocument = "The food at the restaurant was amazing and the staff were very friendly.";

Response<KeyPhraseCollection> keyPhraseResponse = client.ExtractKeyPhrases(keyPhraseDocument);

Console.WriteLine("Key phrases:");
foreach (string keyPhrase in keyPhraseResponse.Value)
{
    Console.WriteLine($"  {keyPhrase}");
}

 

Handling Errors

 

  • Always wrap your API calls in try-catch blocks to handle exceptions, particularly RequestFailedException, to gracefully manage errors like invalid input or exceeded quotas.

 

try
{
    // Assume textAnalyticsClient and inputText are defined
    var results = client.ExtractKeyPhrases(inputText);
}
catch (RequestFailedException ex)
{
    Console.WriteLine($"Error code: {ex.ErrorCode}");
    Console.WriteLine($"Error message: {ex.Message}");
}