SENTIMENT (SNOWFLAKE.CORTEX)

Snowflake Cortex AI propose deux fonctions spécifiques aux tâches qui offrent la possibilité d’effectuer facilement une analyse des sentiments sur des données textuelles telles que des commentaires ou des avis de clients.

ENTITY_SENTIMENT fournit à la fois un sentiment global et un sentiment granulaire spécifique à l’entité. Il est idéal pour les cas d’utilisation qui exigent une analyse des sentiments pour des aspects spécifiques du texte, ou qui nécessitent une identification nuancée des sentiments : positifs, négatifs, neutres et mixtes. Par exemple :

  • Analyse détaillée des produits

  • Études complètes sur la perception de la marque

  • Veille économique avancée

  • Mappage du parcours de l’expérience client

SENTIMENT renvoie un score de sentiment numérique qui identifie le degré de négativité ou de positivité. Il est conçu pour les cas d’utilisation qui privilégient la rapidité et le coût par rapport à l’analyse granulaire au niveau de l’entité, comme par exemple :

  • Surveillance du sentiment social et alertes

  • Triage des retours d’information des clients en grand nombre

  • Analyse de la performance du contenu

Qualité des sentiments

ENTITY_SENTIMENT offre une précision de pointe en matière d’aspect et de sentiment global. Le tableau suivant fournit des informations sur les performances des modèles les plus courants pour les critères de comparaison Aspect Based Sentiment (ABSA-mix) et Overall Sentiment, y compris les modèles proposés par Snowflake ainsi que d’autres modèles courants.


Fonction ou modèle
Aspect Based Sentiment
Accuracy (ABSA-mix)

Overall Sentiment Accuracy

ENTITY_SENTIMENT de Cortex AI

0,91

0,86

claude-3-5-sonnet

0,84

0,72

mistral-large2

0,83

0,77

GPT-4

0,82

0,73

llama3.3-70b

0,81

0,72

llama3.1-8b

0,77

0,79

SENTIMENT de Cortex AI

s/o

0,71

Astuce

Si vous ne savez pas quelle fonction correspond le mieux à vos besoins, commencez par ENTITY_SENTIMENT pour établir une base de référence. Essayez ensuite SENTIMENT pour voir si la granularité et la nuance supplémentaires fournies par ENTITY_SENTIMENT sont nécessaires pour votre cas d’utilisation.

ENTITY_SENTIMENT

ENTITY_SENTIMENT de Cortex AI capture un spectre d’opinions des clients au-delà des compartiments positifs, négatifs et neutres. Pour l’analyse des sentiments basée sur les aspects, spécifiez le contenu (tel qu’un commentaire client ou une évaluation) et les entités (aspects ou catégories) pour lesquels vous souhaitez analyser les sentiments. ENTITY_SENTIMENT renvoie des notes de sentiment pour chaque entité ainsi qu’une note de sentiment globale.

L’exemple suivant utilise ENTITY_SENTIMENT pour obtenir la classification des sentiments d’un avis sur un produit.

SELECT SNOWFLAKE.CORTEX.ENTITY_SENTIMENT('A tourist\'s delight, in low urban light,
  Recommended gem, a pizza night sight.  Swift arrival, a pleasure so right,
  Yet, pockets felt lighter, a slight pricey bite. 💰🍕🚀',
  ['Cost', 'Quality', 'Waiting Time']);
Copy

Réponse :

{
  "categories": [
    {
      "name": "overall",
      "sentiment": "mixed"
    },
    {
      "name": "Cost",
      "sentiment": "negative"
    },
    {
      "name": "Quality",
      "sentiment": "positive"
    },
    {
      "name": "Waiting Time",
      "sentiment": "positive"
    }
  ]
}

L’exemple suivant « traverse » des entités sans rapport avec le contenu de l’évaluation du produit, le professionnalisme et la marque, et les classe comme « inconnues ».

