Catégories :

Fonctions de chaîne et fonctions binaires (Fonctions AI)

AI_SENTIMENT

Note

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

Renvoie le sentiment général et par catégorie du texte saisi.

Syntaxe

AI_SENTIMENT( <text> [ , <categories> ] [, <return_error_details> ] )

Arguments

Obligatoire :

text

Une chaîne contenant le texte dans lequel le sentiment est détecté.

Facultatif :

categories

Un tableau contenant jusqu’à dix catégories (également appelées entités ou aspects) pour lesquelles le sentiment doit être extrait. Chaque catégorie est une chaîne. Par exemple, si vous extrayez le sentiment d’un avis de restaurant, vous pouvez spécifier ['cost', 'quality', 'service', 'wait time'] comme catégories. Chaque catégorie peut comporter un maximum de 30 caractères.

Si vous ne fournissez pas cet argument, AI_SENTIMENT ne renvoie que le sentiment général.

return_error_details

Un indicateur BOOLEAN qui indique s’il faut renvoyer les détails de l’erreur en cas d’erreur. Lorsqu’il est défini sur TRUE, la fonction renvoie un OBJECT qui contient la valeur et le message d’erreur, dont l’un est NULL selon que la fonction réussit ou échoue. Consultez Comportement d’erreur pour plus de détails.

Renvoie

Une valeur OBJECT contenant un champ categories. categories est un tableau d’enregistrements de catégories. Chaque catégorie comprend ces champs :

  • name : Le nom de la catégorie. Les noms des catégories correspondent aux catégories spécifiées dans l’argument categories.

  • sentiment : Le sentiment de la catégorie. Chaque résultat de sentiment est l’une des chaînes suivantes.

    • unknown : La catégorie n’était pas mentionnée dans le texte.

    • positive : La catégorie était mentionnée de manière positive dans le texte.

    • negative : La catégorie était mentionnée de manière négative dans le texte.

    • neutral : La catégorie était mentionnée dans le texte, mais ni de manière positive ni négative.

    • mixed : La catégorie était mentionnée à la fois de manière positive et négative dans le texte.

L’enregistrement de catégorie overall est toujours inclus et contient le sentiment général du texte.

Exemple :

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

Comportement d’erreur

Par défaut, si AI_SENTIMENT ne peut pas traiter l’entrée, la fonction renvoie NULL. Si la requête traite plusieurs lignes, les lignes contenant des erreurs renvoient NULL et n’empêchent pas l’achèvement de la requête.

La valeur de retour sur l’erreur dépend de l’argument return_error_details. La table suivante indique la valeur de retour basée sur l’argument return_error_details :

return_error_details

Valeur de retour

Description

FALSE

Non transmise

NULL

TRUE

OBJECT avec les champs value et error

value : Un OBJECT contenant le résultat de l’analyse des sentiments, ou NULL si une erreur s’est produite.

error : Une valeur VARCHAR qui contient le message d’erreur si une erreur s’est produite, ou NULL si la fonction a fonctionné.

Pour plus d’informations sur le traitement des erreurs pour les fonctions AI, consultez Snowflake Cortex AI Function: Multirow error handling improvements.

Exigences en matière de contrôle d’accès

Les utilisateurs doivent utiliser un rôle auquel le rôle de base de données SNOWFLAKE.CORTEX_USER a été accordé. Voir Privilèges LLM Cortex pour plus d’informations sur ce rôle.

Notes sur l’utilisation

AI_SENTIMENT peut analyser les sentiments en anglais, en français, en allemand, en hindi, en italien,en espagnol et en portugais. Vous pouvez spécifier des catégories dans la langue du texte ou en anglais.

Exemples

L’exemple suivant utilise AI_SENTIMENT pour obtenir le sentiment général d’un avis sur un service de restauration.

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. 💰🍕🚀');

Valeur de retour :

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

Dans cet exemple, une table nommée reviews contient une colonne nommée review_content contenant le texte des avis relatifs à un film soumis par les utilisateurs. La requête renvoie le sentiment de plusieurs facettes de dix avis maximum.

SELECT
  AI_SENTIMENT(
    review_content,
    ['concept', 'performance', 'script', 'cinematography', 'soundtrack']
  ),
  review_content
  FROM reviews LIMIT 10;

Disponibilité régionale

AI_SENTIMENT est disponible 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)

AI_SENTIMENT