Compétence cognitive Sentiment (v3)

La compétence Sentiment v3 évalue du texte non structuré. Pour chaque enregistrement, elle fournit des étiquettes de sentiment (par exemple « négatif », « neutre » et « positif ») en fonction du score de confiance le plus élevé trouvé par le service au niveau de la phrase et du document. Elle utilise les modèles Machine Learning fournis par la version 3 du Service de langage dans les services Azure AI. Elle expose également des capacités d’exploration des opinions, qui fournit des informations plus précises sur les opinions relatives aux attributs de produits ou de services dans du texte.

Remarque

Cette compétence est liée aux services Azure AI et nécessite une ressource facturable pour les transactions qui dépassent 20 documents par indexeur et par jour. L'exécution des compétences intégrées est facturée au prix actuel du paiement à l'utilisation des services Azure AI.

@odata.type

Microsoft.Skills.Text.V3.SentimentSkill

Limites de données

La taille maximale d’un enregistrement est de 5 000 caractères selon String.Length. Si vous avez besoin de découper vos données avant de les envoyer à la compétence Sentiment, utilisez la compétence Fractionnement du texte.

Paramètres de la compétence

Les paramètres respectent la casse.

Nom du paramètre Description
defaultLanguageCode (Facultatif) Code de langue à appliquer aux documents qui ne spécifient pas explicitement la langue.
Voir la liste complète des langues prises en charge.
modelVersion (Facultatif) Spécifie la version du modèle à utiliser pour appeler l’analyse des sentiments. Si rien n’est spécifié, c’est la dernière version qui est utilisée par défaut. Nous vous recommandons de ne pas spécifier cette valeur, sauf nécessité.
includeOpinionMining Si la valeur est true, active la fonctionnalité d’exploration des opinions, qui permet d’inclure l’analyse des sentiments basée sur l’aspect dans les résultats en sortie. La valeur par défaut est false.

Entrées de la compétence

Nom d’entrée Description
text Texte à analyser.
languageCode (Facultatif) Chaîne indiquant la langue des enregistrements. Si ce paramètre n’est pas spécifié, la valeur par défaut est « en ».
Voir la liste complète des langues prises en charge.

Sorties de la compétence

Nom de sortie Description
sentiment Valeur de chaîne représentant l’étiquette de sentiment de l’ensemble du texte analysé (positif, neutre ou négatif).
confidenceScores Type complexe avec trois valeurs doubles, une pour l’évaluation positive, une autre pour l’évaluation neutre et la dernière pour l’évaluation négative. Les valeurs sont comprises entre 0 et 1,00, où 1,00 représente la confiance la plus élevée possible dans une attribution d’étiquette donnée.
sentences Collection de types complexes qui décompose le sentiment du texte phrase par phrase. C’est également là que les résultats de l’exploration des opinions sont retournés sous la forme de cibles et d’évaluations si includeOpinionMining a la valeur true.

Exemple de définition

{
    "@odata.type": "#Microsoft.Skills.Text.V3.SentimentSkill",
    "context": "/document",
    "includeOpinionMining": true,
    "inputs": [
        {
            "name": "text",
            "source": "/document/content"
        },
        {
            "name": "languageCode",
            "source": "/document/languageCode"
        }
    ],
    "outputs": [
        {
            "name": "sentiment",
            "targetName": "sentiment"
        },
        {
            "name": "confidenceScores",
            "targetName": "confidenceScores"
        },
        {
            "name": "sentences",
            "targetName": "sentences"
        }
    ]
}

Exemple d’entrée

{
    "values": [
        {
            "recordId": "1",
            "data": {
                "text": "I had a terrible time at the hotel. The staff was rude and the food was awful.",
                "languageCode": "en"
            }
        }
    ]
}

Exemple de sortie

{
    "values": [
        {
            "recordId": "1",
            "data": {
                "sentiment": "negative",
                "confidenceScores": {
                    "positive": 0.0,
                    "neutral": 0.0,
                    "negative": 1.0
                },
                "sentences": [
                    {
                        "text": "I had a terrible time at the hotel.",
                        "sentiment": "negative",
                        "confidenceScores": {
                            "positive": 0.0,
                            "neutral": 0.0,
                            "negative": 1.0
                        },
                        "offset": 0,
                        "length": 35,
                        "targets": [],
                        "assessments": [],
                    },
                    {
                        "text": "The staff was rude and the food was awful.",
                        "sentiment": "negative",
                        "confidenceScores": {
                            "positive": 0.0,
                            "neutral": 0.0,
                            "negative": 1.0
                        },
                        "offset":36,
                        "length": 42,
                        "targets": [
                            {
                                "text": "staff",
                                "sentiment": "negative",
                                "confidenceScores": {
                                    "positive": 0.0,
                                    "neutral": 0.0,
                                    "negative": 1.0
                                },
                                "offset": 40,
                                "length": 5,
                                "relations": [
                                    {
                                        "relationType": "assessment",
                                        "ref": "#/documents/0/sentences/1/assessments/0",
                                    }
                                ]
                            },
                            {
                                "text": "food",
                                "sentiment": "negative",
                                "confidenceScores": {
                                    "positive": 0.0,
                                    "neutral": 0.0,
                                    "negative": 1.0
                                },
                                "offset": 63,
                                "length": 4,
                                "relations": [
                                    {
                                        "relationType": "assessment",
                                        "ref": "#/documents/0/sentences/1/assessments/1",
                                    }
                                ]
                            }
                        ],
                        "assessments": [
                            {
                                "text": "rude",
                                "sentiment": "negative",
                                "confidenceScores": {
                                    "positive": 0.0,
                                    "neutral": 0.0,
                                    "negative": 1.0
                                },
                                "offset": 50,
                                "length": 4,
                                "isNegated": false
                            },
                            {
                                "text": "awful",
                                "sentiment": "negative",
                                "confidenceScores": {
                                    "positive": 0.0,
                                    "neutral": 0.0,
                                    "negative": 1.0
                                },
                                "offset": 72,
                                "length": 5,
                                "isNegated": false
                            }
                        ],
                    }
                ]
            }
        }
    ]
}

Cas d’avertissement

Si le texte est vide ou que la langue n’est pas prise en charge, un avertissement est généré. Aucun résultat de sentiment n’est retourné.

Voir aussi