Azure AI Text Analysis
/SKILLSDK Azure AI Text Analytics for sentiment analysis, entity recognition, key phrase identification, and language detection
--- name: azure-ai-textanalytics-py description: Azure AI Text Analytics SDK for sentiment analysis, entity recognition, key phrases, language detection, PII, and healthcare NLP. Use for natural language processing on text. risk: unknown source: community date_added: '2026-02-27' --- # Azure AI Text Analytics SDK for Python Client library for Azure AI Language Service NLP capabilities, including sentiment, entities, key phrases, and more. ## Installation ``bash pip install azure-ai-textanalytics ` ## Environment Variables `bash AZURE_LANGUAGE_ENDPOINT=https://<resource>.cognitiveservices.azure.com AZURE_LANGUAGE_KEY=<your-api-key> # If using API key ` ## Authentication ### API Key `python import os from azure.core.credentials import AzureKeyCredential from azure.ai.textanalytics import TextAnalyticsClient endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"] key = os.environ["AZURE_LANGUAGE_KEY"] client = TextAnalyticsClient(endpoint, AzureKeyCredential(key)) ` ### Entra ID (Recommended) `python from azure.ai.textanalytics import TextAnalyticsClient from azure.identity import DefaultAzureCredential client = TextAnalyticsClient( endpoint=os.environ["AZURE_LANGUAGE_ENDPOINT"], credential=DefaultAzureCredential() ) ` ## Sentiment Analysis `python documents = [ "I had a wonderful trip to Seattle last week!", "The food was terrible and the service was slow." ] result = client.analyze_sentiment(documents, show_opinion_mining=True) for doc in result: if not doc.is_error: print(f"Sentiment: {doc.sentiment}") print(f"Scores: pos={doc.confidence_scores.positive:.2f}, " f"neg={doc.confidence_scores.negative:.2f}, " f"neu={doc.confidence_scores.neutral:.2f}") # Opinion mining (aspect-based sentiment) for sentence in doc.sentences: for opinion in sentence.mined_opinions: target = opinion.target print(f" Target: '{target.text}' - {target.sentiment}") for assessment in opinion.assessments: print(f" Assessment: '{assessment.text}' - {assessment.sentiment}") ` ## Entity Recognition `python documents = ["Microsoft was founded by Bill Gates and Paul Allen in Albuquerque."] result = client.recognize_entities(documents) for doc in result: if not doc.is_error: for entity in doc.entities: print(f"Entity: {entity.text}") print(f" Category: {entity.category}") print(f" Subcategory: {entity.subcategory}") print(f" Confidence: {entity.confidence_score:.2f}") ` ## PII Detection `python documents = ["My SSN is 123-45-6789 and my email is john@example.com"] result = client.recognize_pii_entities(documents) for doc in result: if not doc.is_error: print(f"Redacted: {doc.redacted_text}") for entity in doc.entities: print(f"PII: {entity.text} ({entity.category})") ` ## Key Phrase Extraction `python documents = ["Azure AI provides powerful machine learning capabilities for developers."] result = client.extract_key_phrases(documents) for doc in result: if not doc.is_error: print(f"Key phrases: {doc.key_phrases}") ` ## Language Detection `python documents = ["Ce document est en francais.", "This is written in English."] result = client.detect_language(documents) for doc in result: if not doc.is_error: print(f"Language: {doc.primary_language.name} ({doc.primary_language.iso6391_name})") print(f"Confidence: {doc.primary_language.confidence_score:.2f}") ` ## Healthcare Text Analytics ``python documents = ["Patient has diabetes and was prescribed metformin 500mg twice daily."] poller = client.beginanalyzehealthcareentities(documents) result = poller.result() for doc in result: if not doc.iserror: for entity in doc.entities: print(f"Entity: {entity.text}") print(f" Category: {entity.category}") print(f" Normalized: {entity.normalizedtext}") # Entity links (UMLS, etc.) for link in entity.datasources: