Procédure : Détecter les sentiments à l’aide de l’API Analyse de texteHow to: Detect sentiment using the Text Analytics API

La fonctionnalité Analyse des sentiments de l’API Analyse de texte évalue le texte et retourne des scores et des étiquettes de sentiment pour chaque phrase.The Text Analytics API's Sentiment Analysis feature evaluates text and returns sentiment scores and labels for each sentence. Elle s’avère utile pour détecter les sentiments positifs ou négatifs dans les réseaux sociaux, les avis client, les forums de discussion, etc.This is useful for detecting positive and negative sentiment in social media, customer reviews, discussion forums and more. Les modèles IA utilisés par l’API sont fournis par le service ; vous n’avez qu’à envoyer le contenu à analyser.The AI models used by the API are provided by the service, you just have to send content for analysis.

Conseil

Analyse de texte fournit également une image conteneur Docker basée sur Linux pour la détection de la langue. Vous pouvez ainsi installer et exécuter le conteneur Analyse de texte à proximité de vos données.Text Analytics also provides a Linux-based Docker container image for language detection, so you can install and run the Text Analytics container close to your data.

Analyse des sentiments prend en charge une large palette de langues, et plus de langues encore en préversion.Sentiment Analysis supports a wide range of languages, with more in preview. Pour en savoir plus, consultez Langages pris en charge.For more information, see Supported languages.

ConceptsConcepts

L’API Analyse de texte utilise un algorithme de classification de machine learning pour générer un score de sentiment compris entre 0 et 1.The Text Analytics API uses a machine learning classification algorithm to generate a sentiment score between 0 and 1. Les scores proches de 1 indiquent un sentiment positif, tandis que les scores proches de 0 dénotent un sentiment négatif.Scores closer to 1 indicate positive sentiment, while scores closer to 0 indicate negative sentiment. L’analyse des sentiments porte sur l’ensemble du document, et non sur des parties individuelles du texte.Sentiment analysis is performed on the entire document, instead of individual entities in the text. Cela signifie que les scores de sentiment retournés se situent au niveau du document ou de la phrase.This means sentiment scores are returned at a document or sentence level.

Le modèle utilisé est préentraîné avec un corpus étendu d’associations de texte et de sentiments.The model used is pre-trained with an extensive corpus of text and sentiment associations. Il utilise une combinaison de techniques pour l’analyse, notamment le traitement de texte, l’analyse morphosyntaxique, le positionnement des mots et les associations de mots.It utilizes a combination of techniques for analysis, including text processing, part-of-speech analysis, word placement, and word associations. Pour plus d’informations sur l’algorithme, consultez Présentation d’Analyse de texte.For more information about the algorithm, see Introducing Text Analytics. Actuellement, vous ne pouvez pas fournir vos propres données d’entraînement.Currently, it isn't possible to provide your own training data.

La précision des scores a tendance à s’améliorer quand les documents contiennent peu de phrases plutôt qu’un grand bloc de texte.There's a tendency for scoring accuracy to improve when documents contain fewer sentences rather than a large block of text. Lors d’une phase d’évaluation d’objectivité, le modèle détermine si un document dans son ensemble est objectif ou s’il contient des sentiments.During an objectivity assessment phase, the model determines whether a document as a whole is objective or contains sentiment. Un document principalement objectif n’évolue pas vers la phase de détection de sentiments, ce qui génère un score de 0,50 sans traitement supplémentaire.A document that's mostly objective doesn't progress to the sentiment detection phase, which results in a 0.50 score, with no further processing. Pour les documents qui se poursuivent dans le pipeline, la phase suivante génère un score supérieur ou inférieur à 0,50.For documents that continue in the pipeline, the next phase generates a score above or below 0.50. Le score dépend du degré de sentiment détecté dans le document.The score depends on the degree of sentiment detected in the document.

Versions et fonctionnalités d’Analyse des sentimentsSentiment Analysis versions and features

L’API Analyse de texte offre deux versions de l’Analyse des sentiments – v2 et v3.The Text Analytics API offers two versions of Sentiment Analysis - v2 and v3. Analyse des sentiments v3 (préversion publique) apporte des améliorations significatives en terme de précision et de détail du score et de la catégorisation de texte de l’API.Sentiment Analysis v3 (Public preview) provides significant improvements in the accuracy and detail of the API's text categorization and scoring.

