Procédure : Analyse des sentiments et Exploration des opinions

La fonctionnalité Analyse des sentiments de l’API Analyse de texte offre deux façons de détecter les sentiments positifs et négatifs. Si vous envoyez une demande d’Analyse de sentiments, l’API retourne des étiquettes de sentiment, comme « negative » (négatif), « neutral » (neutre) et « positive » (positif), et des scores de confiance au niveau de la phrase et du document. Vous pouvez également envoyer des demandes d’Exploration des opinions en utilisant le point de terminaison Analyse des sentiments, qui fournit des informations précises sur les opinions relatives à des mots (comme les attributs de produits ou de services) du texte.

Les modèles IA utilisés par l’API sont fournis par le service ; vous n’avez qu’à envoyer le contenu à analyser.

Versions et fonctionnalités d’Analyse des sentiments

Fonctionnalité Analyse des sentiments v3.0 Analyse des sentiments v3.1
Méthodes pour les requêtes uniques et de lots X X
Scores et étiquetage d’Analyse des sentiments X X
Conteneur Docker basé sur Linux X
Exploration des opinions X

Analyse des sentiments

Dans sa version 3.x, Analyse des sentiments applique des étiquettes de sentiment au texte, qui sont retournées au niveau de la phrase et du document, avec un score de confiance pour chacune d’elles.

Les étiquettes sont positive (positif), negative (négatif) et neutral (neutre). Au niveau du document, l’étiquette de sentiment mixed (mixte) peut aussi être retournée. Le sentiment du document est déterminé comme suit :

Sentiment des phrases Étiquette de document retournée
Le document contient au moins une phrase positive. Le reste des phrases est de type neutral. positive
Le document contient au moins une phrase negative. Le reste des phrases est de type neutral. negative
Le document contient au moins une phrase negative et au moins une phrase positive. mixed
Toutes les phrases du document sont de type neutral. neutral

Les scores de confiance sont compris entre 1 et 0. Plus les scores sont proches de 1, plus le niveau de confiance dans la classification de l’étiquette est élevé ; inversement, plus les scores sont faibles, plus le niveau de confiance est bas. Pour chaque document ou chaque phrase, les scores prédits associés aux étiquettes (positif, négatif et neutre) donnent la somme de 1. Pour plus d’informations, consultez la note de transparence relative à Analyse de texte.

Exploration des opinions

Exploration des opinions est une fonctionnalité d’Analyse des sentiments, à compter la version 3.1. Également connu sous le nom d’Analyse des sentiments basée sur l’aspect dans le registre du traitement en langage naturel, cette fonctionnalité fournit des informations plus précises sur les opinions liées aux attributs de produits ou de services dans le texte. L’API fait apparaître les opinions en tant que cible (substantif ou verbe) ainsi qu’une évaluation (adjectif).

Par exemple, si un client laisse un commentaire sur un hôtel, comme « la chambre était géniale, mais le personnel peu sympathique », Exploration des opinions va repérer des cibles (aspects) dans le texte ainsi que les évaluations (opinions) et les sentiments associés. Analyse des sentiments peut signaler seulement un sentiment négatif.

Diagramme de l’exemple d’Exploration des opinions

Pour avoir l’Exploration des opinions dans vos résultats, vous devez inclure l’indicateur opinionMining=true dans une demande d’Analyse de sentiments. Les résultats de l’Exploration des opinions sont inclus dans la réponse de l’Analyse des sentiments. L’exploration des opinions est une extension de l’Analyse des sentiments qui est incluse dans votre niveau tarifaire actuel.

Envoie d’une requête d’API REST

Préparation

La qualité des résultats de l’analyse des sentiments est d’autant meilleure que vous lui donnez de petites quantités de texte à analyser. Au contraire, l’extraction d’expressions clés fonctionne mieux sur de plus grands blocs de texte. Pour obtenir des résultats optimaux pour ces deux opérations, envisagez de restructurer les entrées en conséquence.

Vous devez disposer des documents JSON dans ce format : ID, texte et langue. Analyse des sentiments prend en charge un large éventail de langues. Pour en savoir plus, consultez Langages pris en charge.

La taille du document doit être inférieure à 5 120 caractères par document. Pour connaître le nombre maximal de documents autorisés dans une collection, consultez l’article Limites de données sous Concepts. La collection est soumise dans le corps de la demande.

Structurer la requête

Créez une requête POST. Vous pouvez utiliser Postman ou la console de test d’API via les liens de référence suivants pour en structurer une rapidement et l’envoyer.

Points de terminaison de requête

Définissez le point de terminaison HTTPS pour l’analyse des sentiments à l’aide d’une ressource Analyse de texte sur Azure ou d’un conteneur Analyse de texte instancié. Vous devez inclure l’URL correspondant à la version que vous souhaitez utiliser. Par exemple :

Notes

Vous pouvez trouver la clé et le point de terminaison pour votre ressource Analyse de texte dans le portail Azure. Ces informations se trouvent dans la page Démarrage rapide de la ressource, sous gestion des ressources.

Analyse des sentiments

https://<your-custom-subdomain>.cognitiveservices.azure.com/text/analytics/v3.1/sentiment

Exploration des opinions

Pour obtenir les résultats de l’Exploration des opinions, vous devez inclure le paramètre opinionMining=true. Par exemple :

https://<your-custom-subdomain>.cognitiveservices.azure.com/text/analytics/v3.1/sentiment?opinionMining=true

La valeur par défaut de ce paramètre est false.

