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

MaxCompute:AI_SIMILARITY

最終更新日:Jul 25, 2026

AI_SIMILARITY は MaxCompute の AI 関数です。この関数はモデルを呼び出して、2 つのテキスト間の意味的類似性を測定します。この関数は、0 から 1 までの浮動小数点数を返します。値が高いほど、意味的類似性が高いことを示します。

構文

FLOAT AI_SIMILARITY(
  STRING <model_name>,
  STRING <version_name>,
  STRING <input1>,
  STRING <input2>
  [, STRING <model_parameters>]
);

パラメーター

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

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

  • input1:必須。STRING 型。意味的類似性を比較するための最初のテキストです。

  • input2:必須。STRING 型。意味的類似性を比較するための 2 番目のテキストです。

  • 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 までの値で、モデルが選択できる候補ラベルの範囲を制限します。値が高いほど範囲が広がり多様性が増し、値が低いほど範囲が狭まり、より焦点の合った結果になります。

戻り値

2 つの入力テキストの類似度スコアを表す 0 から 1 までの FLOAT 値を返します。戻り値は以下の通りです:

  • スコア 1.0 は 2 つのテキストが同一であることを示します。スコア 0.0 は、全く関連性がないことを示します。

  • input1 または input2 が NULL の場合、関数は NULL を返します。

  • input1 または input2 が STRING でない場合、関数はエラーを返します。

例

例1:2つのテキストの類似度比較

MaxCompute が提供するパブリックモデル qwen3.7-max を呼び出して、MaxCompute に関する 2 つのテキスト間の意味的類似性を計算します。

SET odps.namespace.schema=true;

SELECT AI_SIMILARITY(
    bigdata_public_modelset.default.`qwen3.7-max`,
    DEFAULT_VERSION,
    'MaxCompute is a big data computing platform.',
    'MaxCompute provides large-scale data processing capabilities.'
) AS similarity_score;
-- 結果
+------------------+
| similarity_score |
+------------------+
| 0.75             |
+------------------+

例2:複数テキストペアの比較と類似度による並べ替え

MaxCompute が提供するパブリックモデル deepseek-v4-pro を呼び出して、複数のテキストペアを比較し、類似度に基づいて降順で並べ替えます。この方法は、データセットから意味的に最も関連性の高いテキストペアを特定するのに適しています。

-- サンプルデータ
CREATE TABLE text_pairs (
    text1 STRING,
    text2 STRING
);

INSERT INTO text_pairs VALUES
    ('Cloud computing supports scalable infrastructure.', 'Enterprises can flexibly scale IT resources using cloud services.'),
    ('The weather is sunny today.', 'Machine learning algorithms require large datasets.'),
    ('A data warehouse stores historical data for analysis.', 'A data warehouse provides analytical processing capabilities for large-scale data.'),
    ('I like to read books.', 'Reading is my favorite hobby.');

-- 複数のテキストペアの意味的類似性を比較
SET odps.namespace.schema=true;

SELECT
    text1,
    text2,
    AI_SIMILARITY(
        bigdata_public_modelset.default.`deepseek-v4-pro`,
        DEFAULT_VERSION,
        text1,
        text2
    ) AS similarity_score
FROM text_pairs
ORDER BY similarity_score DESC;

-- 結果:
+----------------------------------------------------+--------------------------------------------------------------------------+------------------+
| text1                                              | text2                                                                    | similarity_score |
+----------------------------------------------------+--------------------------------------------------------------------------+------------------+
| A data warehouse stores historical data for analysis. | A data warehouse provides analytical processing capabilities for large-scale data. | 0.92             |
| I like to read books.                              | Reading is my favorite hobby.                                            | 0.88             |
| Cloud computing supports scalable infrastructure.  | Enterprises can flexibly scale IT resources using cloud services.        | 0.82             |
| The weather is sunny today.                        | Machine learning algorithms require large datasets.                      | 0.05             |
+----------------------------------------------------+--------------------------------------------------------------------------+------------------+

よくある質問

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

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

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 モデルコンピューティングサービスの購入と使用」をご参照ください。