Notes

  • Analyse des sentiments v3 nécessite le même format de requête et les mêmes limites de données que la version précédente.The Sentiment Analysis v3 request format and data limits are the same as the previous version.
  • Analyse des sentiments v3 est disponible dans les régions suivantes : Australia East, Central Canada, Central US, East Asia, East US, East US 2, North Europe, Southeast Asia, South Central US, UK South, West Europe et West US 2.Sentiment Analysis v3 is available in the following regions: Australia East, Central Canada, Central US, East Asia, East US, East US 2, North Europe, Southeast Asia, South Central US, UK South, West Europe, and West US 2.
FonctionnalitéFeature Analyse des sentiments v2Sentiment Analysis v2 Analyse des sentiments v3Sentiment Analysis v3
Méthodes pour les requêtes uniques et de lotsMethods for single, and batch requests XX XX
Scores de sentiment pour le document entierSentiment scores for the entire document XX XX
Scores de sentiment pour les phrases individuellesSentiment scores for individual sentences XX
Étiquetage des sentimentsSentiment labeling XX
Gestion des versions des modèlesModel versioning XX

Score de sentimentSentiment scoring

Analyse des sentiments v3 classifie le texte avec des étiquettes de sentiment (décrit ci-dessous).Sentiment Analysis v3 classifies text with sentiment labels (described below). Les scores retournés représentent le niveau de confiance du modèle pour ce qui est du caractère positif, négatif ou neutre du texte.The returned scores represent the model's confidence that the text is either positive, negative, or neutral. Plus les valeurs sont élevées, plus le niveau de confiance est haut.Higher values signify higher confidence.

Étiquetage des sentimentsSentiment labeling

Analyse des sentiments v3 peut retourner des scores et des étiquettes au niveau du document et des phrases.Sentiment Analysis v3 can return scores and labels at a sentence and document level. Les scores et les étiquettes sont positive, negative et neutral.The scores and labels are positive, negative, and neutral. Au niveau du document, l’étiquette de sentiment mixed peut aussi être retournée sans score.At the document level, the mixed sentiment label also can be returned without a score. Le sentiment du document est déterminé comme suit :The sentiment of the document is determined below:

Sentiment des phrasesSentence sentiment Étiquette de document retournéeReturned document label
Le document contient au moins une phrase positive.At least one positive sentence is in the document. Le reste des phrases est de type neutral.The rest of the sentences are neutral. positive
Le document contient au moins une phrase negative.At least one negative sentence is in the document. Le reste des phrases est de type neutral.The rest of the sentences are neutral. negative
Le document contient au moins une phrase negative et au moins une phrase positive.At least one negative sentence and at least one positive sentence are in the document. mixed
Toutes les phrases du document sont de type neutral.All sentences in the document are neutral. neutral

Gestion des versions des modèlesModel versioning

Notes

La gestion des versions des modèles pour l’analyse des sentiments est disponible à partir de la version v3.0-preview.1.Model versioning for sentiment analysis is available starting in version v3.0-preview.1.

La version 3 de l’API Analyse de texte vous permet de choisir la version du modèle la plus récente pour vos données.Version 3 of the Text Analytics API lets you choose the model version that is most current for your data. Utilisez le paramètre facultatif model-version pour sélectionner la version du modèle souhaitée pour vos requêtes.Use the optional model-version parameter to select the version of the model that is desired for your requests. Si ce paramètre n’est pas spécifié, l’API prend par défaut la valeur latest, la dernière version stable.If this parameter isn't specified the API will default to latest, the latest stable version. Même si vous pouvez utiliser la version du modèle la plus récente dans toute requête, seules certaines fonctionnalités sont mises à jour dans chaque version.Even though you can use the newest model-version in any request, only some features are updated in each version. Le tableau ci-dessous décrit les fonctionnalités qui ont été mises à jour dans chaque version du modèle :The table below describes which features have been updated in each model version:

