AI_SENTIMENT 是 MaxCompute 提供的 AI Function,通過調用模型對輸入的文本進行情感分析。
命令格式
STRING AI_SENTIMENT(
STRING <model_name>,
STRING <version_name>,
STRING <input>
[, ARRAY<STRING> <categories>]
[, STRING <model_parameters>]
);參數說明
model_name:必填。STRING 類型。待使用的模型名,請參見SQL AI Function。
version_name:必填。STRING 類型。待使用的模型版本名。如果調用預設版本,支援直接輸入
DEFAULT_VERSION。input:必填。STRING類型。待進行情感分析的文本。
categories:選填。ARRAY<STRING>類型。需要做情感分析的類目。預設為 positive(積極)、negative(消極)、neutral(中性)、mixed(混合)。支援常量和列輸入,當為常量時類目的數量範圍在[1,10]。
model_parameters:選填。STRING 類型。支援指定模型調用相關參數 max_tokens、temperature、top_p,格式為
'{"max_tokens": 500, "temperature": 0.6, "top_p": 0.95}'。參數說明如下:max_tokens:設定模型單次調用輸出 token 的最大數量,對於 MaxCompute 公用模型,預設值為 4096。
temperature:介於 0 到 1 之間的值,用於控制模型輸出的隨機性強度。值越大,輸出越具創意和多樣性;值越低,輸出越確定和保守。
top_p:介於 0 到 1 之間的值,用於限定模型選擇的備選標籤範圍。值越大,備選範圍越廣,多樣性越高;值越小,範圍越窄,結果越集中。
傳回值說明
返回 STRING 類型的情感類目。返回規則如下:
input 文本所屬情感分類無法識別時,返回 NULL。
input 為 NULL、Null 字元串(""),或 categories 為空白字串("")時,返回 NULL。
categories 為 NULL 時,效果等同於未使用 categories 參數,使用預設類目(positive、negative、neutral、mixed)。
categories 參數為常量且數量超過 10 時,返回報錯。
使用樣本
樣本 1:使用預設類目進行情感分析
調用 MaxCompute 提供的公用模型 qwen3-max,對一條商品評價進行情感分析。未指定自訂類目,函數使用預設類目(positive、negative、neutral、mixed)。
-- 在SQL作業中使用模型計算服務
SET odps.task.major.version=sql_modelstudio;
SET odps.namespace.schema=true;
SELECT AI_SENTIMENT(
bigdata_public_modelset.default.`qwen3-max`,
DEFAULT_VERSION,
'產品品質非常好,物流也很快,強烈推薦!'
) AS sentiment;
-- 返回結果
+-----------+
| sentiment |
+-----------+
| positive |
+-----------+樣本 2:使用自訂類目進行情感分析
調用 MaxCompute 提供的公用模型 Qwen3-4B-GGUF,使用自訂類目對多條客戶評價進行情感分析。本樣本通過 categories 參數指定了一組自訂標籤(正面、負面、中性),更貼合客戶滿意度分析情境。
-- 樣本資料
CREATE TABLE customer_feedback (
review STRING
);
INSERT INTO customer_feedback VALUES
('服務超出預期,非常滿意!'),
('體驗很差,產品用了一天就壞了。'),
('包裹準時到達,沒什麼特別的。'),
('外觀設計很喜歡,但續航太短了。');
-- 使用自訂類目分析客戶評價情感
SET odps.sql.ai.treat.as.common.model=true;
SET odps.namespace.schema=true;
SELECT
review,
AI_SENTIMENT(
bigdata_public_modelset.default.`Qwen3-4B-GGUF`,
DEFAULT_VERSION,
review,
ARRAY('正面', '負面', '中性')
) AS sentiment
FROM customer_feedback;
-- 返回結果
+--------------------------------------+--------------+
| review | sentiment |
+--------------------------------------+--------------+
| 服務超出預期,非常滿意! | 正面 |
| 體驗很差,產品用了一天就壞了。 | 負面 |
| 包裹準時到達,沒什麼特別的。 | 中性 |
| 外觀設計很喜歡,但續航太短了。 | 中性 |
+--------------------------------------+--------------+