全部產品
Search
文件中心

MaxCompute:AI_SENTIMENT

更新時間:May 27, 2026

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    |
+--------------------------------------+--------------+
| 服務超出預期,非常滿意!               | 正面    |
| 體驗很差,產品用了一天就壞了。         | 負面  |
| 包裹準時到達,沒什麼特別的。           | 中性      |
| 外觀設計很喜歡,但續航太短了。         | 中性  |
+--------------------------------------+--------------+