AI_SENTIMENT est une fonction IA de MaxCompute qui analyse les sentiments d'un texte en entrée.
Syntaxe
STRING AI_SENTIMENT(
STRING <model_name>,
STRING <version_name>,
STRING <input>
[, ARRAY<STRING> <categories>]
[, STRING <model_parameters>]
);
Paramètres
model_name: Obligatoire. Type STRING. Nom du modèle à appeler. Pour plus d'informations, consultez la rubrique Fonction SQL AI.
version_name: Obligatoire. Type STRING. Version du modèle. Pour appeler la version par défaut, spécifiez
DEFAULT_VERSION.input: Obligatoire. Type STRING. Texte à analyser.
categories: Facultatif. Type ARRAY<STRING>. Catégories utilisées pour l'analyse des sentiments. Les catégories par défaut sont
positive,negative,neutraletmixed. Ce paramètre accepte les constantes ainsi que les colonnes. Une constante doit contenir entre 1 et 10 catégories.-
model_parameters: Facultatif. Type STRING. Spécifie les paramètres du modèle, tels que
max_tokens,temperatureettop_p. Le format attendu est une chaîne JSON :'{"max_tokens": 500, "temperature": 0.6, "top_p": 0.95}'.max_tokens: Nombre maximal de jetons (tokens) générés lors d'un seul appel au modèle. Pour les modèles publics MaxCompute, la valeur par défaut est 4 096.
temperature: Valeur comprise entre 0 et 1 qui contrôle le caractère aléatoire de la sortie. Une valeur élevée génère des résultats plus créatifs et diversifiés, tandis qu'une valeur faible produit des sorties plus déterministes et conservatrices.
top_p: Valeur comprise entre 0 et 1 qui limite la plage des étiquettes candidates parmi lesquelles le modèle peut choisir. Une valeur élevée élargit la gamme et favorise la diversité, alors qu'une valeur faible restreint la sélection pour obtenir des résultats plus ciblés.
Valeur de retour
Renvoie la catégorie de sentiment sous forme de chaîne STRING.
Si la fonction ne parvient pas à identifier la catégorie de sentiment du texte fourni dans
input, elle renvoie NULL.Si
inputest NULL ou une chaîne vide (« »), ou sicategoriesest une chaîne vide (« »), la fonction renvoie NULL.Si
categoriesest NULL, la fonction utilise les catégories par défaut :positive,negative,neutraletmixed.Si le paramètre
categoriesest une constante contenant plus de 10 catégories, la fonction renvoie une erreur.
Exemples
Exemple 1 : Analyse des sentiments avec les catégories par défaut
Cet exemple appelle le modèle public MaxCompute qwen3.7-max pour analyser le sentiment d'un avis sur un produit. Aucune catégorie personnalisée n'étant spécifiée, la fonction utilise les catégories par défaut : positive, negative, neutral et mixed.
SET odps.namespace.schema=true;
SELECT AI_SENTIMENT(
bigdata_public_modelset.default.`qwen3.7-max`,
DEFAULT_VERSION,
'The product quality is excellent, and delivery was fast. Highly recommended!'
) AS sentiment;
-- Result
+-----------+
| sentiment |
+-----------+
| positive |
+-----------+
Exemple 2 : Analyse des sentiments avec des catégories personnalisées
Cet exemple appelle le modèle public MaxCompute deepseek-v4-pro pour analyser le sentiment de plusieurs avis clients à l'aide de catégories personnalisées. Le paramètre categories définit un ensemble d'étiquettes personnalisé (positive, negative, neutral) mieux adapté à un scénario d'analyse de la satisfaction client.
-- Sample data
CREATE TABLE customer_feedback (
review STRING
);
INSERT INTO customer_feedback VALUES
('The service exceeded my expectations. I am very satisfied!'),
('The experience was terrible. The product broke after just one day.'),
('The package arrived on time. Nothing special.'),
('I love the design, but the battery life is too short.');
-- Analyze the sentiment of customer reviews by using custom categories
SET odps.namespace.schema=true;
SELECT
review,
AI_SENTIMENT(
bigdata_public_modelset.default.`deepseek-v4-pro`,
DEFAULT_VERSION,
review,
ARRAY('positive', 'negative', 'neutral')
) AS sentiment
FROM customer_feedback;
-- Result
+-------------------------------------------------------------------+-----------+
| review | sentiment |
+-------------------------------------------------------------------+-----------+
| The service exceeded my expectations. I am very satisfied! | positive |
| The experience was terrible. The product broke after just one day.| negative |
| The package arrived on time. Nothing special. | neutral |
| I love the design, but the battery life is too short. | neutral |
+-------------------------------------------------------------------+-----------+
FAQ
Dépannage des problèmes courants liés aux modèles publics
Symptôme : Lors de l'appel d'un modèle public pris en charge par le Model Computing Service, le service renvoie le message d'erreur suivant.
FAILED: ODPS-0130071:[1,8] Semantic analysis exception - inference quota status check failed, error message: region cn-shanghai not found in inference quota
Cause : Le Model Computing Service n'est pas activé dans la région où réside votre projet (par exemple, cn-shanghai). Cette situation empêche le système d'appeler les ressources d'inférence IA.
Solution : Accédez à la console Alibaba Cloud et activez le Model Computing Service pour la région de votre projet. Pour plus d'informations, consultez la rubrique Achat et utilisation du Model Computing Service MaxCompute