Extraction des sentiments

Note

AI_SENTIMENT est la version actualisée de ENTITY_SENTIMENT (SNOWFLAKE.CORTEX). Pour obtenir les dernières fonctionnalités, utilisez AI_SENTIMENT.

La fonction AI_SENTIMENT fournit une classification des sentiments de pointe sur divers marchés et dans différentes langues. Avec AI_SENTIMENT, vous pouvez obtenir à la fois une analyse des sentiments globale et granulaire, basée sur les aspects, pour des cas d’utilisation tels que ceux qui suivent :

  • Surveillance des réseaux sociaux

  • Analyse détaillée des produits

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

  • Veille économique avancée

  • Analyse de l’engagement des employés

  • Mappage du parcours de l’expérience client

  • Analyse des performances du contenu

  • Optimisation du support client

Qualité d’extraction des sentiments

AI_SENTIMENT utilise un grand modèle de langage Snowflake personnalisé qui fournit un sentiment global de pointe et une précision de sentiment basée sur l’aspect. La table suivante fournit des informations sur la manière dont AI_SENTIMENT fonctionne sur le sentiment général et le sentiment basé sur l’aspect (ABSA-mix) par rapport aux modèles populaires. Les langues évaluées dans le benchmark multilingue sont l’anglais, l’espagnol, le français, l’allemand, l’hindi, l’italien et le portugais.

Note

Certains des modèles comparés ne sont pas disponibles dans Snowflake Cortex.


Modèle
Aspect basé sur le sentiment
précision (ABSA-mix)
Aspect basé sur le sentiment
précision (ABSA-multilingual)
Sentiment général
précision
Sentiment général
précision (multilingue)

Cortex AI AI_SENTIMENT

0.92

0,81

0,83

0,83

claude-4-sonnet

0,84

0,79

0.75

0,82

mistral-large2

0,83

0.80

0,77

0.78

openai-gpt-4.1

0,83

0,73

0.80

0.78

llama4-scout

0,82

0,79

0,71

0.76

llama3.3-70b

0,82

0,79

0,71

0.76

AWS DetectSentiment

0.62

0.64

Appel de la fonction AI_SENTIMENT

Par défaut, Cortex AI_SENTIMENT renvoie des scores de sentiment globaux pour le contenu global. Cependant, AI_SENTIMENT peut également capturer un large éventail d’avis de clients au-delà des compartiments positifs, négatifs et neutres. Pour cette analyse facultative des sentiments basée sur les aspects, spécifiez le contenu (tel qu’un commentaire de client ou un avis) et les aspects (également appelés entités ou catégories) pour lesquels vous souhaitez analyser les sentiments. AI_SENTIMENT renvoie le sentiment pour chaque entité ainsi qu’un sentiment global. Pour obtenir uniquement le sentiment général, spécifiez le contenu sans aspects.

Exemples en anglais

L’exemple suivant utilise AI_SENTIMENT pour obtenir la classification de sentiment d’un avis sur un produit.

SELECT AI_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

Valeur de retour :

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

L’exemple suivant utilise AI_SENTIMENT pour obtenir la classification des sentiments pour des aspects spécifiques d’un avis sur un restaurant.

SELECT AI_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' ,'Wait Time']);
Copy

Valeur de retour :

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

Si certains aspects que vous spécifiez ne s’appliquent pas au texte que vous fournissez, alors AI_SENTIMENT renvoie « Inconnu » pour ces aspects, comme indiqué pour le professionnalisme et la marque dans l’exemple suivant.

SELECT AI_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

Valeur de retour :

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

Exemples multilingues

Comme le montrent les deux exemples similaires suivants, AI_SENTIMENT peut analyser le sentiment dans plusieurs langues, de sorte que vous n’avez pas besoin de traduire le texte et de risquez de perdre une partie essentielle de son sens. Vous n’avez pas besoin de spécifier la langue du texte. Les aspects peuvent être spécifiés dans la langue du texte, comme indiqué dans l’exemple suivant, ou en anglais, comme indiqué dans le deuxième exemple.

Note

AI_SENTIMENT prend en charge l’anglais, le français, l’allemand, l’hindi, l’italien, l’espagnol et le portugais.

Exemple avec du texte et des étiquettes en espagnol :

SELECT AI_SENTIMENT ('Pedí dos pares del mismo modelo en diferentes colores.
    Uno tenía defectos en la costura y el cuero se veía de menor calidad.
    Por 350€ el par, esto es inaceptable. El servicio al cliente tardó una
    semana en responder y la solución no fue satisfactoria. Es una pena porque
    cuando están bien hechos, son zapatos hermosos. Pero la inconsistencia en la
    calidad es preocupante.', ['Calidad', 'Calidad de Servicio,' 'Precio', 'Tiempo de Espera']);
Copy

Valeur de retour :

{
  "categories": [
    {
      "name": "overall",
      "sentiment": "negative"
    },
    {
      "name": "Calidad",
      "sentiment": "negative"
    },
    {
      "name": "Calidad de Servicio",
      "sentiment": "negative"
    },
    {
      "name": "Precio",
      "sentiment": "negative"
    },
    {
      "name": "Tiempo de Espera",
      "sentiment": "negative"
    }
  ]
}

Exemple avec du texte en allemand et des étiquettes en anglais :

SELECT AI_SENTIMENT ('Die Schuhe selbst sind wirklich schön und gut verarbeitet.
    Das Leder ist weich und die Passform stimmt. Allerdings gab es erhebliche
    Verzögerungen bei der Lieferung - statt der versprochenen 5 Tage hat es 3
    Wochen gedauert. Der Kundenservice war freundlich, aber nicht sehr hilfreich.
    Für 320€ erwarte ich besseren Service. Die Schuhe sind in Ordnung, aber das
    Gesamterlebnis war mittelmäßig', ['Quality', 'Price', 'Service', 'WaitTime']);
Copy

Valeur de retour :

{
  "categories": [
    {
      "name": "overall",
      "sentiment": "mixed"
    },
    {
      "name": "Price",
      "sentiment": "neutral"
    },
    {
      "name": "Quality",
      "sentiment": "positive"
    },
    {
      "name": "Service",
      "sentiment": "neutral"
    },
    {
      "name": "WaitTime",
      "sentiment": "negative"
    }
  ]
}

Restrictions du modèle

Tous les grands modèles de langage (LLMs) disponible dans Snowflake Cortex AI ont des limites sur le nombre total de jetons d’entrée et de sortie, qui est appelé fenêtre de contexte du modèle.

La fenêtre contextuelle pour AI_SENTIMENT est définie de manière à ce que le modèle puisse maintenir un niveau de précision élevé. AI_SENTIMENT a été entraîné et optimisé pour des entrées de texte de 2 048 jetons (environ 1 600 mots). Vous pouvez spécifier un maximum de 10 aspects, chacun ne contenant pas plus de 30 caractères.

Fonction

Fenêtre contextuelle (jetons)

Nombre maximal d’étiquettes d’entité

AI_SENTIMENT

2,048

10