Version du modèleModel version Fonctionnalités mises à jourFeatures updated Version la plus récente pour :Latest version for:
2020-02-01 Reconnaissance d’entitéEntity recognition Reconnaissance d’entitéEntity recognition
2019-10-01 Reconnaissance d’entité, Analyse des sentimentsEntity recognition, Sentiment analysis Détection de la langue, Extraction d’expressions clés, Analyse des sentimentsLanguage detection, Key phrase extraction, Sentiment analysis

Chaque réponse des points de terminaison v3 comprend un champ model-version spécifiant la version de modèle utilisée.Each response from the v3 endpoints includes a model-version field specifying the model version that was used.

{
    "documents": […]
    "errors": []
    "model-version": "2019-10-01"
}

Pour plus d’informations sur les mises à jour de ces versions du modèle, consultez Nouveautés.See What's new for details on the updates for these model versions.

Exemple de code C#Example C# code

Vous trouverez un exemple d’application C# qui appelle cette version d’Analyse des sentiments sur GitHub.You can find an example C# application that calls this version of Sentiment Analysis on GitHub.

Envoie d’une requête d’API RESTSending a REST API request

PréparationPreparation

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.Sentiment analysis produces a higher-quality result when you give it smaller amounts of text to work on. Au contraire, l’extraction d’expressions clés fonctionne mieux sur de plus grands blocs de texte.This is opposite from key phrase extraction, which performs better on larger blocks of text. Pour obtenir des résultats optimaux pour ces deux opérations, envisagez de restructurer les entrées en conséquence.To get the best results from both operations, consider restructuring the inputs accordingly.

Vous devez disposer des documents JSON dans ce format : ID, texte et langue.You must have JSON documents in this format: ID, text, and language.

La taille du document doit être inférieure à 5 120 caractères par document.Document size must be under 5,120 characters per document. Vous pouvez avoir jusqu’à 1000 éléments (ID) par collection.You can have up to 1,000 items (IDs) per collection. La collection est soumise dans le corps de la demande.The collection is submitted in the body of the request.

Structurer la requêteStructure the request

Créez une requête POST.Create a POST request. 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.You can use Postman or the API testing console in the following reference links to quickly structure and send one.

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é.Set the HTTPS endpoint for sentiment analysis by using either a Text Analytics resource on Azure or an instantiated Text Analytics container. Vous devez inclure l’URL correspondant à la version que vous souhaitez utiliser.You must include the correct URL for the version you want to use. Par exemple :For example:

Notes

Vous pouvez trouver votre clé et votre point de terminaison pour votre ressource Analyse de texte dans le portail Azure.You can find your key and endpoint for your Text Analytics resource on the azure portal. Ces informations se trouvent dans la page Démarrage rapide de la ressource, sous gestion des ressources.They will be located on the resource's Quick start page, under resource management.

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

Définissez un en-tête de requête pour inclure votre clé d’API Analyse de texte.Set a request header to include your Text Analytics API key. Dans le corps de la demande, fournissez la collection de documents JSON que vous avez préparée pour cette analyse.In the request body, provide the JSON documents collection you prepared for this analysis.

Exemple de requête Analyse des sentimentsExample Sentiment Analysis request

Voici un exemple de contenu que vous pouvez soumettre pour analyse des sentiments.The following is an example of content you might submit for sentiment analysis. Le format de la requête est le même pour les deux versions de l’API.The request format is the same for both versions of the API.

{
    "documents": [
    {
        "language": "en",
        "id": "1",
        "text": "Hello world. This is some input text that I love."
    },
    {
        "language": "en",
        "id": "2",
        "text": "It's incredibly sunny outside! I'm so happy."
    }
    ],
}

Publier la requêtePost the request

L’analyse est effectuée à la réception de la demande.Analysis is performed upon receipt of the request. 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.For information on the size and number of requests you can send per minute and second, see the data limits section in the overview.

L’API Analyse de texte est sans état.The Text Analytics API is stateless. Aucune donnée n’est stockée dans votre compte, et les résultats sont retournés immédiatement dans la réponse.No data is stored in your account, and results are returned immediately in the response.

View the resultsView the results

