AI・LLM開発

類似度・距離の計算方向と長さを分けて読む

一次元の数値配列をAとBに入力します。3つの指標を同時に確認でき、正規化しても元の入力は残ります。

類似度・距離の計算

ベクトルA

次元数: 0

ベクトルB

次元数: 0

計算結果

2つのベクトルを入力すると指標と計算過程を表示します。

ベクトルはこのブラウザー内だけで処理します。アップロードやモデルへの送信は行いません。

設定

正規化するのは計算用のコピーだけです。入力したベクトルは変わりません。

2つのベクトルを入力してください。

検索結果のスコアを調べていて、方向は同じなのに距離だけが大きいことがあります。類似度・距離の計算では、埋め込みの数値をそのまま比べ、原因が向きか長さかを確かめられます。

コサイン類似度だけでなく、内積とユークリッド距離も並べて確認します。文章を埋め込みに変換する機能ではなく、すでにある数値ベクトルを調べる道具です。

類似度・距離の計算を並べて見る理由

一つのスコアだけでは見えない長さの影響を確認できます。

同じ向きでも終点は離れる

類似度・距離の計算で一方のベクトルだけを拡大すると、コサイン類似度は変わらず、内積とユークリッド距離は変わります。方向と間隔を混同しないための例です。

同じ原点から同じ方向へ伸びる長さの異なる2本の矢印と、離れた終点。

正規化の影響を入力と切り離す

L2正規化は計算用コピーにだけ適用されます。元のノルムを結果に残したまま、単位ベクトルにしたときの内積と距離を見比べられます。

長さの異なる2本の矢印のそばに、向きを保った同じ長さのコピーが並ぶ。

スコアの前に確認する三つの点

01

数値形式を選ぶ

一次元のJSON数値配列、またはコンマ・空白・改行区切りの十進数を受け付けます。例は同じ方向で長さだけが異なるため、三つの指標の違いを試せます。

02

長さを揃えるか決める

自動計算は入力が止まってから350ミリ秒後に実行します。オフならCtrl/Cmd+Enterで実行できます。ベクトルの正規化は初期状態でオフです。

03

次元と内訳を照合する

A/Bの次元数と元のノルムを先に確認してください。成分の積と差の二乗は50件ずつ表示し、コピーとダウンロードには全成分が入ります。

向き・内積・距離を同時に確認

コサイン類似度で向きを測る

内積を両方のノルムで割るため、同じ向きなら長さが違っても1になります。ゼロベクトルには向きがなく、値は未定義です。

内積で大きさの影響を見る

対応する成分の積を足します。両方を単位ベクトルにすればコサイン類似度と一致し、元のままなら長さの影響を受けます。

ユークリッド距離で間隔を見る

成分ごとの差を二乗して足し、平方根を取ります。方向を保ったまま一方を伸ばしても、終点間の距離は変わります。

比較できる条件とできないこと

次元数が異なる場合は拒否
AとBの成分数が違えば全ての組み合わせ指標を出しません。類似度・距離の計算で短い側に合わせて内積を切り詰めたり、ゼロを補ったりしません。
ゼロベクトルのコサインは未定義
正規化しない場合、内積とユークリッド距離は計算できます。ゼロで割る必要があるコサインとL2正規化は拒否します。
有限の一次元ベクトルだけ
各ベクトルは1〜8192個の有限な十進数です。入れ子配列、NaN、Infinity、浮動小数点のオーバーフローは受け付けません。
同じ次元でもモデル間の意味は保証しない
このページは数学的な計算だけを行います。異なる埋め込みモデルや設定の座標が一致するとは限らず、共通の判定閾値も提示しません。
検索や埋め込み生成は行わない
類似度・距離の計算はA/Bの一組だけです。文章をベクトル化せず、モデルに送信せず、候補の順位付けや外積も行いません。

類似度・距離の計算についてよくある質問

どんな形式で入力すればよいですか?

一次元のJSON数値配列か、コンマ・空白・改行で区切った十進数を入力できます。類似度・距離の計算では、各分量が有限の数値かどうかも検査します。

コサイン類似度とユークリッド距離はどう違いますか?

コサイン類似度は向き、ユークリッド距離は終点の隔たりを測ります。片方を同じ向きに伸ばすとコサインは変わらず、距離は変わります。

ベクトルの長さが違う場合は計算できますか?

できません。内積は対応する座標同士を掛けるため、次元数が異なれば比較を拒否します。足りない値を暗黙にゼロで埋めません。

ゼロベクトルのコサイン類似度はどうなりますか?

ゼロベクトルには方向がなく、ノルムが0なのでコサインの分母も0になります。内積と距離は正規化をオフにした場合に限り表示します。

正規化すると内積とコサイン類似度は同じになりますか?

はい。両方のノルムが1ならコサインの分母が1となり、内積とコサイン類似度は一致します。

ほかに疑問がありますか?

類似度・距離の計算を実際の数値で試す

まず例で三つの指標を比較し、その後に手元のA/Bを入力してください。類似度・距離の計算は入力を保持したまま正規化の有無を切り替えられます。