Avvio rapido: Analisi del sentiment e data mining di opinioni
Documentazione di | riferimentoEsempi aggiuntivi | Pacchetto (NuGet) | Codice sorgente della libreria
Usare questa guida introduttiva per creare un'applicazione di analisi del sentiment con la libreria client per .NET. Nell'esempio seguente si creerà un'applicazione C# che può identificare i sentimenti espressi in un esempio di testo ed eseguire un'analisi del sentiment basata su aspetti.
Prerequisiti
- Sottoscrizione di Azure: creare un account gratuito
- L'IDE di Visual Studio
Configurazione
Creare una risorsa di Azure
Per usare l'esempio di codice seguente, è necessario distribuire una risorsa di Azure. Questa risorsa conterrà una chiave e un endpoint che verrà usato per autenticare le chiamate API inviate al servizio lingua.
Usare il collegamento seguente per creare una risorsa della lingua usando il portale di Azure. Sarà necessario accedere usando la sottoscrizione di Azure.
Nella schermata Seleziona funzionalità aggiuntive visualizzate selezionareContinua per creare la risorsa.
Nella schermata Crea lingua specificare le informazioni seguenti:
Dettaglio Descrizione Subscription L'account della sottoscrizione a cui verrà associata la risorsa. Selezionare la sottoscrizione di Azure dal menu a discesa. Resource group Un gruppo di risorse è un contenitore che archivia le risorse create. Selezionare Crea nuovo per creare un nuovo gruppo di risorse. Region Posizione della risorsa Lingua. Diverse aree possono introdurre latenza a seconda della posizione fisica, ma non hanno alcun impatto sulla disponibilità di runtime della risorsa. Per questa guida introduttiva, selezionare un'area disponibile vicino all'utente o scegliere Stati Uniti orientali. Nome Nome della risorsa lingua. Questo nome verrà usato anche per creare un URL endpoint che le applicazioni useranno per inviare richieste API. Piano tariffario Piano tariffario per la risorsa lingua. È possibile usare il livello F0 gratuito per provare il servizio e eseguire l'aggiornamento in un secondo momento a un livello a pagamento per la produzione. Verificare che la casella di controllo Avviso di intelligenza artificiale responsabile sia selezionata.
Selezionare Rivedi e crea nella parte inferiore della pagina.
Nella schermata visualizzata verificare che la convalida sia passata e che siano state immesse correttamente le informazioni. Quindi selezionare Crea.
Ottenere la chiave e l'endpoint
Sarà quindi necessaria la chiave e l'endpoint dalla risorsa per connettere l'applicazione all'API. Incollare la chiave e l'endpoint nel codice più avanti nell'avvio rapido.
Dopo la distribuzione della risorsa lingua, fare clic sul pulsante Vai alla risorsa in Passaggi successivi.
Nella schermata della risorsa selezionare Chiavi ed endpoint nel menu di spostamento a sinistra. Si userà una delle chiavi e l'endpoint nei passaggi seguenti.
Creare variabili di ambiente
L'applicazione deve essere autenticata per inviare richieste API. Per la produzione, usare un modo sicuro per archiviare e accedere alle credenziali. In questo esempio verranno scritte le credenziali per le variabili di ambiente nel computer locale che esegue l'applicazione.
Suggerimento
Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione come Azure Key Vault, vedere l'articolo sulla sicurezza dei servizi di intelligenza artificiale di Azure.
Per impostare la variabile di ambiente per la chiave di risorsa lingua, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.
- Per impostare la
LANGUAGE_KEY
variabile di ambiente, sostituireyour-key
con una delle chiavi per la risorsa. - Per impostare la variabile di ambiente, sostituire
your-endpoint
con l'endpointLANGUAGE_ENDPOINT
per la risorsa.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Nota
Se è necessario accedere solo alle variabili di ambiente nella console in esecuzione corrente, è possibile impostare la variabile di setx
ambiente con set
anziché .
Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi in esecuzione che dovranno leggere le variabili di ambiente, inclusa la finestra della console. Se ad esempio si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.
Creare una nuova applicazione .NET Core
Usando l'IDE di Visual Studio, creare una nuova app console .NET Core. Verrà creato un progetto "Hello World" con un singolo file di origine C#, program.cs.
Installare la libreria client facendo clic con il pulsante destro del mouse sulla soluzione in Esplora soluzioni e scegliendo Gestisci pacchetti NuGet. Nella finestra di dialogo Gestione pacchetti visualizzata selezionare Sfoglia e cercare Azure.AI.TextAnalytics
. Selezionare la versione 5.2.0
, quindi Installa. È anche possibile usare la console di gestione pacchetti.
Esempio di codice
Copiare il codice seguente nel file program.cs ed eseguire il codice.
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();
}
}
}
Output
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
Pulire le risorse
Se si vuole pulire e rimuovere una sottoscrizione dei servizi di intelligenza artificiale di Azure, è possibile eliminare la risorsa o il gruppo di risorse. Eliminando il gruppo di risorse vengono eliminate anche tutte le altre risorse associate.
Usare i comandi seguenti per eliminare le variabili di ambiente create per questa guida introduttiva.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f
Passaggi successivi
Documentazione di | riferimentoEsempi aggiuntivi | Pacchetto (Maven) | Codice sorgente della libreria
Usare questa guida introduttiva per creare un'applicazione di analisi del sentiment con la libreria client per Java. Nell'esempio seguente si creerà un'applicazione Java che può identificare i sentimenti espressi in un esempio di testo ed eseguire un'analisi del sentiment basata su aspetti.
Prerequisiti
- Sottoscrizione di Azure: creare un account gratuito
- Java Development Kit (JDK) versione 8 o successiva
Configurazione
Creare una risorsa di Azure
Per usare l'esempio di codice seguente, è necessario distribuire una risorsa di Azure. Questa risorsa conterrà una chiave e un endpoint che verrà usato per autenticare le chiamate API inviate al servizio lingua.
Usare il collegamento seguente per creare una risorsa della lingua usando il portale di Azure. Sarà necessario accedere usando la sottoscrizione di Azure.
Nella schermata Seleziona funzionalità aggiuntive visualizzate selezionareContinua per creare la risorsa.
Nella schermata Crea lingua specificare le informazioni seguenti:
Dettaglio Descrizione Subscription L'account della sottoscrizione a cui verrà associata la risorsa. Selezionare la sottoscrizione di Azure dal menu a discesa. Resource group Un gruppo di risorse è un contenitore che archivia le risorse create. Selezionare Crea nuovo per creare un nuovo gruppo di risorse. Region Posizione della risorsa Lingua. Diverse aree possono introdurre latenza a seconda della posizione fisica, ma non hanno alcun impatto sulla disponibilità di runtime della risorsa. Per questa guida introduttiva, selezionare un'area disponibile vicino all'utente o scegliere Stati Uniti orientali. Nome Nome della risorsa lingua. Questo nome verrà usato anche per creare un URL endpoint che le applicazioni useranno per inviare richieste API. Piano tariffario Piano tariffario per la risorsa lingua. È possibile usare il livello F0 gratuito per provare il servizio e eseguire l'aggiornamento in un secondo momento a un livello a pagamento per la produzione. Verificare che la casella di controllo Avviso di intelligenza artificiale responsabile sia selezionata.
Selezionare Rivedi e crea nella parte inferiore della pagina.
Nella schermata visualizzata verificare che la convalida sia passata e che siano state immesse correttamente le informazioni. Quindi selezionare Crea.
Ottenere la chiave e l'endpoint
Sarà quindi necessaria la chiave e l'endpoint dalla risorsa per connettere l'applicazione all'API. Incollare la chiave e l'endpoint nel codice più avanti nell'avvio rapido.
Dopo la distribuzione della risorsa lingua, fare clic sul pulsante Vai alla risorsa in Passaggi successivi.
Nella schermata della risorsa selezionare Chiavi ed endpoint nel menu di spostamento a sinistra. Si userà una delle chiavi e l'endpoint nei passaggi seguenti.
Creare variabili di ambiente
L'applicazione deve essere autenticata per inviare richieste API. Per la produzione, usare un modo sicuro per archiviare e accedere alle credenziali. In questo esempio verranno scritte le credenziali per le variabili di ambiente nel computer locale che esegue l'applicazione.
Suggerimento
Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione come Azure Key Vault, vedere l'articolo sulla sicurezza dei servizi di intelligenza artificiale di Azure.
Per impostare la variabile di ambiente per la chiave di risorsa lingua, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.
- Per impostare la
LANGUAGE_KEY
variabile di ambiente, sostituireyour-key
con una delle chiavi per la risorsa. - Per impostare la variabile di ambiente, sostituire
your-endpoint
con l'endpointLANGUAGE_ENDPOINT
per la risorsa.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Nota
Se è necessario accedere solo alle variabili di ambiente nella console in esecuzione corrente, è possibile impostare la variabile di setx
ambiente con set
anziché .
Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi in esecuzione che dovranno leggere le variabili di ambiente, inclusa la finestra della console. Se ad esempio si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.
Aggiungere la libreria client
Creare un progetto Maven nell'ambiente IDE o di sviluppo preferito. Aggiungere quindi la dipendenza seguente al file pom.xml del progetto. È possibile trovare la sintassi di implementazione per altri strumenti di compilazione online.
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-textanalytics</artifactId>
<version>5.2.0</version>
</dependency>
</dependencies>
Esempio di codice
Creare un file Java denominato Example.java
. Aprire il file e copiare il codice seguente. A questo punto, eseguire il codice.
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());
}
});
});
}
}
Output
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.
Pulire le risorse
Se si vuole pulire e rimuovere una sottoscrizione dei servizi di intelligenza artificiale di Azure, è possibile eliminare la risorsa o il gruppo di risorse. Eliminando il gruppo di risorse vengono eliminate anche tutte le altre risorse associate.
Usare i comandi seguenti per eliminare le variabili di ambiente create per questa guida introduttiva.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f
Passaggi successivi
Documentazione | di riferimentoEsempi aggiuntivi | Pacchetto (npm) | Codice sorgente della libreria
Usare questa guida introduttiva per creare un'applicazione di analisi del sentiment con la libreria client per Node.js. Nell'esempio seguente si creerà un'applicazione JavaScript in grado di identificare i sentimenti espressi in un esempio di testo ed eseguire l'analisi del sentiment basata su aspetti.
Prerequisiti
- Sottoscrizione di Azure: creare un account gratuito
- Node.js v14 LTS o versione successiva
Configurazione
Creare una risorsa di Azure
Per usare l'esempio di codice seguente, è necessario distribuire una risorsa di Azure. Questa risorsa conterrà una chiave e un endpoint che verranno usati per autenticare le chiamate API inviate al servizio lingua.
Usare il collegamento seguente per creare una risorsa di lingua usando il portale di Azure. Sarà necessario accedere usando la sottoscrizione di Azure.
Nella schermata Seleziona funzionalità aggiuntive visualizzata selezionare Continua per creare la risorsa.
Nella schermata Crea lingua specificare le informazioni seguenti:
Dettaglio Descrizione Subscription L'account di sottoscrizione a cui verrà associata la risorsa. Selezionare la sottoscrizione di Azure dal menu a discesa. Resource group Un gruppo di risorse è un contenitore che archivia le risorse create. Selezionare Crea nuovo per creare un nuovo gruppo di risorse. Region Posizione della risorsa Lingua. Diverse aree possono introdurre latenza a seconda della posizione fisica, ma non hanno alcun impatto sulla disponibilità di runtime della risorsa. Per questa guida introduttiva, selezionare un'area disponibile in prossimità o scegliere Stati Uniti orientali. Nome Nome della risorsa Lingua. Questo nome verrà usato anche per creare un URL dell'endpoint che le applicazioni useranno per inviare richieste API. Piano tariffario Piano tariffario per la risorsa Lingua. È possibile usare il livello F0 gratuito per provare il servizio ed eseguire l'aggiornamento in un secondo momento a un livello a pagamento per la produzione. Assicurarsi che la casella di controllo Avviso di intelligenza artificiale responsabile sia selezionata.
Selezionare Rivedi e crea nella parte inferiore della pagina.
Nella schermata visualizzata verificare che la convalida sia stata superata e che siano state immesse correttamente le informazioni. Quindi selezionare Crea.
Ottenere la chiave e l'endpoint
Sarà quindi necessaria la chiave e l'endpoint dalla risorsa per connettere l'applicazione all'API. La chiave e l'endpoint verranno incollati nel codice più avanti nella guida introduttiva.
Dopo la distribuzione della risorsa Lingua, fare clic sul pulsante Vai alla risorsa in Passaggi successivi.
Nella schermata della risorsa selezionare Chiavi ed endpoint nel menu di spostamento a sinistra. Si userà una delle chiavi e l'endpoint nei passaggi seguenti.
Creare variabili di ambiente
L'applicazione deve essere autenticata per inviare richieste API. Per l'ambiente di produzione, usare un modo sicuro per archiviare e accedere alle credenziali. In questo esempio le credenziali verranno scritte nelle variabili di ambiente nel computer locale che esegue l'applicazione.
Suggerimento
Non includere la chiave direttamente nel codice e non pubblicarla mai pubblicamente. Vedere l'articolo sulla sicurezza dei servizi di intelligenza artificiale di Azure per altre opzioni di autenticazione, ad esempio Azure Key Vault.
Per impostare la variabile di ambiente per la chiave di risorsa Language, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.
- Per impostare la
LANGUAGE_KEY
variabile di ambiente, sostituireyour-key
con una delle chiavi per la risorsa. - Per impostare la
LANGUAGE_ENDPOINT
variabile di ambiente, sostituireyour-endpoint
con l'endpoint per la risorsa.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Nota
Se è sufficiente accedere alle variabili di ambiente nella console in esecuzione corrente, è possibile impostare la variabile di setx
ambiente con set
anziché .
Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi in esecuzione che dovranno leggere le variabili di ambiente, inclusa la finestra della console. Se ad esempio si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.
Creare una nuova applicazione Node.js
In una finestra della console, ad esempio cmd, PowerShell o Bash, creare e passare a una nuova directory per l'app.
mkdir myapp
cd myapp
Eseguire il comando npm init
per creare un'applicazione Node con un file package.json
.
npm init
Installare la libreria client
Installare i pacchetti npm:
npm install @azure/ai-language-text
Esempio di codice
Aprire il file e copiare il codice seguente. A questo punto, eseguire il codice.
"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);
});
Output
=== 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
Pulire le risorse
Se si vuole pulire e rimuovere una sottoscrizione dei servizi di intelligenza artificiale di Azure, è possibile eliminare la risorsa o il gruppo di risorse. Eliminando il gruppo di risorse vengono eliminate anche tutte le altre risorse associate.
Usare i comandi seguenti per eliminare le variabili di ambiente create per questa guida introduttiva.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f
Passaggi successivi
Documentazione di | riferimentoEsempi aggiuntivi | Pacchetto (PyPi) | Codice sorgente della libreria
Usare questa guida introduttiva per creare un'applicazione di analisi del sentiment con la libreria client per Python. Nell'esempio seguente si creerà un'applicazione Python che consente di identificare i sentimenti espressi in un esempio di testo ed eseguire un'analisi del sentiment basata su aspetti.
Prerequisiti
- Sottoscrizione di Azure: creare un account gratuito
- Python 3.7 o versione successiva
Configurazione
Creare una risorsa di Azure
Per usare l'esempio di codice seguente, è necessario distribuire una risorsa di Azure. Questa risorsa conterrà una chiave e un endpoint che verrà usato per autenticare le chiamate API inviate al servizio lingua.
Usare il collegamento seguente per creare una risorsa della lingua usando il portale di Azure. Sarà necessario accedere usando la sottoscrizione di Azure.
Nella schermata Seleziona funzionalità aggiuntive visualizzate selezionareContinua per creare la risorsa.
Nella schermata Crea lingua specificare le informazioni seguenti:
Dettaglio Descrizione Subscription L'account della sottoscrizione a cui verrà associata la risorsa. Selezionare la sottoscrizione di Azure dal menu a discesa. Resource group Un gruppo di risorse è un contenitore che archivia le risorse create. Selezionare Crea nuovo per creare un nuovo gruppo di risorse. Region Posizione della risorsa Lingua. Diverse aree possono introdurre latenza a seconda della posizione fisica, ma non hanno alcun impatto sulla disponibilità di runtime della risorsa. Per questa guida introduttiva, selezionare un'area disponibile vicino all'utente o scegliere Stati Uniti orientali. Nome Nome della risorsa lingua. Questo nome verrà usato anche per creare un URL endpoint che le applicazioni useranno per inviare richieste API. Piano tariffario Piano tariffario per la risorsa lingua. È possibile usare il livello F0 gratuito per provare il servizio e eseguire l'aggiornamento in un secondo momento a un livello a pagamento per la produzione. Verificare che la casella di controllo Avviso di intelligenza artificiale responsabile sia selezionata.
Selezionare Rivedi e crea nella parte inferiore della pagina.
Nella schermata visualizzata verificare che la convalida sia passata e che siano state immesse correttamente le informazioni. Quindi selezionare Crea.
Ottenere la chiave e l'endpoint
Sarà quindi necessaria la chiave e l'endpoint dalla risorsa per connettere l'applicazione all'API. Incollare la chiave e l'endpoint nel codice più avanti nell'avvio rapido.
Dopo la distribuzione della risorsa lingua, fare clic sul pulsante Vai alla risorsa in Passaggi successivi.
Nella schermata della risorsa selezionare Chiavi ed endpoint nel menu di spostamento a sinistra. Si userà una delle chiavi e l'endpoint nei passaggi seguenti.
Creare variabili di ambiente
L'applicazione deve essere autenticata per inviare richieste API. Per la produzione, usare un modo sicuro per archiviare e accedere alle credenziali. In questo esempio verranno scritte le credenziali per le variabili di ambiente nel computer locale che esegue l'applicazione.
Suggerimento
Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione come Azure Key Vault, vedere l'articolo sulla sicurezza dei servizi di intelligenza artificiale di Azure.
Per impostare la variabile di ambiente per la chiave di risorsa lingua, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.
- Per impostare la
LANGUAGE_KEY
variabile di ambiente, sostituireyour-key
con una delle chiavi per la risorsa. - Per impostare la variabile di ambiente, sostituire
your-endpoint
con l'endpointLANGUAGE_ENDPOINT
per la risorsa.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Nota
Se è necessario accedere solo alle variabili di ambiente nella console in esecuzione corrente, è possibile impostare la variabile di setx
ambiente con set
anziché .
Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi in esecuzione che dovranno leggere le variabili di ambiente, inclusa la finestra della console. Se ad esempio si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.
Installare la libreria client
Dopo l'installazione di Python, è possibile installare la libreria client con:
pip install azure-ai-textanalytics==5.2.0
Esempio di codice
Creare un nuovo file Python e copiare il codice seguente. Eseguire quindi il codice
# 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)
Output
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
Pulire le risorse
Se si vuole pulire e rimuovere una sottoscrizione dei servizi di intelligenza artificiale di Azure, è possibile eliminare la risorsa o il gruppo di risorse. Eliminando il gruppo di risorse vengono eliminate anche tutte le altre risorse associate.
Usare i comandi seguenti per eliminare le variabili di ambiente create per questa guida introduttiva.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f
Passaggi successivi
Usare questa guida introduttiva per inviare richieste di analisi del sentiment usando l'API REST. Nell'esempio seguente si userà cURL per identificare i sentimenti espressi in un esempio di testo ed eseguire l'analisi del sentiment basata su aspetti.
Prerequisiti
- Sottoscrizione di Azure: creare un account gratuito
Configurazione
Creare una risorsa di Azure
Per usare l'esempio di codice seguente, è necessario distribuire una risorsa di Azure. Questa risorsa conterrà una chiave e un endpoint che verranno usati per autenticare le chiamate API inviate al servizio lingua.
Usare il collegamento seguente per creare una risorsa di lingua usando il portale di Azure. Sarà necessario accedere usando la sottoscrizione di Azure.
Nella schermata Seleziona funzionalità aggiuntive visualizzata selezionare Continua per creare la risorsa.
Nella schermata Crea lingua specificare le informazioni seguenti:
Dettaglio Descrizione Subscription L'account di sottoscrizione a cui verrà associata la risorsa. Selezionare la sottoscrizione di Azure dal menu a discesa. Resource group Un gruppo di risorse è un contenitore che archivia le risorse create. Selezionare Crea nuovo per creare un nuovo gruppo di risorse. Region Posizione della risorsa Lingua. Diverse aree possono introdurre latenza a seconda della posizione fisica, ma non hanno alcun impatto sulla disponibilità di runtime della risorsa. Per questa guida introduttiva, selezionare un'area disponibile in prossimità o scegliere Stati Uniti orientali. Nome Nome della risorsa Lingua. Questo nome verrà usato anche per creare un URL dell'endpoint che le applicazioni useranno per inviare richieste API. Piano tariffario Piano tariffario per la risorsa Lingua. È possibile usare il livello F0 gratuito per provare il servizio ed eseguire l'aggiornamento in un secondo momento a un livello a pagamento per la produzione. Assicurarsi che la casella di controllo Avviso di intelligenza artificiale responsabile sia selezionata.
Selezionare Rivedi e crea nella parte inferiore della pagina.
Nella schermata visualizzata verificare che la convalida sia stata superata e che siano state immesse correttamente le informazioni. Quindi selezionare Crea.
Ottenere la chiave e l'endpoint
Sarà quindi necessaria la chiave e l'endpoint dalla risorsa per connettere l'applicazione all'API. La chiave e l'endpoint verranno incollati nel codice più avanti nella guida introduttiva.
Dopo la distribuzione della risorsa Lingua, fare clic sul pulsante Vai alla risorsa in Passaggi successivi.
Nella schermata della risorsa selezionare Chiavi ed endpoint nel menu di spostamento a sinistra. Si userà una delle chiavi e l'endpoint nei passaggi seguenti.
Creare variabili di ambiente
L'applicazione deve essere autenticata per inviare richieste API. Per l'ambiente di produzione, usare un modo sicuro per archiviare e accedere alle credenziali. In questo esempio le credenziali verranno scritte nelle variabili di ambiente nel computer locale che esegue l'applicazione.
Suggerimento
Non includere la chiave direttamente nel codice e non pubblicarla mai pubblicamente. Vedere l'articolo sulla sicurezza dei servizi di intelligenza artificiale di Azure per altre opzioni di autenticazione, ad esempio Azure Key Vault.
Per impostare la variabile di ambiente per la chiave di risorsa Language, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.
- Per impostare la
LANGUAGE_KEY
variabile di ambiente, sostituireyour-key
con una delle chiavi per la risorsa. - Per impostare la
LANGUAGE_ENDPOINT
variabile di ambiente, sostituireyour-endpoint
con l'endpoint per la risorsa.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Nota
Se è sufficiente accedere alle variabili di ambiente nella console in esecuzione corrente, è possibile impostare la variabile di setx
ambiente con set
anziché .
Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi in esecuzione che dovranno leggere le variabili di ambiente, inclusa la finestra della console. Se ad esempio si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.
Creare un file JSON con il corpo della richiesta di esempio
In un editor di codice creare un nuovo file denominato test_sentiment_payload.json
e copiare l'esempio JSON seguente. Questa richiesta di esempio verrà inviata all'API nel passaggio successivo.
{
"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."
}
]
}
}
Salva test_sentiment_payload.json
da qualche parte sul tuo computer. Ad esempio, il desktop.
Inviare una richiesta api di analisi del sentiment e opinion mining
Nota
Gli esempi seguenti includono una richiesta per la funzionalità di opinion mining dell'analisi del sentiment, che fornisce informazioni granulari sulle valutazioni (aggettivi) correlate a destinazioni (sostantivi) nel testo.
Usare i comandi seguenti per inviare la richiesta API usando il programma in uso. Copiare il comando nel terminale ed eseguirlo.
parametro | Descrizione |
---|---|
-X POST <endpoint> |
Specifica l'endpoint per l'accesso all'API. |
-H Content-Type: application/json |
Il tipo di contenuto per l'invio di dati JSON. |
-H "Ocp-Apim-Subscription-Key:<key> |
Specifica la chiave per l'accesso all'API. |
-d <documents> |
File JSON contenente i documenti da inviare. |
Sostituire C:\Users\<myaccount>\Desktop\test_sentiment_payload.json
con il percorso del file di richiesta JSON di esempio creato nel passaggio precedente.
Prompt dei comandi
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"
Risposta 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"
}
}
Pulire le risorse
Se si vuole pulire e rimuovere una sottoscrizione dei servizi di intelligenza artificiale di Azure, è possibile eliminare la risorsa o il gruppo di risorse. Eliminando il gruppo di risorse vengono eliminate anche tutte le altre risorse associate.
Usare i comandi seguenti per eliminare le variabili di ambiente create per questa guida introduttiva.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f