Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Documentação de referência | Mais amostras | Pacote (NuGet) | Código-fonte da biblioteca
Use este início rápido para criar um aplicativo de análise de sentimentos com a biblioteca de clientes para .NET. No exemplo a seguir, você criará um aplicativo C# que pode identificar os sentimentos expressos em uma amostra de texto e executar uma análise de sentimento baseada em aspecto.
Pré-requisitos
- Assinatura do Azure – Criar uma gratuitamente
- O IDE do Visual Studio
Configurando
Criar um recurso do Azure
Para usar o exemplo de código abaixo, você precisa implantar um recurso do Azure. Esse recurso conterá uma chave e um ponto de extremidade usados para autenticar as chamadas à API que você envia para o Azure Language.
Use o link a seguir para criar um recurso de linguagem usando o portal do Azure. Você precisa entrar usando sua assinatura do Azure.
Na tela Selecionar recursos adicionais que aparece, selecione Continuar a criar seu recurso.
Na tela Criar linguagem, forneça as seguintes informações:
Detalhes Descrição Subscrição A conta de assinatura à qual seu recurso será associado. Selecione a assinatura do Azure no menu suspenso. Grupo de recursos Um grupo de recursos é um contêiner que armazena os recursos criados por você. Selecione Criar novo para criar um novo grupo de recursos. Região O local do recurso de linguagem. Diferentes regiões podem apresentar latência, dependendo do seu local físico, mas não impactam sobre a disponibilidade de runtime do seu recurso. Neste início rápido, selecione uma região disponível perto de você ou escolha Leste dos EUA. Nome O nome para o recurso de linguagem. Esse nome também será usado para criar uma URL de ponto de extremidade que seus aplicativos usarão para enviar solicitações de API. Tipo de preço O tipo de preço do recurso de linguagem. É possível usar o nível Gratuito F0 para experimentar o serviço e atualizar mais tarde para um nível pago para produção. Verifique se a caixa de seleção Aviso de IA Responsável está marcada.
Selecione Examinar + Criar na parte inferior da página.
Na tela exibida, verifique se a validação foi aprovada e se você inseriu suas informações corretamente. Em seguida, selecione Criar.
Obter chave e ponto de extremidade
Em seguida, você precisará da chave e do ponto de extremidade do recurso para conectar seu aplicativo à API. Você vai colar a chave e o ponto de extremidade no código mais adiante no guia de início rápido.
Depois que o recurso de Linguagem do Azure for implantado com êxito, clique no botão Ir para Recurso nas Próximas Etapas.
Na tela do seu recurso, selecione Chaves e ponto de extremidade no painel esquerdo. Você usará uma das chaves e o ponto de extremidade nas etapas abaixo.
Criar variáveis de ambiente
Seu aplicativo deve ser autenticado para enviar solicitações de API. Para produção, use uma maneira segura de armazenar e acessar suas credenciais. Neste exemplo, você gravará suas credenciais em variáveis de ambiente no computador local que está executando o aplicativo.
Para definir a variável de ambiente da chave de recurso de linguagem, abra uma janela do console e siga as instruções para o seu sistema operacional e ambiente de desenvolvimento.
- Para definir a variável de ambiente
LANGUAGE_KEY, substituayour-keypor uma das chaves do recurso. - Para definir a variável de ambiente
LANGUAGE_ENDPOINT, substituayour-endpointpelo ponto de extremidade do recurso.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure a fim de evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.
Use as chaves de API com cautela. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Azure Key Vault, faça a rotação de chaves regularmente e restrinja o acesso ao Azure Key Vault usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, confira Chaves de API com o Azure Key Vault.
Para obter mais informações sobre segurança dos serviços de IA, confira Autenticar solicitações para os serviços de IA do Azure.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Observação
Se for necessário acessar somente as variáveis de ambiente no console em execução no momento, você pode definir a variável de ambiente com set em vez de setx.
Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas em execução que precisarão ler as variáveis de ambiente, incluindo a janela do console. Por exemplo, se estiver usando o Visual Studio como seu editor, reinicie-o antes de executar o exemplo.
Criar um aplicativo .NET Core
Usando o IDE do Visual Studio, crie um aplicativo de console do .NET Core. Isso criará um projeto "Olá, Mundo" com um arquivo de origem C#: program.cs.
Instale a biblioteca de clientes clicando com o botão direito do mouse na solução no Gerenciador de Soluções e selecionando Gerenciar Pacotes NuGet. No gerenciador de pacotes que é aberto, selecione Procurar e pesquise por Azure.AI.TextAnalytics. Selecione a versão 5.2.0 e, em seguida, Instalar. Você também pode usar o Console do Gerenciador de Pacotes.
Exemplo de código
Copie o seguinte código para o seu arquivo program.cs e execute o código.
using Azure;
using System;
using Azure.AI.TextAnalytics;
using System.Collections.Generic;
namespace Example
{
class Program
{
// This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
static string languageKey = Environment.GetEnvironmentVariable("LANGUAGE_KEY");
static string languageEndpoint = Environment.GetEnvironmentVariable("LANGUAGE_ENDPOINT");
private static readonly AzureKeyCredential credentials = new AzureKeyCredential(languageKey);
private static readonly Uri endpoint = new Uri(languageEndpoint);
// Example method for detecting opinions text.
static void SentimentAnalysisWithOpinionMiningExample(TextAnalyticsClient client)
{
var documents = new List<string>
{
"The food and service were unacceptable. The concierge was nice, however."
};
AnalyzeSentimentResultCollection reviews = client.AnalyzeSentimentBatch(documents, options: new AnalyzeSentimentOptions()
{
IncludeOpinionMining = true
});
foreach (AnalyzeSentimentResult review in reviews)
{
Console.WriteLine($"Document sentiment: {review.DocumentSentiment.Sentiment}\n");
Console.WriteLine($"\tPositive score: {review.DocumentSentiment.ConfidenceScores.Positive:0.00}");
Console.WriteLine($"\tNegative score: {review.DocumentSentiment.ConfidenceScores.Negative:0.00}");
Console.WriteLine($"\tNeutral score: {review.DocumentSentiment.ConfidenceScores.Neutral:0.00}\n");
foreach (SentenceSentiment sentence in review.DocumentSentiment.Sentences)
{
Console.WriteLine($"\tText: \"{sentence.Text}\"");
Console.WriteLine($"\tSentence sentiment: {sentence.Sentiment}");
Console.WriteLine($"\tSentence positive score: {sentence.ConfidenceScores.Positive:0.00}");
Console.WriteLine($"\tSentence negative score: {sentence.ConfidenceScores.Negative:0.00}");
Console.WriteLine($"\tSentence neutral score: {sentence.ConfidenceScores.Neutral:0.00}\n");
foreach (SentenceOpinion sentenceOpinion in sentence.Opinions)
{
Console.WriteLine($"\tTarget: {sentenceOpinion.Target.Text}, Value: {sentenceOpinion.Target.Sentiment}");
Console.WriteLine($"\tTarget positive score: {sentenceOpinion.Target.ConfidenceScores.Positive:0.00}");
Console.WriteLine($"\tTarget negative score: {sentenceOpinion.Target.ConfidenceScores.Negative:0.00}");
foreach (AssessmentSentiment assessment in sentenceOpinion.Assessments)
{
Console.WriteLine($"\t\tRelated Assessment: {assessment.Text}, Value: {assessment.Sentiment}");
Console.WriteLine($"\t\tRelated Assessment positive score: {assessment.ConfidenceScores.Positive:0.00}");
Console.WriteLine($"\t\tRelated Assessment negative score: {assessment.ConfidenceScores.Negative:0.00}");
}
}
}
Console.WriteLine($"\n");
}
}
static void Main(string[] args)
{
var client = new TextAnalyticsClient(endpoint, credentials);
SentimentAnalysisWithOpinionMiningExample(client);
Console.Write("Press any key to exit.");
Console.ReadKey();
}
}
}
Saída
Document sentiment: Mixed
Positive score: 0.47
Negative score: 0.52
Neutral score: 0.00
Text: "The food and service were unacceptable. "
Sentence sentiment: Negative
Sentence positive score: 0.00
Sentence negative score: 0.99
Sentence neutral score: 0.00
Target: food, Value: Negative
Target positive score: 0.00
Target negative score: 1.00
Related Assessment: unacceptable, Value: Negative
Related Assessment positive score: 0.00
Related Assessment negative score: 1.00
Target: service, Value: Negative
Target positive score: 0.00
Target negative score: 1.00
Related Assessment: unacceptable, Value: Negative
Related Assessment positive score: 0.00
Related Assessment negative score: 1.00
Text: "The concierge was nice, however."
Sentence sentiment: Positive
Sentence positive score: 0.94
Sentence negative score: 0.05
Sentence neutral score: 0.01
Target: concierge, Value: Positive
Target positive score: 1.00
Target negative score: 0.00
Related Assessment: nice, Value: Positive
Related Assessment positive score: 1.00
Related Assessment negative score: 0.00
Limpar os recursos
Para limpar e remover um recurso de IA do Azure, você pode excluir o recurso individual ou todo o grupo de recursos. Se você excluir o grupo de recursos, todos os recursos contidos também serão excluídos.
Use os comandos a seguir para excluir as variáveis de ambiente que você criou para esse início rápido.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f
Próximas etapas
Documentação de referência | Amostras adicionais | Pacote (Maven) | Código-fonte da biblioteca
Use este início rápido para criar um aplicativo de análise de sentimentos com a biblioteca de clientes para Java. No exemplo a seguir, você criará um aplicativo Java que pode identificar os sentimentos expressos em uma amostra de texto e executar uma análise de sentimento baseada em aspecto.
Pré-requisitos
- Assinatura do Azure – Criar uma gratuitamente
- JDK (Java Development Kit) com a versão 8 ou superior
Configurando
Criar um recurso do Azure
Para usar o exemplo de código abaixo, você precisa implantar um recurso do Azure. Esse recurso conterá uma chave e um ponto de extremidade usados para autenticar as chamadas à API que você envia para o Azure Language.
Use o link a seguir para criar um recurso de linguagem usando o portal do Azure. Você precisa entrar usando sua assinatura do Azure.
Na tela Selecionar recursos adicionais que aparece, selecione Continuar a criar seu recurso.
Na tela Criar linguagem, forneça as seguintes informações:
Detalhes Descrição Subscrição A conta de assinatura à qual seu recurso será associado. Selecione a assinatura do Azure no menu suspenso. Grupo de recursos Um grupo de recursos é um contêiner que armazena os recursos criados por você. Selecione Criar novo para criar um novo grupo de recursos. Região O local do recurso de linguagem. Diferentes regiões podem apresentar latência, dependendo do seu local físico, mas não impactam sobre a disponibilidade de runtime do seu recurso. Neste início rápido, selecione uma região disponível perto de você ou escolha Leste dos EUA. Nome O nome para o recurso de linguagem. Esse nome também será usado para criar uma URL de ponto de extremidade que seus aplicativos usarão para enviar solicitações de API. Tipo de preço O tipo de preço do recurso de linguagem. É possível usar o nível Gratuito F0 para experimentar o serviço e atualizar mais tarde para um nível pago para produção. Verifique se a caixa de seleção Aviso de IA Responsável está marcada.
Selecione Examinar + Criar na parte inferior da página.
Na tela exibida, verifique se a validação foi aprovada e se você inseriu suas informações corretamente. Em seguida, selecione Criar.
Obter chave e ponto de extremidade
Em seguida, você precisará da chave e do ponto de extremidade do recurso para conectar seu aplicativo à API. Você vai colar a chave e o ponto de extremidade no código mais adiante no guia de início rápido.
Depois que o recurso de Linguagem do Azure for implantado com êxito, clique no botão Ir para Recurso nas Próximas Etapas.
Na tela do seu recurso, selecione Chaves e ponto de extremidade no painel esquerdo. Você usará uma das chaves e o ponto de extremidade nas etapas abaixo.
Criar variáveis de ambiente
Seu aplicativo deve ser autenticado para enviar solicitações de API. Para produção, use uma maneira segura de armazenar e acessar suas credenciais. Neste exemplo, você gravará suas credenciais em variáveis de ambiente no computador local que está executando o aplicativo.
Para definir a variável de ambiente da chave de recurso de linguagem, abra uma janela do console e siga as instruções para o seu sistema operacional e ambiente de desenvolvimento.
- Para definir a variável de ambiente
LANGUAGE_KEY, substituayour-keypor uma das chaves do recurso. - Para definir a variável de ambiente
LANGUAGE_ENDPOINT, substituayour-endpointpelo ponto de extremidade do recurso.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure a fim de evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.
Use as chaves de API com cautela. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Azure Key Vault, faça a rotação de chaves regularmente e restrinja o acesso ao Azure Key Vault usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, confira Chaves de API com o Azure Key Vault.
Para obter mais informações sobre segurança dos serviços de IA, confira Autenticar solicitações para os serviços de IA do Azure.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Observação
Se for necessário acessar somente as variáveis de ambiente no console em execução no momento, você pode definir a variável de ambiente com set em vez de setx.
Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas em execução que precisarão ler as variáveis de ambiente, incluindo a janela do console. Por exemplo, se estiver usando o Visual Studio como seu editor, reinicie-o antes de executar o exemplo.
Adicionar a biblioteca de clientes
Crie um projeto Maven no IDE ou no ambiente de desenvolvimento de sua preferência. Em seguida, adicione a dependência a seguir ao arquivo pom.xml do projeto. Você pode encontrar a sintaxe de implementação para outras ferramentas de build online.
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-textanalytics</artifactId>
<version>5.2.0</version>
</dependency>
</dependencies>
Exemplo de código
Crie um arquivo Java chamado Example.java. Abra o arquivo e copie o código abaixo. Depois, execute o código.
import com.azure.core.credential.AzureKeyCredential;
import com.azure.ai.textanalytics.models.*;
import com.azure.ai.textanalytics.TextAnalyticsClientBuilder;
import com.azure.ai.textanalytics.TextAnalyticsClient;
public class Example {
// This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
private static String languageKey = System.getenv("LANGUAGE_KEY");
private static String languageEndpoint = System.getenv("LANGUAGE_ENDPOINT");
public static void main(String[] args) {
TextAnalyticsClient client = authenticateClient(languageKey, languageEndpoint);
sentimentAnalysisWithOpinionMiningExample(client);
}
// Method to authenticate the client object with your key and endpoint.
static TextAnalyticsClient authenticateClient(String key, String endpoint) {
return new TextAnalyticsClientBuilder()
.credential(new AzureKeyCredential(key))
.endpoint(endpoint)
.buildClient();
}
// Example method for detecting sentiment and opinions in text.
static void sentimentAnalysisWithOpinionMiningExample(TextAnalyticsClient client)
{
// The document that needs be analyzed.
String document = "The food and service were unacceptable. The concierge was nice, however.";
System.out.printf("Document = %s%n", document);
AnalyzeSentimentOptions options = new AnalyzeSentimentOptions().setIncludeOpinionMining(true);
final DocumentSentiment documentSentiment = client.analyzeSentiment(document, "en", options);
SentimentConfidenceScores scores = documentSentiment.getConfidenceScores();
System.out.printf(
"Recognized document sentiment: %s, positive score: %f, neutral score: %f, negative score: %f.%n",
documentSentiment.getSentiment(), scores.getPositive(), scores.getNeutral(), scores.getNegative());
documentSentiment.getSentences().forEach(sentenceSentiment -> {
SentimentConfidenceScores sentenceScores = sentenceSentiment.getConfidenceScores();
System.out.printf("\tSentence sentiment: %s, positive score: %f, neutral score: %f, negative score: %f.%n",
sentenceSentiment.getSentiment(), sentenceScores.getPositive(), sentenceScores.getNeutral(), sentenceScores.getNegative());
sentenceSentiment.getOpinions().forEach(opinion -> {
TargetSentiment targetSentiment = opinion.getTarget();
System.out.printf("\t\tTarget sentiment: %s, target text: %s%n", targetSentiment.getSentiment(),
targetSentiment.getText());
for (AssessmentSentiment assessmentSentiment : opinion.getAssessments()) {
System.out.printf("\t\t\t'%s' assessment sentiment because of \"%s\". Is the assessment negated: %s.%n",
assessmentSentiment.getSentiment(), assessmentSentiment.getText(), assessmentSentiment.isNegated());
}
});
});
}
}
Saída
Document = The food and service were unacceptable. The concierge was nice, however.
Recognized document sentiment: mixed, positive score: 0.470000, neutral score: 0.000000, negative score: 0.520000.
Sentence sentiment: negative, positive score: 0.000000, neutral score: 0.000000, negative score: 0.990000.
Target sentiment: negative, target text: food
'negative' assessment sentiment because of "unacceptable". Is the assessment negated: false.
Target sentiment: negative, target text: service
'negative' assessment sentiment because of "unacceptable". Is the assessment negated: false.
Sentence sentiment: positive, positive score: 0.940000, neutral score: 0.010000, negative score: 0.050000.
Target sentiment: positive, target text: concierge
'positive' assessment sentiment because of "nice". Is the assessment negated: false.
Limpar os recursos
Para limpar e remover um recurso de IA do Azure, você pode excluir o recurso individual ou todo o grupo de recursos. Se você excluir o grupo de recursos, todos os recursos contidos também serão excluídos.
Use os comandos a seguir para excluir as variáveis de ambiente que você criou para esse início rápido.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f
Próximas etapas
Documentação de referência | Amostras adicionais | Pacote (npm) | Código-fonte da biblioteca
Use este início rápido para criar um aplicativo de análise de sentimentos com a biblioteca de clientes para Node.js. No exemplo a seguir, você criará um aplicativo JavaScript que pode identificar os sentimentos expressos em uma amostra de texto e executar uma análise de sentimento baseada em aspecto.
Pré-requisitos
- Assinatura do Azure – Criar uma gratuitamente
- Node.js v14 LTS ou versões posteriores
Configurando
Criar um recurso do Azure
Para usar o exemplo de código abaixo, você precisa implantar um recurso do Azure. Esse recurso conterá uma chave e um ponto de extremidade usados para autenticar as chamadas à API que você envia para o Azure Language.
Use o link a seguir para criar um recurso de linguagem usando o portal do Azure. Você precisa entrar usando sua assinatura do Azure.
Na tela Selecionar recursos adicionais que aparece, selecione Continuar a criar seu recurso.
Na tela Criar linguagem, forneça as seguintes informações:
Detalhes Descrição Subscrição A conta de assinatura à qual seu recurso será associado. Selecione a assinatura do Azure no menu suspenso. Grupo de recursos Um grupo de recursos é um contêiner que armazena os recursos criados por você. Selecione Criar novo para criar um novo grupo de recursos. Região O local do recurso de linguagem. Diferentes regiões podem apresentar latência, dependendo do seu local físico, mas não impactam sobre a disponibilidade de runtime do seu recurso. Neste início rápido, selecione uma região disponível perto de você ou escolha Leste dos EUA. Nome O nome para o recurso de linguagem. Esse nome também será usado para criar uma URL de ponto de extremidade que seus aplicativos usarão para enviar solicitações de API. Tipo de preço O tipo de preço do recurso de linguagem. É possível usar o nível Gratuito F0 para experimentar o serviço e atualizar mais tarde para um nível pago para produção. Verifique se a caixa de seleção Aviso de IA Responsável está marcada.
Selecione Examinar + Criar na parte inferior da página.
Na tela exibida, verifique se a validação foi aprovada e se você inseriu suas informações corretamente. Em seguida, selecione Criar.
Obter chave e ponto de extremidade
Em seguida, você precisará da chave e do ponto de extremidade do recurso para conectar seu aplicativo à API. Você vai colar a chave e o ponto de extremidade no código mais adiante no guia de início rápido.
Depois que o recurso de Linguagem do Azure for implantado com êxito, clique no botão Ir para Recurso nas Próximas Etapas.
Na tela do seu recurso, selecione Chaves e ponto de extremidade no painel esquerdo. Você usará uma das chaves e o ponto de extremidade nas etapas abaixo.
Criar variáveis de ambiente
Seu aplicativo deve ser autenticado para enviar solicitações de API. Para produção, use uma maneira segura de armazenar e acessar suas credenciais. Neste exemplo, você gravará suas credenciais em variáveis de ambiente no computador local que está executando o aplicativo.
Para definir a variável de ambiente da chave de recurso de linguagem, abra uma janela do console e siga as instruções para o seu sistema operacional e ambiente de desenvolvimento.
- Para definir a variável de ambiente
LANGUAGE_KEY, substituayour-keypor uma das chaves do recurso. - Para definir a variável de ambiente
LANGUAGE_ENDPOINT, substituayour-endpointpelo ponto de extremidade do recurso.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure a fim de evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.
Use as chaves de API com cautela. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Azure Key Vault, faça a rotação de chaves regularmente e restrinja o acesso ao Azure Key Vault usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, confira Chaves de API com o Azure Key Vault.
Para obter mais informações sobre segurança dos serviços de IA, confira Autenticar solicitações para os serviços de IA do Azure.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Observação
Se for necessário acessar somente as variáveis de ambiente no console em execução no momento, você pode definir a variável de ambiente com set em vez de setx.
Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas em execução que precisarão ler as variáveis de ambiente, incluindo a janela do console. Por exemplo, se estiver usando o Visual Studio como seu editor, reinicie-o antes de executar o exemplo.
Criar um novo aplicativo do Node.js
Em uma janela de console (como cmd, PowerShell ou Bash), crie um novo diretório para seu aplicativo e navegue até ele.
mkdir myapp
cd myapp
Execute o comando npm init para criar um aplicativo do Node com um arquivo package.json.
npm init
Instalar a biblioteca de clientes
Instale os pacotes npm:
npm install @azure/ai-language-text
Exemplo de código
Abra o arquivo e copie o código abaixo. Depois, execute o código.
"use strict";
const { TextAnalyticsClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
// This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
const key = process.env.LANGUAGE_KEY;
const endpoint = process.env.LANGUAGE_ENDPOINT;
//an example document for sentiment analysis and opinion mining
const documents = [{
text: "The food and service were unacceptable. The concierge was nice, however.",
id: "0",
language: "en"
}];
async function main() {
console.log("=== Sentiment analysis and opinion mining sample ===");
const client = new TextAnalysisClient(endpoint, new AzureKeyCredential(key));
const results = await client.analyze("SentimentAnalysis", documents, {
includeOpinionMining: true,
});
for (let i = 0; i < results.length; i++) {
const result = results[i];
console.log(`- Document ${result.id}`);
if (!result.error) {
console.log(`\tDocument text: ${documents[i].text}`);
console.log(`\tOverall Sentiment: ${result.sentiment}`);
console.log("\tSentiment confidence scores:", result.confidenceScores);
console.log("\tSentences");
for (const { sentiment, confidenceScores, opinions } of result.sentences) {
console.log(`\t- Sentence sentiment: ${sentiment}`);
console.log("\t Confidence scores:", confidenceScores);
console.log("\t Mined opinions");
for (const { target, assessments } of opinions) {
console.log(`\t\t- Target text: ${target.text}`);
console.log(`\t\t Target sentiment: ${target.sentiment}`);
console.log("\t\t Target confidence scores:", target.confidenceScores);
console.log("\t\t Target assessments");
for (const { text, sentiment } of assessments) {
console.log(`\t\t\t- Text: ${text}`);
console.log(`\t\t\t Sentiment: ${sentiment}`);
}
}
}
} else {
console.error(`\tError: ${result.error}`);
}
}
}
main().catch((err) => {
console.error("The sample encountered an error:", err);
});
Saída
=== Sentiment analysis and opinion mining sample ===
- Document 0
Document text: The food and service were unacceptable. The concierge was nice, however.
Overall Sentiment: mixed
Sentiment confidence scores: { positive: 0.49, neutral: 0, negative: 0.5 }
Sentences
- Sentence sentiment: negative
Confidence scores: { positive: 0, neutral: 0, negative: 1 }
Mined opinions
- Target text: food
Target sentiment: negative
Target confidence scores: { positive: 0.01, negative: 0.99 }
Target assessments
- Text: unacceptable
Sentiment: negative
- Target text: service
Target sentiment: negative
Target confidence scores: { positive: 0.01, negative: 0.99 }
Target assessments
- Text: unacceptable
Sentiment: negative
- Sentence sentiment: positive
Confidence scores: { positive: 0.98, neutral: 0.01, negative: 0.01 }
Mined opinions
- Target text: concierge
Target sentiment: positive
Target confidence scores: { positive: 1, negative: 0 }
Target assessments
- Text: nice
Sentiment: positive
Limpar os recursos
Para limpar e remover um recurso de IA do Azure, você pode excluir o recurso individual ou todo o grupo de recursos. Se você excluir o grupo de recursos, todos os recursos contidos também serão excluídos.
Use os comandos a seguir para excluir as variáveis de ambiente que você criou para esse início rápido.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f
Próximas etapas
Documentação de referência | Amostras adicionais | Pacote (PyPi) | Código-fonte da biblioteca
Use este início rápido para criar um aplicativo de análise de sentimentos com a biblioteca de clientes para Python. No exemplo a seguir, você criará um aplicativo Python que pode identificar os sentimentos expressos em uma amostra de texto e executar uma análise de sentimento baseada em aspecto.
Pré-requisitos
- Assinatura do Azure – Criar uma gratuitamente
- Python 3.7 ou versões posteriores
Configurando
Criar um recurso do Azure
Para usar o exemplo de código abaixo, você precisa implantar um recurso do Azure. Esse recurso conterá uma chave e um ponto de extremidade usados para autenticar as chamadas à API que você envia para o Azure Language.
Use o link a seguir para criar um recurso de linguagem usando o portal do Azure. Você precisa entrar usando sua assinatura do Azure.
Na tela Selecionar recursos adicionais que aparece, selecione Continuar a criar seu recurso.
Na tela Criar linguagem, forneça as seguintes informações:
Detalhes Descrição Subscrição A conta de assinatura à qual seu recurso será associado. Selecione a assinatura do Azure no menu suspenso. Grupo de recursos Um grupo de recursos é um contêiner que armazena os recursos criados por você. Selecione Criar novo para criar um novo grupo de recursos. Região O local do recurso de linguagem. Diferentes regiões podem apresentar latência, dependendo do seu local físico, mas não impactam sobre a disponibilidade de runtime do seu recurso. Neste início rápido, selecione uma região disponível perto de você ou escolha Leste dos EUA. Nome O nome para o recurso de linguagem. Esse nome também será usado para criar uma URL de ponto de extremidade que seus aplicativos usarão para enviar solicitações de API. Tipo de preço O tipo de preço do recurso de linguagem. É possível usar o nível Gratuito F0 para experimentar o serviço e atualizar mais tarde para um nível pago para produção. Verifique se a caixa de seleção Aviso de IA Responsável está marcada.
Selecione Examinar + Criar na parte inferior da página.
Na tela exibida, verifique se a validação foi aprovada e se você inseriu suas informações corretamente. Em seguida, selecione Criar.
Obter chave e ponto de extremidade
Em seguida, você precisará da chave e do ponto de extremidade do recurso para conectar seu aplicativo à API. Você vai colar a chave e o ponto de extremidade no código mais adiante no guia de início rápido.
Depois que o recurso de Linguagem do Azure for implantado com êxito, clique no botão Ir para Recurso nas Próximas Etapas.
Na tela do seu recurso, selecione Chaves e ponto de extremidade no painel esquerdo. Você usará uma das chaves e o ponto de extremidade nas etapas abaixo.
Criar variáveis de ambiente
Seu aplicativo deve ser autenticado para enviar solicitações de API. Para produção, use uma maneira segura de armazenar e acessar suas credenciais. Neste exemplo, você gravará suas credenciais em variáveis de ambiente no computador local que está executando o aplicativo.
Para definir a variável de ambiente da chave de recurso de linguagem, abra uma janela do console e siga as instruções para o seu sistema operacional e ambiente de desenvolvimento.
- Para definir a variável de ambiente
LANGUAGE_KEY, substituayour-keypor uma das chaves do recurso. - Para definir a variável de ambiente
LANGUAGE_ENDPOINT, substituayour-endpointpelo ponto de extremidade do recurso.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure a fim de evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.
Use as chaves de API com cautela. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Azure Key Vault, faça a rotação de chaves regularmente e restrinja o acesso ao Azure Key Vault usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, confira Chaves de API com o Azure Key Vault.
Para obter mais informações sobre segurança dos serviços de IA, confira Autenticar solicitações para os serviços de IA do Azure.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Observação
Se for necessário acessar somente as variáveis de ambiente no console em execução no momento, você pode definir a variável de ambiente com set em vez de setx.
Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas em execução que precisarão ler as variáveis de ambiente, incluindo a janela do console. Por exemplo, se estiver usando o Visual Studio como seu editor, reinicie-o antes de executar o exemplo.
Instalar a biblioteca de clientes
Depois de instalar o Python, você pode instalar a biblioteca de clientes com:
pip install azure-ai-textanalytics==5.2.0
Exemplo de código
Crie um novo arquivo Python e copie o código abaixo. Então, execute o código
# This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
language_key = os.environ.get('LANGUAGE_KEY')
language_endpoint = os.environ.get('LANGUAGE_ENDPOINT')
from azure.ai.textanalytics import TextAnalyticsClient
from azure.core.credentials import AzureKeyCredential
# Authenticate the client using your key and endpoint
def authenticate_client():
ta_credential = AzureKeyCredential(language_key)
text_analytics_client = TextAnalyticsClient(
endpoint=language_endpoint,
credential=ta_credential)
return text_analytics_client
client = authenticate_client()
# Example method for detecting sentiment and opinions in text
def sentiment_analysis_with_opinion_mining_example(client):
documents = [
"The food and service were unacceptable. The concierge was nice, however."
]
result = client.analyze_sentiment(documents, show_opinion_mining=True)
doc_result = [doc for doc in result if not doc.is_error]
positive_reviews = [doc for doc in doc_result if doc.sentiment == "positive"]
negative_reviews = [doc for doc in doc_result if doc.sentiment == "negative"]
positive_mined_opinions = []
mixed_mined_opinions = []
negative_mined_opinions = []
for document in doc_result:
print("Document Sentiment: {}".format(document.sentiment))
print("Overall scores: positive={0:.2f}; neutral={1:.2f}; negative={2:.2f} \n".format(
document.confidence_scores.positive,
document.confidence_scores.neutral,
document.confidence_scores.negative,
))
for sentence in document.sentences:
print("Sentence: {}".format(sentence.text))
print("Sentence sentiment: {}".format(sentence.sentiment))
print("Sentence score:\nPositive={0:.2f}\nNeutral={1:.2f}\nNegative={2:.2f}\n".format(
sentence.confidence_scores.positive,
sentence.confidence_scores.neutral,
sentence.confidence_scores.negative,
))
for mined_opinion in sentence.mined_opinions:
target = mined_opinion.target
print("......'{}' target '{}'".format(target.sentiment, target.text))
print("......Target score:\n......Positive={0:.2f}\n......Negative={1:.2f}\n".format(
target.confidence_scores.positive,
target.confidence_scores.negative,
))
for assessment in mined_opinion.assessments:
print("......'{}' assessment '{}'".format(assessment.sentiment, assessment.text))
print("......Assessment score:\n......Positive={0:.2f}\n......Negative={1:.2f}\n".format(
assessment.confidence_scores.positive,
assessment.confidence_scores.negative,
))
print("\n")
print("\n")
sentiment_analysis_with_opinion_mining_example(client)
Saída
Document Sentiment: mixed
Overall scores: positive=0.47; neutral=0.00; negative=0.52
Sentence: The food and service were unacceptable.
Sentence sentiment: negative
Sentence score:
Positive=0.00
Neutral=0.00
Negative=0.99
......'negative' target 'food'
......Target score:
......Positive=0.00
......Negative=1.00
......'negative' assessment 'unacceptable'
......Assessment score:
......Positive=0.00
......Negative=1.00
......'negative' target 'service'
......Target score:
......Positive=0.00
......Negative=1.00
......'negative' assessment 'unacceptable'
......Assessment score:
......Positive=0.00
......Negative=1.00
Sentence: The concierge was nice, however.
Sentence sentiment: positive
Sentence score:
Positive=0.94
Neutral=0.01
Negative=0.05
......'positive' target 'concierge'
......Target score:
......Positive=1.00
......Negative=0.00
......'positive' assessment 'nice'
......Assessment score:
......Positive=1.00
......Negative=0.00
Limpar os recursos
Para limpar e remover um recurso de IA do Azure, você pode excluir o recurso individual ou todo o grupo de recursos. Se você excluir o grupo de recursos, todos os recursos contidos também serão excluídos.
Use os comandos a seguir para excluir as variáveis de ambiente que você criou para esse início rápido.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f
Próximas etapas
Use este início rápido para enviar solicitações de análise de sentimento usando a API REST. No exemplo a seguir, você usa cURL para identificar os sentimentos expressos em um exemplo de texto e executar uma análise de sentimento baseada em aspecto.
Pré-requisitos
- Assinatura do Azure – Criar uma gratuitamente
Configurando
Criar um recurso do Azure
Para usar o exemplo de código abaixo, você precisa implantar um recurso do Azure. Esse recurso conterá uma chave e um ponto de extremidade usados para autenticar as chamadas à API que você envia para o Azure Language.
Use o link a seguir para criar um recurso de linguagem usando o portal do Azure. Você precisa entrar usando sua assinatura do Azure.
Na tela Selecionar recursos adicionais que aparece, selecione Continuar a criar seu recurso.
Na tela Criar linguagem, forneça as seguintes informações:
Detalhes Descrição Subscrição A conta de assinatura à qual seu recurso será associado. Selecione a assinatura do Azure no menu suspenso. Grupo de recursos Um grupo de recursos é um contêiner que armazena os recursos criados por você. Selecione Criar novo para criar um novo grupo de recursos. Região O local do recurso de linguagem. Diferentes regiões podem apresentar latência, dependendo do seu local físico, mas não impactam sobre a disponibilidade de runtime do seu recurso. Neste início rápido, selecione uma região disponível perto de você ou escolha Leste dos EUA. Nome O nome para o recurso de linguagem. Esse nome também será usado para criar uma URL de ponto de extremidade que seus aplicativos usarão para enviar solicitações de API. Tipo de preço O tipo de preço do recurso de linguagem. É possível usar o nível Gratuito F0 para experimentar o serviço e atualizar mais tarde para um nível pago para produção. Verifique se a caixa de seleção Aviso de IA Responsável está marcada.
Selecione Examinar + Criar na parte inferior da página.
Na tela exibida, verifique se a validação foi aprovada e se você inseriu suas informações corretamente. Em seguida, selecione Criar.
Obter chave e ponto de extremidade
Em seguida, você precisará da chave e do ponto de extremidade do recurso para conectar seu aplicativo à API. Você vai colar a chave e o ponto de extremidade no código mais adiante no guia de início rápido.
Depois que o recurso de Linguagem do Azure for implantado com êxito, clique no botão Ir para Recurso nas Próximas Etapas.
Na tela do seu recurso, selecione Chaves e ponto de extremidade no painel esquerdo. Você usará uma das chaves e o ponto de extremidade nas etapas abaixo.
Criar variáveis de ambiente
Seu aplicativo deve ser autenticado para enviar solicitações de API. Para produção, use uma maneira segura de armazenar e acessar suas credenciais. Neste exemplo, você gravará suas credenciais em variáveis de ambiente no computador local que está executando o aplicativo.
Para definir a variável de ambiente da chave de recurso de linguagem, abra uma janela do console e siga as instruções para o seu sistema operacional e ambiente de desenvolvimento.
- Para definir a variável de ambiente
LANGUAGE_KEY, substituayour-keypor uma das chaves do recurso. - Para definir a variável de ambiente
LANGUAGE_ENDPOINT, substituayour-endpointpelo ponto de extremidade do recurso.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure a fim de evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.
Use as chaves de API com cautela. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Azure Key Vault, faça a rotação de chaves regularmente e restrinja o acesso ao Azure Key Vault usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, confira Chaves de API com o Azure Key Vault.
Para obter mais informações sobre segurança dos serviços de IA, confira Autenticar solicitações para os serviços de IA do Azure.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Observação
Se for necessário acessar somente as variáveis de ambiente no console em execução no momento, você pode definir a variável de ambiente com set em vez de setx.
Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas em execução que precisarão ler as variáveis de ambiente, incluindo a janela do console. Por exemplo, se estiver usando o Visual Studio como seu editor, reinicie-o antes de executar o exemplo.
Criar um arquivo JSON com o corpo da solicitação de exemplo
Em um editor de código, crie um arquivo chamado test_sentiment_payload.json e copie o exemplo JSON a seguir. Esta solicitação de exemplo será enviada para a API na próxima etapa.
{
"kind": "SentimentAnalysis",
"parameters": {
"modelVersion": "latest",
"opinionMining": "True"
},
"analysisInput":{
"documents":[
{
"id":"1",
"language":"en",
"text": "The food and service were unacceptable. The concierge was nice, however."
}
]
}
}
Salve test_sentiment_payload.json em algum lugar no seu computador. Por exemplo, sua área de trabalho.
Enviar uma análise de sentimento e uma solicitação de API de mineração de opiniões
Observação
O exemplo abaixo inclui uma solicitação para o recurso de mineração de opiniões da análise de sentimento, que fornece informações granulares sobre as avaliações (adjetivos) relacionadas aos destinos (substantivos) no texto.
Use os comandos a seguir para enviar a solicitação de API usando o programa que você está usando. Copie o comando para o terminal e execute-o.
| parâmetro | Descrição |
|---|---|
-X POST <endpoint> |
Especifica o ponto de extremidade para acessar a API. |
-H Content-Type: application/json |
Tipo de conteúdo para enviar dados JSON. |
-H "Ocp-Apim-Subscription-Key:<key> |
Especifica a chave para acessar a API. |
-d <documents> |
O arquivo JSON contendo os documentos que você deseja enviar. |
Substitua C:\Users\<myaccount>\Desktop\test_sentiment_payload.json pela localização do arquivo da solicitação JSON de exemplo criado na etapa anterior.
Prompt de comando
curl -X POST "%LANGUAGE_ENDPOINT%/language/:analyze-text?api-version=2023-04-15-preview" ^
-H "Content-Type: application/json" ^
-H "Ocp-Apim-Subscription-Key: %LANGUAGE_KEY%" ^
-d "@C:\Users\<myaccount>\Desktop\test_sentiment_payload.json"
PowerShell
curl.exe -X POST $env:LANGUAGE_ENDPOINT/language/:analyze-text?api-version=2023-04-15-preview `
-H "Content-Type: application/json" `
-H "Ocp-Apim-Subscription-Key: $env:LANGUAGE_KEY" `
-d "@C:\Users\<myaccount>\Desktop\test_sentiment_payload.json"
Resposta JSON
{
"kind": "SentimentAnalysisResults",
"results": {
"documents": [{
"id": "1",
"sentiment": "mixed",
"confidenceScores": {
"positive": 0.47,
"neutral": 0.0,
"negative": 0.52
},
"sentences": [{
"sentiment": "negative",
"confidenceScores": {
"positive": 0.0,
"neutral": 0.0,
"negative": 0.99
},
"offset": 0,
"length": 40,
"text": "The food and service were unacceptable. ",
"targets": [{
"sentiment": "negative",
"confidenceScores": {
"positive": 0.0,
"negative": 1.0
},
"offset": 4,
"length": 4,
"text": "food",
"relations": [{
"relationType": "assessment",
"ref": "#/documents/0/sentences/0/assessments/0"
}]
}, {
"sentiment": "negative",
"confidenceScores": {
"positive": 0.0,
"negative": 1.0
},
"offset": 13,
"length": 7,
"text": "service",
"relations": [{
"relationType": "assessment",
"ref": "#/documents/0/sentences/0/assessments/0"
}]
}],
"assessments": [{
"sentiment": "negative",
"confidenceScores": {
"positive": 0.0,
"negative": 1.0
},
"offset": 26,
"length": 12,
"text": "unacceptable",
"isNegated": false
}]
}, {
"sentiment": "positive",
"confidenceScores": {
"positive": 0.94,
"neutral": 0.01,
"negative": 0.05
},
"offset": 40,
"length": 32,
"text": "The concierge was nice, however.",
"targets": [{
"sentiment": "positive",
"confidenceScores": {
"positive": 1.0,
"negative": 0.0
},
"offset": 44,
"length": 9,
"text": "concierge",
"relations": [{
"relationType": "assessment",
"ref": "#/documents/0/sentences/1/assessments/0"
}]
}],
"assessments": [{
"sentiment": "positive",
"confidenceScores": {
"positive": 1.0,
"negative": 0.0
},
"offset": 58,
"length": 4,
"text": "nice",
"isNegated": false
}]
}],
"warnings": []
}],
"errors": [],
"modelVersion": "2022-06-01"
}
}
Limpar os recursos
Para limpar e remover um recurso de IA do Azure, você pode excluir o recurso individual ou todo o grupo de recursos. Se você excluir o grupo de recursos, todos os recursos contidos também serão excluídos.
Use os comandos a seguir para excluir as variáveis de ambiente que você criou para esse início rápido.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f
Próximas etapas
Pré-requisitos
Navegue até o Foundry Playground
Usando o painel lateral esquerdo, selecione Playgrounds. Em seguida, selecione o botão Experimentar o Azure Language Playground .
Usar a Análise de Sentimento no Foundry Playground
O Playground de Linguagem consiste em quatro seções:
- Faixa superior: você pode selecionar qualquer um dos idiomas disponíveis no momento aqui.
- Painel direito: esse painel é onde você pode encontrar as opções de Configuração para o serviço, como a API e a versão do modelo, juntamente com recursos específicos para o serviço.
- Painel central: é onde você insere seu texto para processamento. Depois que a operação é executada, alguns resultados são mostrados aqui.
- Painel direito: esse painel é onde os Detalhes da operação de execução são mostrados.
Aqui você pode selecionar a funcionalidade de Análise de Sentimento escolhendo o bloco de faixa superior, Analisar sentimento.
Usar a análise de sentimento
O recurso Analisar Sentimento foi projetado para identificar o sentimento positivo, negativo e neutro no texto.
Na Configuração, há as seguintes opções:
| Opção | Descrição |
|---|---|
| Selecionar a versão da API | Selecionar qual versão da API usar. |
| Selecionar a versão do modelo. | Selecionar qual versão do modelo usar. |
| Selecionar o idioma do texto | Selecionar o idioma do texto de entrada. |
| Habilitar a mineração de opiniões | Habilita ou desabilita a habilidade de mineração de opiniões. |
Após a conclusão da operação, no painel central, cada frase será numerada e as opiniões serão rotuladas se Habilitar mineração de opinião tiver sido verificada e a seção Detalhes contiver os seguintes campos para o sentimento geral e o sentimento de cada frase:
| Campo | Descrição |
|---|---|
| Número da frase | O número da frase na ordem em que foi digitada. Este campo não está presente para o Sentimento geral. |
| Sentimento | O sentimento geral detectado para o segmento de texto. |
| Pontuações | A quantidade de sentimento positivo, neutro e negativo detectado no segmento de texto. |
Os campos a seguir só estarão presentes se a mineração de opinião estiver habilitada:
| Campo | Descrição |
|---|---|
| Destino | O destino da opinião detectada. |
| Avaliações | A opinião detectada e a persuasão detectada (positiva, neutra, negativa), bem como o percentual de persuasão detectada. |