すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:AI_SENTIMENT

最終更新日:Jul 25, 2026

AI_SENTIMENT は、入力テキストに対して感情分析を実行する MaxCompute の AI 関数です。

構文

STRING AI_SENTIMENT(
  STRING <model_name>,
  STRING <version_name>,
  STRING <input>
  [, ARRAY<STRING> <categories>]
  [, STRING <model_parameters>]
);

パラメーター

  • model_name:必須。STRING。呼び出すモデルの名前。詳細については、「SQL AI 関数」をご参照ください。

  • version_name:必須。STRING。モデルのバージョン。デフォルトバージョンを呼び出すには、DEFAULT_VERSION を指定できます。

  • input:必須。STRING。感情分析の対象となる入力テキスト。

  • categories:任意。ARRAY<STRING>。感情分析のカテゴリ。デフォルトのカテゴリは `positive`、`negative`、`neutral`、`mixed` です。このパラメーターは定数と列の両方をサポートします。定数には 1~10 個のカテゴリを含める必要があります。

  • model_parameters:任意。STRING。`max_tokens`、`temperature`、`top_p` などのモデルパラメーターを指定します。フォーマットは JSON 文字列です:

    '{"max_tokens": 500, "temperature": 0.6, "top_p": 0.95}'

    • max_tokens:1 回のモデル呼び出しで生成されるトークンの最大数。MaxCompute パブリックモデルの場合、デフォルト値は 4,096 です。

    • temperature:出力のランダム性をコントロールする 0~1 の値。値が高いほど、より創造的で多様な出力になり、値が低いほど、より決定的で保守的な出力になります。

    • top_p:モデルが選択できる候補ラベルの範囲を制限する 0~1 の値。値が高いほど、範囲が広がり多様性が増し、値が低いほど、範囲が狭まり、より焦点の合った結果が生成されます。

戻り値

感情カテゴリを STRING 型で返します。

  • 関数が `input` テキストの感情カテゴリを識別できない場合、NULL を返します。

  • `input` が NULL または空の文字列 ("") の場合、または `categories` が空の文字列 ("") の場合、関数は NULL を返します。

  • `categories` が NULL の場合、関数はデフォルトのカテゴリである `positive`、`negative`、`neutral`、`mixed` を使用します。

  • `categories` パラメーターが定数で、10 個を超えるカテゴリが含まれている場合、関数はエラーを返します。

例 1:デフォルトカテゴリを使用した感情分析

この例では、qwen3.7-max MaxCompute パブリックモデルを呼び出して、製品レビューの感情を分析します。カスタムカテゴリが指定されていないため、関数はデフォルトのカテゴリである `positive`、`negative`、`neutral`、`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;
-- 結果
+-----------+
| sentiment |
+-----------+
| positive  |
+-----------+

例 2:カスタムカテゴリを使用した感情分析

この例では、deepseek-v4-pro MaxCompute パブリックモデルを呼び出して、カスタムカテゴリを使用して複数の顧客レビューの感情を分析します。`categories` パラメーターは、顧客満足度分析シナリオにより適したカスタムラベルセット (`positive`、`negative`、`neutral`) を指定します。

-- サンプルデータ
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.');

-- カスタムカテゴリを使用して顧客レビューの感情を分析
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;

-- 結果
+-------------------------------------------------------------------+-----------+
| 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   |
+-------------------------------------------------------------------+-----------+

よくある質問

パブリックモデルに関する一般的な問題のトラブルシューティング

現象:モデルコンピューティングサービスでサポートされているパブリックモデルを呼び出すと、サービスから次のエラーメッセージが返されます。

FAILED: ODPS-0130071:[1,8] Semantic analysis exception - inference quota status check failed, error message: region cn-shanghai not found in inference quota

原因:プロジェクトが存在するリージョン (例:`cn-shanghai`) でモデルコンピューティングサービスが有効化されていません。これにより、システムは AI 推論リソースを呼び出すことができません。

解決策:Alibaba Cloud コンソールに移動し、プロジェクトのリージョンでモデルコンピューティングサービスを有効化します。詳細については、「MaxCompute モデルコンピューティングサービスの購入と使用」をご参照ください。