Guia de início rápido: análise de sentimento e mineração de opinião
Documentação | de referência Mais exemplos | Pacote (NuGet) | Código fonte da biblioteca
Use este início rápido para criar um aplicativo de análise de sentimento com a biblioteca de cliente para .NET. No exemplo a seguir, você cria um aplicativo C# que pode identificar o(s) sentimento(s) expresso(s) em uma amostra de texto e executar uma análise de sentimento baseada em aspetos.
Pré-requisitos
- Subscrição do Azure - Criar uma gratuitamente
- O IDE do Visual Studio
Configuração
Criar um recurso do Azure
Para usar o exemplo de código abaixo, você precisará implantar um recurso do Azure. Este recurso conterá uma chave e um ponto de extremidade que você usará para autenticar as chamadas de API enviadas ao serviço de idiomas.
Use o link a seguir para criar um recurso de idioma usando o portal do Azure. Você precisará entrar usando sua assinatura do Azure.
Na tela Selecionar recursos adicionais exibida, selecione Continuar para criar seu recurso.
Na tela Criar idioma, forneça as seguintes informações:
Detalhe Description Subscrição A conta de subscrição à qual o seu recurso será associado. Selecione sua assinatura do Azure no menu suspenso. Grupo de recursos Um grupo de recursos é um contêiner que armazena os recursos criados. Selecione Criar novo para criar um novo grupo de recursos. País/Região A localização do seu recurso de idioma. Regiões diferentes podem introduzir latência dependendo da sua localização física, mas não têm impacto na disponibilidade de tempo de execução do seu recurso. Para este início rápido, selecione uma região disponível perto de você ou escolha Leste dos EUA. Nome O nome do recurso Idioma. 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. Escalão de preço A camada de preço para seu recurso de idioma. Você pode usar a camada F0 gratuita para experimentar o serviço e atualizar mais tarde para uma camada paga para produção. Verifique se a caixa de seleção Aviso de IA Responsável está marcada.
Selecione Rever + Criar na parte inferior da página.
No ecrã apresentado, certifique-se de que a validação foi aprovada e de que introduziu as suas informações corretamente. Depois, selecione Criar.
Obtenha a sua chave e o seu ponto final
Em seguida, você precisará da chave e do ponto de extremidade do recurso para conectar seu aplicativo à API. Você colará sua chave e ponto de extremidade no código mais tarde no início rápido.
Depois que o recurso de idioma for implantado com êxito, clique no botão Ir para recurso em Próximas etapas.
Na tela do seu recurso, selecione Chaves e ponto de extremidade no menu de navegação à esquerda. Você usará uma de suas chaves e seu endpoint 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 na máquina local que executa o aplicativo.
Para definir a variável de ambiente para sua chave de recurso de idioma, abra uma janela de console e siga as instruções para seu sistema operacional e ambiente de desenvolvimento.
- Para definir a
LANGUAGE_KEY
variável de ambiente, substituayour-key
por uma das chaves do seu recurso. - Para definir a variável de
LANGUAGE_ENDPOINT
ambiente, substituayour-endpoint
pelo ponto de extremidade do seu recurso.
Importante
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações para serviços de IA do Azure.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Nota
Se você só precisar acessar as variáveis de ambiente no console em execução atual, poderá 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 você estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.
Criar uma nova aplicação .NET Core
Com o IDE do Visual Studio, crie uma nova aplicação de consola .NET Core. Isso cria um projeto "Hello World" com um único arquivo de origem C#: program.cs.
Instale a biblioteca de cliente, clicando com o botão direito do rato na solução no Explorador de Soluções e selecionando Gerir Pacotes NuGet. No gerenciador de pacotes que é aberto, selecione Procurar e procure Azure.AI.TextAnalytics
. Selecione a versão 5.2.0
e, em seguida, Instalar. Também pode utilizar a Consola do Gestor de Pacotes.
Exemplo de código
Copie o código a seguir para o 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
Clean up resources (Limpar recursos)
Se quiser limpar e remover uma assinatura de serviços do Azure AI, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.
Use os comandos a seguir para excluir as variáveis de ambiente criadas para este início rápido.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f
Próximos passos
Documentação | de referência Exemplos | adicionais Pacote (Maven) | Código fonte da biblioteca
Use este início rápido para criar um aplicativo de análise de sentimento com a biblioteca de cliente para Java. No exemplo a seguir, você criará um aplicativo Java que pode identificar o(s) sentimento(s) expresso(s) em uma amostra de texto e executar uma análise de sentimento baseada em aspetos.
Pré-requisitos
- Subscrição do Azure - Criar uma gratuitamente
- Java Development Kit (JDK) com a versão 8 ou superior
Configuração
Criar um recurso do Azure
Para usar o exemplo de código abaixo, você precisará implantar um recurso do Azure. Este recurso conterá uma chave e um ponto de extremidade que você usará para autenticar as chamadas de API enviadas ao serviço de idiomas.
Use o link a seguir para criar um recurso de idioma usando o portal do Azure. Você precisará entrar usando sua assinatura do Azure.
Na tela Selecionar recursos adicionais exibida, selecione Continuar para criar seu recurso.
Na tela Criar idioma, forneça as seguintes informações:
Detalhe Description Subscrição A conta de subscrição à qual o seu recurso será associado. Selecione sua assinatura do Azure no menu suspenso. Grupo de recursos Um grupo de recursos é um contêiner que armazena os recursos criados. Selecione Criar novo para criar um novo grupo de recursos. País/Região A localização do seu recurso de idioma. Regiões diferentes podem introduzir latência dependendo da sua localização física, mas não têm impacto na disponibilidade de tempo de execução do seu recurso. Para este início rápido, selecione uma região disponível perto de você ou escolha Leste dos EUA. Nome O nome do recurso Idioma. 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. Escalão de preço A camada de preço para seu recurso de idioma. Você pode usar a camada F0 gratuita para experimentar o serviço e atualizar mais tarde para uma camada paga para produção. Verifique se a caixa de seleção Aviso de IA Responsável está marcada.
Selecione Rever + Criar na parte inferior da página.
No ecrã apresentado, certifique-se de que a validação foi aprovada e de que introduziu as suas informações corretamente. Depois, selecione Criar.
Obtenha a sua chave e o seu ponto final
Em seguida, você precisará da chave e do ponto de extremidade do recurso para conectar seu aplicativo à API. Você colará sua chave e ponto de extremidade no código mais tarde no início rápido.
Depois que o recurso de idioma for implantado com êxito, clique no botão Ir para recurso em Próximas etapas.
Na tela do seu recurso, selecione Chaves e ponto de extremidade no menu de navegação à esquerda. Você usará uma de suas chaves e seu endpoint 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 na máquina local que executa o aplicativo.
Para definir a variável de ambiente para sua chave de recurso de idioma, abra uma janela de console e siga as instruções para seu sistema operacional e ambiente de desenvolvimento.
- Para definir a
LANGUAGE_KEY
variável de ambiente, substituayour-key
por uma das chaves do seu recurso. - Para definir a variável de
LANGUAGE_ENDPOINT
ambiente, substituayour-endpoint
pelo ponto de extremidade do seu recurso.
Importante
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações para serviços de IA do Azure.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Nota
Se você só precisar acessar as variáveis de ambiente no console em execução atual, poderá 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 você estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.
Adicionar a biblioteca de cliente
Crie um projeto do Maven no IDE ou ambiente de desenvolvimento da sua preferência. Em seguida, adicione a seguinte dependência ao ficheiro pom.xml do projeto. Pode encontrar a sintaxe de implementação para outras ferramentas de criação 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 ficheiro Java com o nome Example.java
. Abra o arquivo e copie o código abaixo. Em seguida, 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.
Clean up resources (Limpar recursos)
Se quiser limpar e remover uma assinatura de serviços do Azure AI, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.
Use os comandos a seguir para excluir as variáveis de ambiente criadas para este início rápido.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f
Próximos passos
Documentação | de referência Exemplos | adicionais Pacote (npm) | Código fonte da biblioteca
Use este início rápido para criar um aplicativo de análise de sentimento com a biblioteca de cliente para Node.js. No exemplo a seguir, você criará um aplicativo JavaScript que pode identificar o(s) sentimento(s) expresso(s) em uma amostra de texto e executar uma análise de sentimento baseada em aspetos.
Pré-requisitos
- Subscrição do Azure - Criar uma gratuitamente
- Node.js v14 LTS ou posterior
Configuração
Criar um recurso do Azure
Para usar o exemplo de código abaixo, você precisará implantar um recurso do Azure. Este recurso conterá uma chave e um ponto de extremidade que você usará para autenticar as chamadas de API enviadas ao serviço de idiomas.
Use o link a seguir para criar um recurso de idioma usando o portal do Azure. Você precisará entrar usando sua assinatura do Azure.
Na tela Selecionar recursos adicionais exibida, selecione Continuar para criar seu recurso.
Na tela Criar idioma, forneça as seguintes informações:
Detalhe Description Subscrição A conta de subscrição à qual o seu recurso será associado. Selecione sua assinatura do Azure no menu suspenso. Grupo de recursos Um grupo de recursos é um contêiner que armazena os recursos criados. Selecione Criar novo para criar um novo grupo de recursos. País/Região A localização do seu recurso de idioma. Regiões diferentes podem introduzir latência dependendo da sua localização física, mas não têm impacto na disponibilidade de tempo de execução do seu recurso. Para este início rápido, selecione uma região disponível perto de você ou escolha Leste dos EUA. Nome O nome do recurso Idioma. 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. Escalão de preço A camada de preço para seu recurso de idioma. Você pode usar a camada F0 gratuita para experimentar o serviço e atualizar mais tarde para uma camada paga para produção. Verifique se a caixa de seleção Aviso de IA Responsável está marcada.
Selecione Rever + Criar na parte inferior da página.
No ecrã apresentado, certifique-se de que a validação foi aprovada e de que introduziu as suas informações corretamente. Depois, selecione Criar.
Obtenha a sua chave e o seu ponto final
Em seguida, você precisará da chave e do ponto de extremidade do recurso para conectar seu aplicativo à API. Você colará sua chave e ponto de extremidade no código mais tarde no início rápido.
Depois que o recurso de idioma for implantado com êxito, clique no botão Ir para recurso em Próximas etapas.
Na tela do seu recurso, selecione Chaves e ponto de extremidade no menu de navegação à esquerda. Você usará uma de suas chaves e seu endpoint 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 na máquina local que executa o aplicativo.
Para definir a variável de ambiente para sua chave de recurso de idioma, abra uma janela de console e siga as instruções para seu sistema operacional e ambiente de desenvolvimento.
- Para definir a
LANGUAGE_KEY
variável de ambiente, substituayour-key
por uma das chaves do seu recurso. - Para definir a variável de
LANGUAGE_ENDPOINT
ambiente, substituayour-endpoint
pelo ponto de extremidade do seu recurso.
Importante
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações para serviços de IA do Azure.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Nota
Se você só precisar acessar as variáveis de ambiente no console em execução atual, poderá 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 você estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.
Criar uma nova aplicação Node.js
Numa janela de consola (como cmd, PowerShell ou Bash), crie um novo diretório para a sua aplicação e navegue para a mesma.
mkdir myapp
cd myapp
Execute o comando npm init
para criar uma aplicação de nó com um ficheiro package.json
.
npm init
Instalar a biblioteca de cliente
Instale os pacotes npm:
npm install @azure/ai-language-text
Exemplo de código
Abra o arquivo e copie o código abaixo. Em seguida, 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
Clean up resources (Limpar recursos)
Se quiser limpar e remover uma assinatura de serviços do Azure AI, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.
Use os comandos a seguir para excluir as variáveis de ambiente criadas para este início rápido.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f
Próximos passos
Documentação | de referência Exemplos | adicionais Pacote (PyPi) | Código fonte da biblioteca
Use este início rápido para criar um aplicativo de análise de sentimento com a biblioteca de cliente para Python. No exemplo a seguir, você criará um aplicativo Python que pode identificar o(s) sentimento(s) expresso(s) em uma amostra de texto e executar a análise de sentimento baseada em aspetos.
Pré-requisitos
- Subscrição do Azure - Criar uma gratuitamente
- Python 3.7 ou posterior
Configuração
Criar um recurso do Azure
Para usar o exemplo de código abaixo, você precisará implantar um recurso do Azure. Este recurso conterá uma chave e um ponto de extremidade que você usará para autenticar as chamadas de API enviadas ao serviço de idiomas.
Use o link a seguir para criar um recurso de idioma usando o portal do Azure. Você precisará entrar usando sua assinatura do Azure.
Na tela Selecionar recursos adicionais exibida, selecione Continuar para criar seu recurso.
Na tela Criar idioma, forneça as seguintes informações:
Detalhe Description Subscrição A conta de subscrição à qual o seu recurso será associado. Selecione sua assinatura do Azure no menu suspenso. Grupo de recursos Um grupo de recursos é um contêiner que armazena os recursos criados. Selecione Criar novo para criar um novo grupo de recursos. País/Região A localização do seu recurso de idioma. Regiões diferentes podem introduzir latência dependendo da sua localização física, mas não têm impacto na disponibilidade de tempo de execução do seu recurso. Para este início rápido, selecione uma região disponível perto de você ou escolha Leste dos EUA. Nome O nome do recurso Idioma. 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. Escalão de preço A camada de preço para seu recurso de idioma. Você pode usar a camada F0 gratuita para experimentar o serviço e atualizar mais tarde para uma camada paga para produção. Verifique se a caixa de seleção Aviso de IA Responsável está marcada.
Selecione Rever + Criar na parte inferior da página.
No ecrã apresentado, certifique-se de que a validação foi aprovada e de que introduziu as suas informações corretamente. Depois, selecione Criar.
Obtenha a sua chave e o seu ponto final
Em seguida, você precisará da chave e do ponto de extremidade do recurso para conectar seu aplicativo à API. Você colará sua chave e ponto de extremidade no código mais tarde no início rápido.
Depois que o recurso de idioma for implantado com êxito, clique no botão Ir para recurso em Próximas etapas.
Na tela do seu recurso, selecione Chaves e ponto de extremidade no menu de navegação à esquerda. Você usará uma de suas chaves e seu endpoint 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 na máquina local que executa o aplicativo.
Para definir a variável de ambiente para sua chave de recurso de idioma, abra uma janela de console e siga as instruções para seu sistema operacional e ambiente de desenvolvimento.
- Para definir a
LANGUAGE_KEY
variável de ambiente, substituayour-key
por uma das chaves do seu recurso. - Para definir a variável de
LANGUAGE_ENDPOINT
ambiente, substituayour-endpoint
pelo ponto de extremidade do seu recurso.
Importante
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações para serviços de IA do Azure.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Nota
Se você só precisar acessar as variáveis de ambiente no console em execução atual, poderá 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 você estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.
Instalar a biblioteca de cliente
Depois de instalar o Python, pode instalar a biblioteca de cliente com:
pip install azure-ai-textanalytics==5.2.0
Exemplo de código
Crie um novo arquivo Python e copie o código abaixo. Em seguida, 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
Clean up resources (Limpar recursos)
Se quiser limpar e remover uma assinatura de serviços do Azure AI, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.
Use os comandos a seguir para excluir as variáveis de ambiente criadas para este início rápido.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f
Próximos passos
Use este guia de início rápido para enviar solicitações de análise de sentimento usando a API REST. No exemplo a seguir, você usará cURL para identificar o(s) sentimento(s) expresso(s) em uma amostra de texto e executar uma análise de sentimento baseada em aspetos.
Pré-requisitos
- Subscrição do Azure - Criar uma gratuitamente
Configuração
Criar um recurso do Azure
Para usar o exemplo de código abaixo, você precisará implantar um recurso do Azure. Este recurso conterá uma chave e um ponto de extremidade que você usará para autenticar as chamadas de API enviadas ao serviço de idiomas.
Use o link a seguir para criar um recurso de idioma usando o portal do Azure. Você precisará entrar usando sua assinatura do Azure.
Na tela Selecionar recursos adicionais exibida, selecione Continuar para criar seu recurso.
Na tela Criar idioma, forneça as seguintes informações:
Detalhe Description Subscrição A conta de subscrição à qual o seu recurso será associado. Selecione sua assinatura do Azure no menu suspenso. Grupo de recursos Um grupo de recursos é um contêiner que armazena os recursos criados. Selecione Criar novo para criar um novo grupo de recursos. País/Região A localização do seu recurso de idioma. Regiões diferentes podem introduzir latência dependendo da sua localização física, mas não têm impacto na disponibilidade de tempo de execução do seu recurso. Para este início rápido, selecione uma região disponível perto de você ou escolha Leste dos EUA. Nome O nome do recurso Idioma. 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. Escalão de preço A camada de preço para seu recurso de idioma. Você pode usar a camada F0 gratuita para experimentar o serviço e atualizar mais tarde para uma camada paga para produção. Verifique se a caixa de seleção Aviso de IA Responsável está marcada.
Selecione Rever + Criar na parte inferior da página.
No ecrã apresentado, certifique-se de que a validação foi aprovada e de que introduziu as suas informações corretamente. Depois, selecione Criar.
Obtenha a sua chave e o seu ponto final
Em seguida, você precisará da chave e do ponto de extremidade do recurso para conectar seu aplicativo à API. Você colará sua chave e ponto de extremidade no código mais tarde no início rápido.
Depois que o recurso de idioma for implantado com êxito, clique no botão Ir para recurso em Próximas etapas.
Na tela do seu recurso, selecione Chaves e ponto de extremidade no menu de navegação à esquerda. Você usará uma de suas chaves e seu endpoint 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 na máquina local que executa o aplicativo.
Para definir a variável de ambiente para sua chave de recurso de idioma, abra uma janela de console e siga as instruções para seu sistema operacional e ambiente de desenvolvimento.
- Para definir a
LANGUAGE_KEY
variável de ambiente, substituayour-key
por uma das chaves do seu recurso. - Para definir a variável de
LANGUAGE_ENDPOINT
ambiente, substituayour-endpoint
pelo ponto de extremidade do seu recurso.
Importante
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações para serviços de IA do Azure.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Nota
Se você só precisar acessar as variáveis de ambiente no console em execução atual, poderá 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 você estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.
Criar um arquivo JSON com o corpo da solicitação de exemplo
Em um editor de códigos, crie um novo 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."
}
]
}
}
Guarde test_sentiment_payload.json
algures no seu computador. Por exemplo, o seu ambiente de trabalho.
Enviar uma solicitação de API de mineração de opinião e análise de sentimento
Nota
Os exemplos abaixo incluem uma solicitação para o recurso de mineração de opinião da análise de sentimento, que fornece informações granulares sobre avaliações (adjetivos) relacionadas a alvos (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 | Description |
---|---|
-X POST <endpoint> |
Especifica seu ponto de extremidade para acessar a API. |
-H Content-Type: application/json |
O 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 que contém os documentos que você deseja enviar. |
Substitua C:\Users\<myaccount>\Desktop\test_sentiment_payload.json
pelo local do arquivo de solicitação JSON de exemplo criado na etapa anterior.
Linha de comandos
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"
}
}
Clean up resources (Limpar recursos)
Se quiser limpar e remover uma assinatura de serviços do Azure AI, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.
Use os comandos a seguir para excluir as variáveis de ambiente criadas para este início rápido.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f