餘弦相似度 使用指南
輸入兩個向量,計算餘弦相似度以衡量方向一致性,適用於文本語義匹配、推薦召回與嵌入向量比對。
計算公式與原理
cos θ = (Σaᵢbᵢ) / (√Σaᵢ² · √Σbᵢ²)
餘弦相似度取值範圍 [−1,1],1 為同向、0 為正交、−1 為反向。因為做了模長歸一化,它對向量整體縮放不敏感,適合比較長度差異很大的文本或特徵向量;若需要同時反映模長差異應改回歐氏距離。
使用步驟
- 填寫「向量A1」。
- 填寫「A2」。
- 填寫「A3」。
- 填寫「向量B1」。
- 填寫「B2」。
- 填寫「B3」。
- 結果區會即時更新;可一鍵複製結果用於記錄或彙報。
典型使用場景
- cos(x,y)=Σxᵢyᵢ/(‖x‖·‖y‖),取值 [−1,1],1 為同方向、0 正交、−1 反向。
- 對向量歸一化後,餘弦等價於內積,計算更快且利於檢索索引。
- 文本/影像嵌入比對幾乎都用餘弦,因模長常受頻率或亮度干擾不代表語義。
算例參考
- 兩向量夾角:x=(1,2,2), y=(2,4,4):‖x‖=3,‖y‖=6,內積=2+8+8=18 → cos=18/(3×6)=1,兩向量同向(實際 y=2x),完全相似。
注意事項
結果為按上述公式得到的理論估算值,實際表現受資料分佈、實現細節與執行環境影響,落地決策請以實測為準;本工具純前端執行,輸入不上傳伺服器。
- 餘弦為負說明什麼?
- 說明兩向量夾角大於 90°,語義傾向相反(如反義句、對立情感)。多數相似度場景只取非負區間,需按業務決定是否保留負值。
- 為什麼先歸一化?
- 歸一化後模長均為 1,餘弦=內積,便於用內積加速檢索(如 FAISS);且消除向量長度對相似度的影響,聚焦方向。