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

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.

  1. 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.

  2. Sur l’écran Sélectionner des fonctionnalités supplémentaires qui s’affiche, sélectionnez Continuer à créer votre ressource.

    Capture d’écran montrant des options de fonctionnalité supplémentaires dans le Portail Azure.

  3. 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.

    Capture d’écran montrant les détails de la création d’une ressource dans le portail Azure.

  4. Vérifiez que l’Avis d’IA responsable est coché.

  5. Au bas de la page, sélectionnez Vérifier + créer.

  6. 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.

  1. Une fois la ressource de langage déployée, cliquez sur le bouton Accéder à la ressource sous Étapes suivantes.

    Capture d’écran montrant les étapes suivantes après le déploiement d’une ressource.

  2. 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.

    Capture d’écran montrant la section clés et point de terminaison d’une ressource.

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.

Conseil

N’incluez pas la clé directement dans votre code et ne la publiez jamais publiquement. Pour découvrir d’autres options d’authentification telles qu’Azure Key Vault, consultez l’article sur la sécurité d’Azure AI services.

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.

  1. Pour définir la variable d’environnement LANGUAGE_KEY, remplacez your-key par l’une des clés de votre ressource.
  2. Pour définir la LANGUAGE_ENDPOINTvariable d’environnement, remplacez your-endpoint par le point de terminaison de votre ressource.
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

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.

  1. 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.

  2. Sur l’écran Sélectionner des fonctionnalités supplémentaires qui s’affiche, sélectionnez Continuer à créer votre ressource.

    Capture d’écran montrant des options de fonctionnalité supplémentaires dans le Portail Azure.

  3. 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.

    Capture d’écran montrant les détails de la création d’une ressource dans le portail Azure.

  4. Vérifiez que l’Avis d’IA responsable est coché.

  5. Au bas de la page, sélectionnez Vérifier + créer.

  6. 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.

  1. Une fois la ressource de langage déployée, cliquez sur le bouton Accéder à la ressource sous Étapes suivantes.

    Capture d’écran montrant les étapes suivantes après le déploiement d’une ressource.

  2. 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.

    Capture d’écran montrant la section clés et point de terminaison d’une ressource.

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.

Conseil

N’incluez pas la clé directement dans votre code et ne la publiez jamais publiquement. Pour découvrir d’autres options d’authentification telles qu’Azure Key Vault, consultez l’article sur la sécurité d’Azure AI services.

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.

  1. Pour définir la variable d’environnement LANGUAGE_KEY, remplacez your-key par l’une des clés de votre ressource.
  2. Pour définir la LANGUAGE_ENDPOINTvariable d’environnement, remplacez your-endpoint par le point de terminaison de votre ressource.
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

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.

  1. 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.

  2. Sur l’écran Sélectionner des fonctionnalités supplémentaires qui s’affiche, sélectionnez Continuer à créer votre ressource.

    Capture d’écran montrant des options de fonctionnalité supplémentaires dans le Portail Azure.

  3. 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.

    Capture d’écran montrant les détails de la création d’une ressource dans le portail Azure.

  4. Vérifiez que l’Avis d’IA responsable est coché.

  5. Au bas de la page, sélectionnez Vérifier + créer.

  6. 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.

  1. Une fois la ressource de langage déployée, cliquez sur le bouton Accéder à la ressource sous Étapes suivantes.

    Capture d’écran montrant les étapes suivantes après le déploiement d’une ressource.

  2. 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.

    Capture d’écran montrant la section clés et point de terminaison d’une ressource.

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.

Conseil

N’incluez pas la clé directement dans votre code et ne la publiez jamais publiquement. Pour découvrir d’autres options d’authentification telles qu’Azure Key Vault, consultez l’article sur la sécurité d’Azure AI services.

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.

  1. Pour définir la variable d’environnement LANGUAGE_KEY, remplacez your-key par l’une des clés de votre ressource.
  2. Pour définir la LANGUAGE_ENDPOINTvariable d’environnement, remplacez your-endpoint par le point de terminaison de votre ressource.
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

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.

  1. 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.

  2. Sur l’écran Sélectionner des fonctionnalités supplémentaires qui s’affiche, sélectionnez Continuer à créer votre ressource.

    Capture d’écran montrant des options de fonctionnalité supplémentaires dans le Portail Azure.

  3. 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.

    Capture d’écran montrant les détails de la création d’une ressource dans le portail Azure.

  4. Vérifiez que l’Avis d’IA responsable est coché.

  5. Au bas de la page, sélectionnez Vérifier + créer.

  6. 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.

  1. Une fois la ressource de langage déployée, cliquez sur le bouton Accéder à la ressource sous Étapes suivantes.

    Capture d’écran montrant les étapes suivantes après le déploiement d’une ressource.

  2. 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.

    Capture d’écran montrant la section clés et point de terminaison d’une ressource.

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.

Conseil

N’incluez pas la clé directement dans votre code et ne la publiez jamais publiquement. Pour découvrir d’autres options d’authentification telles qu’Azure Key Vault, consultez l’article sur la sécurité d’Azure AI services.

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.

  1. Pour définir la variable d’environnement LANGUAGE_KEY, remplacez your-key par l’une des clés de votre ressource.
  2. Pour définir la LANGUAGE_ENDPOINTvariable d’environnement, remplacez your-endpoint par le point de terminaison de votre ressource.
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

Documentation de référence

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

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.

  1. 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.

  2. Sur l’écran Sélectionner des fonctionnalités supplémentaires qui s’affiche, sélectionnez Continuer à créer votre ressource.

    Capture d’écran montrant des options de fonctionnalité supplémentaires dans le Portail Azure.

  3. 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.

    Capture d’écran montrant les détails de la création d’une ressource dans le portail Azure.

  4. Vérifiez que l’Avis d’IA responsable est coché.

  5. Au bas de la page, sélectionnez Vérifier + créer.

  6. 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.

  1. Une fois la ressource de langage déployée, cliquez sur le bouton Accéder à la ressource sous Étapes suivantes.

    Capture d’écran montrant les étapes suivantes après le déploiement d’une ressource.

  2. 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.

    Capture d’écran montrant la section clés et point de terminaison d’une ressource.

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.

Conseil

N’incluez pas la clé directement dans votre code et ne la publiez jamais publiquement. Pour découvrir d’autres options d’authentification telles qu’Azure Key Vault, consultez l’article sur la sécurité d’Azure AI services.

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.

  1. Pour définir la variable d’environnement LANGUAGE_KEY, remplacez your-key par l’une des clés de votre ressource.
  2. Pour définir la LANGUAGE_ENDPOINTvariable d’environnement, remplacez your-endpoint par le point de terminaison de votre ressource.
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

Étapes suivantes