L’analyseur de sentiments classifie le texte comme principalement positif ou négatif.The sentiment analyzer classifies text as predominantly positive or negative. Il attribue un score compris entre 0 et 1.It assigns a score in the range of 0 to 1. Les valeurs proches de 0,5 sont neutres ou indéterminées.Values close to 0.5 are neutral or indeterminate. Un score de 0,5 indique la neutralité.A score of 0.5 indicates neutrality. Quand une chaîne ne peut pas être analysée en ce qui concerne les sentiments ou ne présente pas de sentiments, le score est toujours exactement 0,5.When a string can't be analyzed for sentiment or has no sentiment, the score is always 0.5 exactly. Par exemple, si vous traitez une chaîne espagnole avec un code de langue anglaise, le score obtenu est 0,5.For example, if you pass in a Spanish string with an English language code, the score is 0.5.

La sortie est retournée immédiatement.Output is returned immediately. Vous pouvez diffuser les résultats vers une application qui accepte JSON ou enregistrer la sortie dans un fichier sur le système local.You can stream the results to an application that accepts JSON or save the output to a file on the local system. Ensuite, importez la sortie dans une application que vous pouvez utiliser pour trier, rechercher et manipuler les données.Then, import the output into an application that you can use to sort, search, and manipulate the data.

Exemple de réponse d’Analyse des sentiments v3Sentiment Analysis v3 example response

Les réponses d’Analyse des sentiments v3 contiennent des étiquettes de sentiment pour chaque phrase et document analysés.Responses from Sentiment Analysis v3 contain sentiment labels and scores for each analyzed sentence and document. documentScores n’est pas retourné si l’étiquette de sentiment du document est mixed.documentScores is not returned if the document sentiment label is mixed.

{
    "documents": [
        {
            "id": "1",
            "sentiment": "positive",
            "documentScores": {
                "positive": 0.98570585250854492,
                "neutral": 0.0001625834556762,
                "negative": 0.0141316400840878
            },
            "sentences": [
                {
                    "sentiment": "neutral",
                    "sentenceScores": {
                        "positive": 0.0785155147314072,
                        "neutral": 0.89702343940734863,
                        "negative": 0.0244610067456961
                    },
                    "offset": 0,
                    "length": 12
                },
                {
                    "sentiment": "positive",
                    "sentenceScores": {
                        "positive": 0.98570585250854492,
                        "neutral": 0.0001625834556762,
                        "negative": 0.0141316400840878
                    },
                    "offset": 13,
                    "length": 36
                }
            ]
        },
        {
            "id": "2",
            "sentiment": "positive",
            "documentScores": {
                "positive": 0.89198976755142212,
                "neutral": 0.103382371366024,
                "negative": 0.0046278294175863
            },
            "sentences": [
                {
                    "sentiment": "positive",
                    "sentenceScores": {
                        "positive": 0.78401315212249756,
                        "neutral": 0.2067587077617645,
                        "negative": 0.0092281140387058
                    },
                    "offset": 0,
                    "length": 30
                },
                {
                    "sentiment": "positive",
                    "sentenceScores": {
                        "positive": 0.99996638298034668,
                        "neutral": 0.0000060341349126,
                        "negative": 0.0000275444017461
                    },
                    "offset": 31,
                    "length": 13
                }
            ]
        }
    ],
    "errors": []
}

RésuméSummary

Dans cet article, vous avez découvert les concepts et le workflow de l’analyse des sentiments avec l’API Analyse de texte.In this article, you learned concepts and workflow for sentiment analysis using the Text Analytics API. En résumé :In summary:

  • Analyse des sentiments est disponible pour certaines langues dans deux versions.Sentiment Analysis is available for selected languages in two versions.
  • Les documents JSON figurant dans le corps de la demande incluent un ID, un texte et un code de langue.JSON documents in the request body include an ID, text, and language code.
  • 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.The POST request is to a /sentiment endpoint by using a personalized access key and an endpoint that's valid for your subscription.
  • 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,Response output, which consists of a sentiment score for each document ID, can be streamed to any app that accepts JSON. Par exemple, Excel et Power BI.For example, Excel and Power BI.

Voir aussiSee also