次の方法で共有


series_cosine_similarity()

2 つの数値ベクトルのコサイン類似性を計算します。

関数 series_cosine_similarity() は 2 つの数値系列を入力として受け取り、 コサインの類似性を計算します

構文

series_cosine_similarity(series1,series2)

構文規則について詳しく知る。

パラメーター

名前 必須 説明
series1、series2 dynamic ✔️ 数値データを含む入力配列。

戻り値

series1series2 のコサイン類似性を値とする型realの値を返します。 両方の系列の長さが等しくない場合、長い系列は短い系列の長さに切り捨てられます。 入力系列の数値以外の要素は無視されます。

注意

一方または両方の入力配列が空の場合、結果は になります null

パフォーマンスの最適化

この関数を使用する場合のパフォーマンスの向上とストレージ要件の削減については、ML ベクター埋め込みなど、64 ビットの精度を必要としない浮動小数点ベクトルを格納するためのエンコード ポリシーの使用 Vector16 を検討してください。 Bfloat16 浮動小数点表現を利用するプロファイルはVector16、操作を大幅に最適化し、ストレージ サイズを 4 倍に減らすことができます。 エンコード ポリシーの詳細については、「エンコード ポリシーのVector16種類」を参照してください。

datatable(s1:dynamic, s2:dynamic)
[
    dynamic([0.1,0.2,0.1,0.2]), dynamic([0.11,0.2,0.11,0.21]),
    dynamic([0.1,0.2,0.1,0.2]), dynamic([1,2,3,4]),
]
| extend cosine_similarity=series_cosine_similarity(s1, s2)
s1 s2 cosine_similarity
[0.1,0.2,0.1,0.2] [0.11,0.2,0.11,0.21] 0.99935343825504
[0.1,0.2,0.1,0.2] [1,2,3,4] 0.923760430703401