Démarrage rapide : analyse des sentiments et exploration des opinions
Documentation de référence | Plus d’exemples | Package (NuGet) | Code source de la bibliothèque
Utilisez ce guide de démarrage rapide pour créer une application d’analyse des sentiments avec la bibliothèque de client pour .NET. Dans l’exemple suivant, vous créez une application C# qui peut identifier les sentiments exprimés dans un exemple de texte, et effectuer une analyse des sentiments basée sur des aspects.
Prérequis
- Abonnement Azure - En créer un gratuitement
- IDE Visual Studio
Configuration
Créer une ressource Azure
Pour utiliser l’exemple de code ci-dessous, vous devez déployer une ressource Azure. Cette ressource contient une clé et un point de terminaison que vous utiliserez pour authentifier les appels d’API que vous envoyez au service Language.
Utilisez le lien suivant pour créer une ressource de langage à l’aide du Portail Azure. Vous devez vous connecter à l’aide de votre abonnement Azure.
Sur l’écran Sélectionner des fonctionnalités supplémentaires qui s’affiche, sélectionnez Continuer à créer votre ressource.
Sur l’écran Créer un langage, indiquez les informations suivantes :
Détail Description Abonnement Compte d’abonnement auquel votre ressource sera associée. Sélectionnez votre abonnement Azure dans le menu déroulant. Resource group Un groupe de ressources est un conteneur qui stocke les ressources que vous créez. Sélectionnez Créer pour créer un groupe de ressources. Région Emplacement de votre ressource de langue. Des régions différentes peuvent entraîner une latence en fonction de votre emplacement physique. Toutefois, cela n’aura pas d’impact sur la disponibilité du runtime de votre ressource. Pour ce guide de démarrage rapide, sélectionnez une région disponible près de vous ou choisissez USA Est. Name Nom de votre ressource de langage. Ce nom sera également utilisé pour créer une URL de point de terminaison que vos applications utiliseront pour envoyer des demandes d’API. Niveau tarifaire Niveau tarifaire de votre ressource de langue. Vous pouvez utiliser le niveau Gratuit F0 pour tester le service, puis passer par la suite à un niveau payant pour la production. Vérifiez que l’Avis d’IA responsable est coché.
Au bas de la page, sélectionnez Vérifier + créer.
Dans l’écran qui s’affiche, assurez-vous que la validation a réussi et que vous avez entré vos informations correctement. Sélectionnez ensuite Créer.
Obtenir votre clé et votre point de terminaison
Ensuite, vous avez besoin de la clé et du point de terminaison de la ressource que pour connecter votre application à l’API. Vous collerez votre clé et votre point de terminaison dans le code plus loin dans ce guide de démarrage rapide.
Une fois la ressource de langage déployée, cliquez sur le bouton Accéder à la ressource sous Étapes suivantes.
Sur l’écran de votre ressource, sélectionnez Clés et point de terminaison dans le menu de navigation de gauche. Vous allez utiliser l’une de vos clés et votre point de terminaison dans les étapes ci-dessous.
Créer des variables d’environnement
Votre application doit être authentifiée pour envoyer des requêtes d’API. Pour la production, utilisez une méthode de stockage et d’accès sécurisée pour vos informations d’identification. Dans cet exemple, vous allez écrire vos informations d’identification dans des variables d’environnement sur l’ordinateur local exécutant l’application.
Pour définir la variable d’environnement de votre clé de ressource de langage, ouvrez une fenêtre de console et suivez les instructions relatives à votre système d’exploitation et à votre environnement de développement.
- Pour définir la variable d’environnement
LANGUAGE_KEY
, remplacezyour-key
par l’une des clés de votre ressource. - Pour définir la
LANGUAGE_ENDPOINT
variable d’environnement, remplacezyour-endpoint
par le point de terminaison de votre ressource.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Notes
Si vous avez uniquement besoin d’accéder aux variables d’environnement dans la console en cours d’exécution, vous pouvez la définir avec set
au lieu de setx
.
Après avoir ajouté les variables d’environnement, vous devrez peut-être redémarrer tous les programmes en cours d’exécution qui devront les lire, y compris la fenêtre de console. Par exemple, si vous utilisez Visual Studio comme éditeur, redémarrez Visual Studio avant d’exécuter l’exemple.
Créez une application .NET Core
En utilisant l’IDE Visual Studio, créez une application console .NET Core. Cette action crée un projet « Hello World » contenant un seul fichier source C# : program.cs.
Installez la bibliothèque cliente en cliquant avec le bouton droit sur la solution dans l’Explorateur de solutions et en sélectionnant Gérer les packages NuGet. Dans le gestionnaire de package qui s’ouvre, sélectionnez Parcourir et recherchez Azure.AI.TextAnalytics
. Sélectionnez la version 5.2.0
, puis Installer. Vous pouvez aussi utiliser la Console du Gestionnaire de package.
Exemple de code
Copiez le code suivant dans votre fichier program.cs et exécutez le code.
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();
}
}
}
Sortie
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
Nettoyer les ressources
Si vous souhaitez nettoyer et supprimer un abonnement Azure AI services, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.
Utilisez les commandes suivantes pour supprimer les variables d’environnement que vous avez créées pour ce démarrage rapide.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f
Étapes suivantes
Documentation de référence | Exemples supplémentaires | Package (Maven) | Code source de la bibliothèque
Utilisez ce guide de démarrage rapide pour créer une application d’analyse des sentiments avec la bibliothèque de client pour Java. Dans l’exemple suivant, vous allez créer une application Java qui peut identifier les sentiments exprimés dans un exemple de texte, et effectuer une analyse des sentiments basée sur des aspects.
Prérequis
- Abonnement Azure - En créer un gratuitement
- Kit de développement Java (JDK) avec version 8 ou ultérieure
Configuration
Créer une ressource Azure
Pour utiliser l’exemple de code ci-dessous, vous devez déployer une ressource Azure. Cette ressource contient une clé et un point de terminaison que vous utiliserez pour authentifier les appels d’API que vous envoyez au service Language.
Utilisez le lien suivant pour créer une ressource de langage à l’aide du Portail Azure. Vous devez vous connecter à l’aide de votre abonnement Azure.
Sur l’écran Sélectionner des fonctionnalités supplémentaires qui s’affiche, sélectionnez Continuer à créer votre ressource.
Sur l’écran Créer un langage, indiquez les informations suivantes :
Détail Description Abonnement Compte d’abonnement auquel votre ressource sera associée. Sélectionnez votre abonnement Azure dans le menu déroulant. Resource group Un groupe de ressources est un conteneur qui stocke les ressources que vous créez. Sélectionnez Créer pour créer un groupe de ressources. Région Emplacement de votre ressource de langue. Des régions différentes peuvent entraîner une latence en fonction de votre emplacement physique. Toutefois, cela n’aura pas d’impact sur la disponibilité du runtime de votre ressource. Pour ce guide de démarrage rapide, sélectionnez une région disponible près de vous ou choisissez USA Est. Name Nom de votre ressource de langage. Ce nom sera également utilisé pour créer une URL de point de terminaison que vos applications utiliseront pour envoyer des demandes d’API. Niveau tarifaire Niveau tarifaire de votre ressource de langue. Vous pouvez utiliser le niveau Gratuit F0 pour tester le service, puis passer par la suite à un niveau payant pour la production. Vérifiez que l’Avis d’IA responsable est coché.
Au bas de la page, sélectionnez Vérifier + créer.
Dans l’écran qui s’affiche, assurez-vous que la validation a réussi et que vous avez entré vos informations correctement. Sélectionnez ensuite Créer.
Obtenir votre clé et votre point de terminaison
Ensuite, vous avez besoin de la clé et du point de terminaison de la ressource que pour connecter votre application à l’API. Vous collerez votre clé et votre point de terminaison dans le code plus loin dans ce guide de démarrage rapide.
Une fois la ressource de langage déployée, cliquez sur le bouton Accéder à la ressource sous Étapes suivantes.
Sur l’écran de votre ressource, sélectionnez Clés et point de terminaison dans le menu de navigation de gauche. Vous allez utiliser l’une de vos clés et votre point de terminaison dans les étapes ci-dessous.
Créer des variables d’environnement
Votre application doit être authentifiée pour envoyer des requêtes d’API. Pour la production, utilisez une méthode de stockage et d’accès sécurisée pour vos informations d’identification. Dans cet exemple, vous allez écrire vos informations d’identification dans des variables d’environnement sur l’ordinateur local exécutant l’application.
Pour définir la variable d’environnement de votre clé de ressource de langage, ouvrez une fenêtre de console et suivez les instructions relatives à votre système d’exploitation et à votre environnement de développement.
- Pour définir la variable d’environnement
LANGUAGE_KEY
, remplacezyour-key
par l’une des clés de votre ressource. - Pour définir la
LANGUAGE_ENDPOINT
variable d’environnement, remplacezyour-endpoint
par le point de terminaison de votre ressource.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Notes
Si vous avez uniquement besoin d’accéder aux variables d’environnement dans la console en cours d’exécution, vous pouvez la définir avec set
au lieu de setx
.
Après avoir ajouté les variables d’environnement, vous devrez peut-être redémarrer tous les programmes en cours d’exécution qui devront les lire, y compris la fenêtre de console. Par exemple, si vous utilisez Visual Studio comme éditeur, redémarrez Visual Studio avant d’exécuter l’exemple.
Ajouter la bibliothèque de client
Créez un projet Maven dans l’IDE ou l’environnement de développement de votre choix. Ensuite, ajoutez la dépendance suivante au fichier pom.xml de votre projet : Vous trouverez la syntaxe d’implémentation pour d’autres outils de génération en ligne.
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-textanalytics</artifactId>
<version>5.2.0</version>
</dependency>
</dependencies>
Exemple de code
Créez un fichier Java nommé Example.java
. Ouvrez le fichier et copiez le code ci-dessous. Exécutez ensuite le code.
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.
Nettoyer les ressources
Si vous souhaitez nettoyer et supprimer un abonnement Azure AI services, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.
Utilisez les commandes suivantes pour supprimer les variables d’environnement que vous avez créées pour ce démarrage rapide.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f
Étapes suivantes
Documentation de référence | Exemples supplémentaires | Package (npm) | Code source de la bibliothèque
Utilisez ce guide de démarrage rapide pour créer une application d’analyse des sentiments avec la bibliothèque de client pour Node.js. Dans l’exemple suivant, vous allez créer une application JavaScript qui peut identifier les sentiments exprimés dans un exemple de texte, et effectuer une analyse des sentiments basée sur des aspects.
Prérequis
- Abonnement Azure - En créer un gratuitement
- Node.js v14 LTS ou version ultérieure
Configuration
Créer une ressource Azure
Pour utiliser l’exemple de code ci-dessous, vous devez déployer une ressource Azure. Cette ressource contient une clé et un point de terminaison que vous utiliserez pour authentifier les appels d’API que vous envoyez au service Language.
Utilisez le lien suivant pour créer une ressource de langage à l’aide du Portail Azure. Vous devez vous connecter à l’aide de votre abonnement Azure.
Sur l’écran Sélectionner des fonctionnalités supplémentaires qui s’affiche, sélectionnez Continuer à créer votre ressource.
Sur l’écran Créer un langage, indiquez les informations suivantes :
Détail Description Abonnement Compte d’abonnement auquel votre ressource sera associée. Sélectionnez votre abonnement Azure dans le menu déroulant. Resource group Un groupe de ressources est un conteneur qui stocke les ressources que vous créez. Sélectionnez Créer pour créer un groupe de ressources. Région Emplacement de votre ressource de langue. Des régions différentes peuvent entraîner une latence en fonction de votre emplacement physique. Toutefois, cela n’aura pas d’impact sur la disponibilité du runtime de votre ressource. Pour ce guide de démarrage rapide, sélectionnez une région disponible près de vous ou choisissez USA Est. Name Nom de votre ressource de langage. Ce nom sera également utilisé pour créer une URL de point de terminaison que vos applications utiliseront pour envoyer des demandes d’API. Niveau tarifaire Niveau tarifaire de votre ressource de langue. Vous pouvez utiliser le niveau Gratuit F0 pour tester le service, puis passer par la suite à un niveau payant pour la production. Vérifiez que l’Avis d’IA responsable est coché.
Au bas de la page, sélectionnez Vérifier + créer.
Dans l’écran qui s’affiche, assurez-vous que la validation a réussi et que vous avez entré vos informations correctement. Sélectionnez ensuite Créer.
Obtenir votre clé et votre point de terminaison
Ensuite, vous avez besoin de la clé et du point de terminaison de la ressource que pour connecter votre application à l’API. Vous collerez votre clé et votre point de terminaison dans le code plus loin dans ce guide de démarrage rapide.
Une fois la ressource de langage déployée, cliquez sur le bouton Accéder à la ressource sous Étapes suivantes.
Sur l’écran de votre ressource, sélectionnez Clés et point de terminaison dans le menu de navigation de gauche. Vous allez utiliser l’une de vos clés et votre point de terminaison dans les étapes ci-dessous.
Créer des variables d’environnement
Votre application doit être authentifiée pour envoyer des requêtes d’API. Pour la production, utilisez une méthode de stockage et d’accès sécurisée pour vos informations d’identification. Dans cet exemple, vous allez écrire vos informations d’identification dans des variables d’environnement sur l’ordinateur local exécutant l’application.
Pour définir la variable d’environnement de votre clé de ressource de langage, ouvrez une fenêtre de console et suivez les instructions relatives à votre système d’exploitation et à votre environnement de développement.
- Pour définir la variable d’environnement
LANGUAGE_KEY
, remplacezyour-key
par l’une des clés de votre ressource. - Pour définir la
LANGUAGE_ENDPOINT
variable d’environnement, remplacezyour-endpoint
par le point de terminaison de votre ressource.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Notes
Si vous avez uniquement besoin d’accéder aux variables d’environnement dans la console en cours d’exécution, vous pouvez la définir avec set
au lieu de setx
.
Après avoir ajouté les variables d’environnement, vous devrez peut-être redémarrer tous les programmes en cours d’exécution qui devront les lire, y compris la fenêtre de console. Par exemple, si vous utilisez Visual Studio comme éditeur, redémarrez Visual Studio avant d’exécuter l’exemple.
Création d’une application Node.js
Dans une fenêtre de console (telle que cmd, PowerShell ou bash), créez un répertoire pour votre application et accédez-y.
mkdir myapp
cd myapp
Exécutez la commande npm init
pour créer une application de nœud avec un fichier package.json
.
npm init
Installer la bibliothèque de client
Installez les packages npm :
npm install @azure/ai-language-text
Exemple de code
Ouvrez le fichier et copiez le code ci-dessous. Exécutez ensuite le code.
"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
Nettoyer les ressources
Si vous souhaitez nettoyer et supprimer un abonnement Azure AI services, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.
Utilisez les commandes suivantes pour supprimer les variables d’environnement que vous avez créées pour ce démarrage rapide.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f
Étapes suivantes
Documentation de référence | Exemples supplémentaires | Package (PyPi) | Code source de la bibliothèque
Utilisez ce guide de démarrage rapide pour créer une application d’analyse des sentiments avec la bibliothèque de client pour Python. Dans l’exemple suivant, vous allez créer une application Python qui peut identifier les sentiments exprimés dans un exemple de texte, et effectuer une analyse des sentiments basée sur des aspects.
Prérequis
- Abonnement Azure - En créer un gratuitement
- Python 3.7 ou version ultérieure
Configuration
Créer une ressource Azure
Pour utiliser l’exemple de code ci-dessous, vous devez déployer une ressource Azure. Cette ressource contient une clé et un point de terminaison que vous utiliserez pour authentifier les appels d’API que vous envoyez au service Language.
Utilisez le lien suivant pour créer une ressource de langage à l’aide du Portail Azure. Vous devez vous connecter à l’aide de votre abonnement Azure.
Sur l’écran Sélectionner des fonctionnalités supplémentaires qui s’affiche, sélectionnez Continuer à créer votre ressource.
Sur l’écran Créer un langage, indiquez les informations suivantes :
Détail Description Abonnement Compte d’abonnement auquel votre ressource sera associée. Sélectionnez votre abonnement Azure dans le menu déroulant. Resource group Un groupe de ressources est un conteneur qui stocke les ressources que vous créez. Sélectionnez Créer pour créer un groupe de ressources. Région Emplacement de votre ressource de langue. Des régions différentes peuvent entraîner une latence en fonction de votre emplacement physique. Toutefois, cela n’aura pas d’impact sur la disponibilité du runtime de votre ressource. Pour ce guide de démarrage rapide, sélectionnez une région disponible près de vous ou choisissez USA Est. Name Nom de votre ressource de langage. Ce nom sera également utilisé pour créer une URL de point de terminaison que vos applications utiliseront pour envoyer des demandes d’API. Niveau tarifaire Niveau tarifaire de votre ressource de langue. Vous pouvez utiliser le niveau Gratuit F0 pour tester le service, puis passer par la suite à un niveau payant pour la production. Vérifiez que l’Avis d’IA responsable est coché.
Au bas de la page, sélectionnez Vérifier + créer.
Dans l’écran qui s’affiche, assurez-vous que la validation a réussi et que vous avez entré vos informations correctement. Sélectionnez ensuite Créer.
Obtenir votre clé et votre point de terminaison
Ensuite, vous avez besoin de la clé et du point de terminaison de la ressource que pour connecter votre application à l’API. Vous collerez votre clé et votre point de terminaison dans le code plus loin dans ce guide de démarrage rapide.
Une fois la ressource de langage déployée, cliquez sur le bouton Accéder à la ressource sous Étapes suivantes.
Sur l’écran de votre ressource, sélectionnez Clés et point de terminaison dans le menu de navigation de gauche. Vous allez utiliser l’une de vos clés et votre point de terminaison dans les étapes ci-dessous.
Créer des variables d’environnement
Votre application doit être authentifiée pour envoyer des requêtes d’API. Pour la production, utilisez une méthode de stockage et d’accès sécurisée pour vos informations d’identification. Dans cet exemple, vous allez écrire vos informations d’identification dans des variables d’environnement sur l’ordinateur local exécutant l’application.
Pour définir la variable d’environnement de votre clé de ressource de langage, ouvrez une fenêtre de console et suivez les instructions relatives à votre système d’exploitation et à votre environnement de développement.
- Pour définir la variable d’environnement
LANGUAGE_KEY
, remplacezyour-key
par l’une des clés de votre ressource. - Pour définir la
LANGUAGE_ENDPOINT
variable d’environnement, remplacezyour-endpoint
par le point de terminaison de votre ressource.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Notes
Si vous avez uniquement besoin d’accéder aux variables d’environnement dans la console en cours d’exécution, vous pouvez la définir avec set
au lieu de setx
.
Après avoir ajouté les variables d’environnement, vous devrez peut-être redémarrer tous les programmes en cours d’exécution qui devront les lire, y compris la fenêtre de console. Par exemple, si vous utilisez Visual Studio comme éditeur, redémarrez Visual Studio avant d’exécuter l’exemple.
Installer la bibliothèque de client
Après avoir installé Python, vous pouvez installer la bibliothèque de client avec :
pip install azure-ai-textanalytics==5.2.0
Exemple de code
Créez un fichier Python et copiez le code ci-dessous. Ensuite, exécutez le code
# 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
Nettoyer les ressources
Si vous souhaitez nettoyer et supprimer un abonnement Azure AI services, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.
Utilisez les commandes suivantes pour supprimer les variables d’environnement que vous avez créées pour ce démarrage rapide.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f
Étapes suivantes
Utilisez ce guide de démarrage rapide pour envoyer des requêtes d’analyse des sentiments à l’aide de l’API REST. Dans l’exemple suivant, vous allez utiliser cURL pour identifier les sentiments exprimés dans un exemple de texte, et effectuer une analyse des sentiments basée sur les aspects.
Prérequis
- Abonnement Azure - En créer un gratuitement
Configuration
Créer une ressource Azure
Pour utiliser l’exemple de code ci-dessous, vous devez déployer une ressource Azure. Cette ressource contient une clé et un point de terminaison que vous utiliserez pour authentifier les appels d’API que vous envoyez au service Language.
Utilisez le lien suivant pour créer une ressource de langage à l’aide du Portail Azure. Vous devez vous connecter à l’aide de votre abonnement Azure.
Sur l’écran Sélectionner des fonctionnalités supplémentaires qui s’affiche, sélectionnez Continuer à créer votre ressource.
Sur l’écran Créer un langage, indiquez les informations suivantes :
Détail Description Abonnement Compte d’abonnement auquel votre ressource sera associée. Sélectionnez votre abonnement Azure dans le menu déroulant. Resource group Un groupe de ressources est un conteneur qui stocke les ressources que vous créez. Sélectionnez Créer pour créer un groupe de ressources. Région Emplacement de votre ressource de langue. Des régions différentes peuvent entraîner une latence en fonction de votre emplacement physique. Toutefois, cela n’aura pas d’impact sur la disponibilité du runtime de votre ressource. Pour ce guide de démarrage rapide, sélectionnez une région disponible près de vous ou choisissez USA Est. Name Nom de votre ressource de langage. Ce nom sera également utilisé pour créer une URL de point de terminaison que vos applications utiliseront pour envoyer des demandes d’API. Niveau tarifaire Niveau tarifaire de votre ressource de langue. Vous pouvez utiliser le niveau Gratuit F0 pour tester le service, puis passer par la suite à un niveau payant pour la production. Vérifiez que l’Avis d’IA responsable est coché.
Au bas de la page, sélectionnez Vérifier + créer.
Dans l’écran qui s’affiche, assurez-vous que la validation a réussi et que vous avez entré vos informations correctement. Sélectionnez ensuite Créer.
Obtenir votre clé et votre point de terminaison
Ensuite, vous avez besoin de la clé et du point de terminaison de la ressource que pour connecter votre application à l’API. Vous collerez votre clé et votre point de terminaison dans le code plus loin dans ce guide de démarrage rapide.
Une fois la ressource de langage déployée, cliquez sur le bouton Accéder à la ressource sous Étapes suivantes.
Sur l’écran de votre ressource, sélectionnez Clés et point de terminaison dans le menu de navigation de gauche. Vous allez utiliser l’une de vos clés et votre point de terminaison dans les étapes ci-dessous.
Créer des variables d’environnement
Votre application doit être authentifiée pour envoyer des requêtes d’API. Pour la production, utilisez une méthode de stockage et d’accès sécurisée pour vos informations d’identification. Dans cet exemple, vous allez écrire vos informations d’identification dans des variables d’environnement sur l’ordinateur local exécutant l’application.
Pour définir la variable d’environnement de votre clé de ressource de langage, ouvrez une fenêtre de console et suivez les instructions relatives à votre système d’exploitation et à votre environnement de développement.
- Pour définir la variable d’environnement
LANGUAGE_KEY
, remplacezyour-key
par l’une des clés de votre ressource. - Pour définir la
LANGUAGE_ENDPOINT
variable d’environnement, remplacezyour-endpoint
par le point de terminaison de votre ressource.
Important
Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Notes
Si vous avez uniquement besoin d’accéder aux variables d’environnement dans la console en cours d’exécution, vous pouvez la définir avec set
au lieu de setx
.
Après avoir ajouté les variables d’environnement, vous devrez peut-être redémarrer tous les programmes en cours d’exécution qui devront les lire, y compris la fenêtre de console. Par exemple, si vous utilisez Visual Studio comme éditeur, redémarrez Visual Studio avant d’exécuter l’exemple.
Créer un fichier JSON avec l’exemple de corps de requête
Dans un éditeur de code, créez un fichier nommé test_sentiment_payload.json
, puis copiez l’exemple JSON suivant. Cet exemple de requête sera envoyé à l’API à l’étape suivante.
{
"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."
}
]
}
}
Enregistrez test_sentiment_payload.json
quelque part sur votre ordinateur. Par exemple, sur le Bureau.
Exemple de requête d’API pour l’analyse des sentiments et l’exploration des opinions
Notes
Les exemples ci-dessous comprennent une requête pour la fonctionnalité d’exploration des opinions de l’analyse des sentiments. Cette fonctionnalité fournit des informations précises sur les évaluations (adjectifs) relatives aux cibles (noms) dans le texte.
Utilisez les commandes suivantes pour envoyer la requête d’API à l’aide du programme que vous utilisez. Copiez la commande dans votre terminal, puis exécutez-la.
paramètre | Description |
---|---|
-X POST <endpoint> |
Spécifie votre point de terminaison pour accéder à l’API. |
-H Content-Type: application/json |
Type de contenu pour l’envoi de données JSON. |
-H "Ocp-Apim-Subscription-Key:<key> |
Spécifie la clé pour accéder à l’API. |
-d <documents> |
Fichier JSON contenant les documents à envoyer. |
Remplacez C:\Users\<myaccount>\Desktop\test_sentiment_payload.json
par l’emplacement de l’exemple de fichier de requête JSON que vous avez créé à l’étape précédente.
Invite de commande
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"
Réponse 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"
}
}
Nettoyer les ressources
Si vous souhaitez nettoyer et supprimer un abonnement Azure AI services, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.
Utilisez les commandes suivantes pour supprimer les variables d’environnement que vous avez créées pour ce démarrage rapide.
reg delete "HKCU\Environment" /v LANGUAGE_KEY /f
reg delete "HKCU\Environment" /v LANGUAGE_ENDPOINT /f