SELECT SNOWFLAKE.CORTEX.ENTITY_SENTIMENT('A tourist\'s delight, in low urban light,
  Recommended gem, a pizza night sight. Swift arrival, a pleasure so right,
  Yet, pockets felt lighter, a slight pricey bite. 💰🍕🚀',
  ['Cost', 'Professionalism' ,'Brand']);
Copy

Réponse :

{
  "categories": [
    {
      "name": "overall",
      "sentiment": "mixed"
    },
    {
      "name": "Brand",
      "sentiment": "unknown"
    },
    {
      "name": "Cost",
      "sentiment": "negative"
    },
    {
      "name": "Professionalism",
      "sentiment": "unknown"
    }
  ]
}

Si vous ne voulez que le sentiment général, indiquez le contenu sans les entités d’analyse.

SELECT SNOWFLAKE.CORTEX.ENTITY_SENTIMENT('I went to the store, bought the leggings and exact same as shorts...
  they are expensive but i heard such great things. After wearing them twice i noticed a string popping out already.
  And aince i believed that they were this amazing luxury brand i didnt keep the receipt 😭 ');
Copy

Réponse :

{
  "categories": [
    {
      "name": "overall",
      "sentiment": "mixed"
    }
  ]
}

SENTIMENT

La fonction SENTIMENT de Cortex AI renvoie la fonctionnalité globale sous la forme d’une note comprise entre -1,0 et 1,0. Plus la valeur est proche de 1, plus le texte est susceptible d’avoir un sentiment positif ; plus la valeur est proche de -1, plus le texte est susceptible d’avoir un sentiment négatif. Le tableau ci-dessous fournit des indications sur la manière d’interpréter les scores de sentiment :

Sentiment

Score de sentiment

Positif

0,5 à 1

Neutre

-0,5 à 0,5

Négatif

-0,5 à -1

L’exemple suivant utilise SENTIMENT pour obtenir la classification de sentiment d’un avis sur un service de restauration, que nous pouvons considérer comme positif étant donné le score de probabilité de 0,54.

SELECT SNOWFLAKE.CORTEX.SENTIMENT('A tourist\'s delight, in low urban light,
  Recommended gem, a pizza night sight. Swift arrival, a pleasure so right,
  Yet, pockets felt lighter, a slight pricey bite. 💰🍕🚀');
Copy

Réponse :

0.5424458

Restrictions du modèle

Tous les modèles disponibles dans Snowflake Cortex AI ont des limites sur le nombre total de jetons d’entrée et de sortie, ce qui est appelé la fenêtre contextuelle du modèle.

La fenêtre contextuelle de ENTITY_SENTIMENT est définie de manière à ce que le modèle puisse maintenir un niveau de précision élevé. Pour plus de contexte, ENTITY_SENTIMENT a été formé et optimisé pour des entrées de texte de 2 048 jetons (environ 1 600 mots), et vous pouvez passer un maximum de 10 catégories d’entités, chacune ne dépassant pas 30 caractères.

Note

ENTITY_SENTIMENT et SENTIMENT sont actuellement optimisés pour l’anglais.

Fonction

Fenêtre contextuelle (jetons)

Étiquettes d’entités maximales

ENTITY_SENTIMENT

2,048

10

SENTIMENT

512

s/o

Disponibilité régionale

ENTITY_SENTIMENT et SENTIMENT sont disponibles dans les régions suivantes :

Fonction
(Modèle)
AWS US West 2
(Oregon)
AWS US East 1
(Virginie du Nord)
AWS Europe Central 1
(Francfort)
AWS Europe Ouest 1
(Irlande)
AWS AP Sud-Est 2
(Sydney)
AWS AP Nord-Est 1
(Tokyo)
Azure Est US 2
(Virginie)
Azure Europe de l’Ouest
(Pays-Bas)
AWS
(inter-régionale)

ENTITY_SENTIMENT

SENTIMENT