(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa

Análise de sentimento no Azure AI Language: passo a passo

João Barros 05 de July de 2026 4 min de leitura

Perceber se os comentários dos clientes são positivos ou negativos deixa de ser um trabalho manual e demorado quando usamos a análise de sentimento do Azure AI Language. Com poucas linhas de Python conseguimos classificar qualquer texto como positivo, negativo, neutro ou misto e ainda obter uma pontuação de confiança para cada frase. Vamos construir esse classificador do zero, com um exemplo prático que pode adaptar ao seu negócio.

Pré-requisitos

  • Uma subscrição Azure ativa — o serviço tem um escalão gratuito para começar.
  • Python 3.8 ou superior instalado na sua máquina.
  • Permissões para criar recursos no portal Azure.
  • Conforto básico com a linha de comandos e um editor de código.

Passo 1: Criar o recurso Language no portal Azure

Comece por criar o serviço que vai fazer a análise. No portal Azure, clique em Criar um recurso e procure por Language service. Escolha a subscrição, um grupo de recursos, a região mais próxima dos seus utilizadores e o escalão de preço gratuito (F0), perfeito para aprender. Depois de o recurso ficar pronto, abra a secção Keys and Endpoint e copie o endpoint e uma das chaves: são estes dois valores que autenticam o seu código.

Passo 2: Instalar o SDK de Python

Crie uma pasta para o projeto e instale a biblioteca oficial. Um ambiente virtual mantém as dependências isoladas; em Windows, ative-o com o script activate da pasta .venv.

python -m venv .venv
source .venv/bin/activate
pip install azure-ai-textanalytics

Passo 3: Autenticar o cliente

Nunca escreva a chave diretamente no código. Guarde o endpoint e a chave em variáveis de ambiente e leia-os com o módulo os — assim não expõe segredos quando partilha ou publica o projeto.

import os
from azure.ai.textanalytics import TextAnalyticsClient
from azure.core.credentials import AzureKeyCredential

endpoint = os.environ["LANGUAGE_ENDPOINT"]
key = os.environ["LANGUAGE_KEY"]

client = TextAnalyticsClient(
    endpoint=endpoint,
    credential=AzureKeyCredential(key),
)

Passo 4: Analisar o sentimento de um texto

O método analyze_sentiment recebe uma lista de documentos e devolve, para cada um, o sentimento geral e a confiança em cada classe. Como exemplo usamos dois comentários reais em português — o serviço deteta o idioma automaticamente.

documents = [
    "O atendimento foi excelente e a entrega chegou antes do previsto.",
    "O produto veio partido e ninguém respondeu ao meu email.",
]

response = client.analyze_sentiment(documents=documents)

for doc in response:
    print("Sentimento:", doc.sentiment)
    print("Confiança:", doc.confidence_scores)

Cada doc.sentiment será positive, negative, neutral ou mixed. Já confidence_scores traz três valores entre 0 e 1 — positivo, neutro e negativo — que somam 1.

Passo 5: Descer ao nível da frase

Muitas vezes um comentário mistura elogios e críticas. O resultado inclui uma lista sentences, que permite ver o sentimento frase a frase e perceber exatamente onde está o problema.

for doc in response:
    print("Documento:", doc.sentiment)
    for sentence in doc.sentences:
        print(" -", sentence.sentiment, "->", sentence.text)
Dica: ative show_opinion_mining=True na chamada para associar cada opinião ao alvo a que se refere (por exemplo, "entrega" ou "atendimento").

Verificar o resultado

Guarde o ficheiro como sentimento.py e execute-o com python sentimento.py. A primeira frase deve devolver positive com confiança alta e a segunda negative. Se receber um erro 401, confirme a chave e o endpoint; se for um 404, verifique se copiou o endpoint completo. Troque depois os textos por comentários reais do seu negócio para confirmar que a classificação faz sentido.

Conclusão

Em cinco passos ligou o Python ao Azure AI Language e transformou texto livre em sentimento medível — uma base sólida para dashboards de satisfação ou alertas automáticos de clientes insatisfeitos. A partir daqui pode explorar a extração de frases-chave, o reconhecimento de entidades ou processar centenas de comentários de uma só vez. Qual será a primeira fonte de texto que vai analisar: emails, reviews ou redes sociais?