Définissez un en-tête de requête pour inclure votre clé d’API Analyse de texte. Dans le corps de la demande, fournissez la collection de documents JSON que vous avez préparée pour cette analyse.

Exemple de demande pour l’Analyse des sentiments et l’Exploration des opinions

Voici un exemple de contenu que vous pouvez soumettre pour analyse des sentiments. Le format de la demande est le même pour les deux versions, v3.0 et v3.1.

{
  "documents": [
    {
      "language": "en",
      "id": "1",
      "text": "The restaurant had great food and our waiter was friendly."
    }
  ]
}

Publier la requête

L’analyse est effectuée à la réception de la demande. Pour connaître la taille et le nombre de requêtes que vous pouvez envoyer par minute et seconde, consultez la section Limites de données dans la vue d’ensemble.

L’API Analyse de texte est sans état. Aucune donnée n’est stockée dans votre compte, et les résultats sont retournés immédiatement dans la réponse.

View the results

La sortie est retournée immédiatement. Vous pouvez diffuser les résultats vers une application qui accepte JSON ou enregistrer la sortie dans un fichier sur le système local. Ensuite, importez la sortie dans une application que vous pouvez utiliser pour trier, rechercher et manipuler les données. En raison de la prise en charge multilingue et des émojis, la réponse peut contenir des décalages de texte. Pour plus d’informations, consultez le guide pratique pour traiter les décalages.

Exemple de réponse de l’Analyse des sentiments et de l’Exploration des opinions

Important

Voici un exemple JSON pour l’utilisation de l’Exploration des opinions avec l’Analyse des sentiments, dans la version 3.1 de l’API. Si vous ne demandez pas l’Exploration des opinions, la réponse de l’API sera la même que sous l’onglet Version 3.0.

Analyse des sentiments version 3.1 peut retourner des objets de réponse à la fois pour l’Analyse des sentiments et l’Exploration des opinions.

L’analyse des sentiments retourne une étiquette de sentiment et un score de confiance pour l’ensemble du document et chaque phrase qu’il contient. Plus les scores sont proches de 1, plus le niveau de confiance dans la classification de l’étiquette est élevé ; inversement, plus les scores sont faibles, plus le niveau de confiance est bas. Un document peut contenir plusieurs phrases, et les scores de confiance dans chaque document ou phrase s’additionnent pour arriver à 1.

L’Exploration des opinions localisera les cibles (substantifs ou verbes) dans le texte et leur évaluation associée (adjectif). Dans la réponse ci-dessous, la phrase The restaurant had great food and our waiter was friendly (Les mets au restaurant étaient excellents et le serveur sympathique) présente deux cibles : food (mets) et waiter (serveur). La propriété relations de chaque cible contient une valeur ref avec la référence d’URI aux objets documents, sentences et assessments associés.

L’API retourne des avis en tant que cible (substantif ou verbe) ainsi qu’une évaluation (adjectif).

{
  "documents": [
    {
      "id": "1",
      "sentiment": "positive",
      "confidenceScores": {
        "positive": 1,
        "neutral": 0,
        "negative": 0
      },
      "sentences": [
        {
          "sentiment": "positive",
          "confidenceScores": {
            "positive": 1,
            "neutral": 0,
            "negative": 0
          },
          "offset": 0,
          "length": 58,
          "text": "The restaurant had great food and our waiter was friendly.",
          "targets": [
            {
              "sentiment": "positive",
              "confidenceScores": {
                "positive": 1,
                "negative": 0
              },
              "offset": 25,
              "length": 4,
              "text": "food",
              "relations": [
                {
                  "relationType": "assessment",
                  "ref": "#/documents/0/sentences/0/assessments/0"
                }
              ]
            },
            {
              "sentiment": "positive",
              "confidenceScores": {
                "positive": 1,
                "negative": 0
              },
              "offset": 38,
              "length": 6,
              "text": "waiter",
              "relations": [
                {
                  "relationType": "assessment",
                  "ref": "#/documents/0/sentences/0/assessments/1"
                }
              ]
            }
          ],
          "assessments": [
            {
              "sentiment": "positive",
              "confidenceScores": {
                "positive": 1,
                "negative": 0
              },
              "offset": 19,
              "length": 5,
              "text": "great",
              "isNegated": false
            },
            {
              "sentiment": "positive",
              "confidenceScores": {
                "positive": 1,
                "negative": 0
              },
              "offset": 49,
              "length": 8,
              "text": "friendly",
              "isNegated": false
            }
          ]
        }
      ],
      "warnings": []
    }
  ],
  "errors": [],
  "modelVersion": "2020-04-01"
}

Résumé

Dans cet article, vous avez découvert les concepts et le workflow de l’analyse des sentiments avec l’API Analyse de texte. En résumé :

  • L’Analyse des sentiments et l’Exploration des opinions sont disponibles pour certaines langues.
  • Les documents JSON figurant dans le corps de la demande incluent un ID, un texte et un code de langue.
  • La requête POST s’effectue sur un point de terminaison /sentiment, à l’aide d’une clé d’accès et d’un point de terminaison personnalisés valides pour votre abonnement.
  • Utilisez opinionMining=true dans les demandes d’Analyse des sentiments pour obtenir des résultats de l’Exploration des opinions.
  • La sortie de réponse, qui se compose d’un score de sentiment pour chaque ID de document, peut être diffusée vers n’importe quelle application qui accepte JSON, Par exemple, Excel et Power BI.

Voir aussi