Catégories :

Fonctions de chaîne et fonctions binaires (Large Language Model)

CLASSIFY_TEXT (SNOWFLAKE.CORTEX)

Classe les données de texte libre dans les catégories que vous fournissez.

Syntaxe

SNOWFLAKE.CORTEX.CLASSIFY_TEXT( <input> , <list_of_categories> )
Copy

Arguments

Obligatoire :

input

Chaîne à classer. La chaîne d’entrée est sensible à la casse. Vous pouvez obtenir des résultats différents pour la même chaîne qui utilise une majuscule différente.

list_of_categories

Tableau de chaînes qui représentent les catégories. Doit contenir au moins deux et au plus 100 catégories uniques. Les catégories sont sensibles à la casse. Si ces exigences ne sont pas remplies, la fonction renvoie un message d’erreur. Pour une liste complète des erreurs, voir Conditions d’erreur.

Renvoie

Renvoie une chaîne qui contient un objet JSON. L’objet JSON contient la catégorie dans laquelle l’invite de saisie a été classée. Si des arguments non valides sont fournis, une erreur est renvoyée. Pour plus de détails sur les erreurs, voir Conditions d’erreur.

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 requis pour plus d’informations sur ce privilège.

Notes sur l’utilisation

Pour des performances optimales, suivez ces directives :

  • Utilisez du texte en anglais simple pour la saisie et les catégories.

  • Limitez la quantité de texte qui n’est pas en anglais simple dans le texte d’entrée. Par exemple, essayez de limiter le contenu tel que les extraits de code ou les journaux dans la saisie de texte.

  • Le texte ne doit pas contenir de code ou de formats qui ne sont pas open source (langages spécifiques à l’entreprise, formats propriétaires, etc.). La fonction ne renverra pas d’erreur, mais les résultats peuvent ne pas être ceux que vous attendez.

  • N’utilisez pas d’abréviations, de caractères spéciaux ou de jargon dans les étiquettes de catégorie.

  • Les catégories doivent être descriptives. Par exemple, utiliser une catégorie telle que Xa4s3 ou category 1 ne produira pas de bons résultats.

  • Les catégories doivent s’exclure mutuellement.

Exemples

L’exemple suivant classe l’invite dans l’une des deux catégories, travel ou cooking :

SELECT SNOWFLAKE.CORTEX.CLASSIFY_TEXT('One day I will see the world', ['travel', 'cooking']);
Copy
{
  "label": "travel"
}

L’exemple suivant crée une table, text_classification_table, qui contient une colonne pour le texte et une colonne pour les catégories possibles pour ce texte. Ensuite, la fonction CLASSIFY_TEXT est appelée sur chaque ligne du tableau pour classer la chaîne dans la colonne de texte.

CREATE OR REPLACE TEMPORARY TABLE text_classification_table AS
SELECT 'France' AS input, ['North America', 'Europe', 'Asia'] AS classes
UNION ALL
SELECT 'Singapore', ['North America', 'Europe', 'Asia']
UNION ALL
SELECT 'one day I will see the world', ['travel', 'cooking', 'dancing']
UNION ALL
SELECT 'my lobster bisque is second to none', ['travel', 'cooking', 'dancing'];

SELECT input,
       classes,
       SNOWFLAKE.CORTEX.CLASSIFY_TEXT(input, classes)['label'] as classification
FROM text_classification_table;
Copy