AddEmbeddings

2 つの埋め込みベクトルを加算して結果を正規化されたベクトルとして返します。

構文 

AddEmbeddings ( v1 ; v2 )

引数 

v1 および v2 - 同じ次元を持つ埋め込みベクトルを含む任意のテキスト式、テキストフィールド、またはオブジェクトフィールド。

戻り値のデータタイプ 

テキスト、オブジェクト

起点バージョン 

22.0

説明 

この関数は 2 つの埋め込みベクトルでベクトルの加算を実行して結果を正規化されたベクトルとして返します。正規化では結果のベクトルをその規模ではなく意味的な方向に集中させます。これは埋め込みを比較または操作するための標準的な方法です。

この関数を使用してベクトルで表される 2 つの意味的概念を結合できます。たとえば、「私は犬が好きです」のベクトルと「私は猫が好きです」のベクトルを加算すると「私はペットが好きです」または「私は犬と猫の両方が好きです」に近い概念を表すベクトルになる可能性があります。これはセマンティック検索で概念を広げる際やデータ分析で統計的な意味を見つける際に役立ちます。

v1 および v2 がテキストの場合、JSON 配列の形式になっている必要があります。通常、バイナリオブジェクトデータとして埋め込みベクトルを使用するとパフォーマンスが向上します。

メモ 

  • 互換性とパフォーマンスを確保するために、埋め込みベクトルは同じモデルから生成する必要があります。異なるモデルからの埋め込みベクトルの混在はサポートされていません。

  • 次の場合、この関数は「?」を返します:

    • v1v2 の次元が異なる場合。

    • または結果がゼロベクトルになる場合 (v1 と v2 が同一であるが符号が反対の場合に発生する可能性があります)。関数はゼロベクトルを正規化できません。

例 1 

AddEmbeddings ("[1, 2, 3]" ; "[4, 5, 6]")[0.40160966445124940405, 0.56225353023174917677, 0.722897396012249005] を返します。加算は [1+4, 2+5, 3+6] = [5, 7, 9] です。次に、関数がこのベクトルを正規化して両方の入力がテキストであるために JSON 配列として返します。

例 2 

AddEmbeddings (Products::Smartphone_Embedding ; Products::Premium_Embedding) は「プレミアムスマートフォン」の複合概念を表す正規化されたベクトルのオブジェクトデータを返します。

この例では「Products::Smartphone_Embedding」フィールドにテキスト「スマートフォン」の埋め込みベクトルが含まれ、「Products::Premium_Embedding」にテキスト「プレミアム」の埋め込みベクトルが含まれていると仮定します。結果のベクトルは [セマンティック検索を実行] スクリプトステップを使用してこの組み合わせた概念に意味的に近い製品の説明を見つけることができます。