你有沒有遇過兩段文字長短不同,卻想知道它們有多像?
你可以把餘弦相似度想成「看兩個向量方向像不像」:它不太管長度,只看方向是否接近。
它很重要,因為文本、向量和語意搜尋常需要比相似程度,餘弦相似度在這種場景特別好用,也常是向量檢索的第一個排序標準。
容易混淆
餘弦相似度 vs 歐氏距離 vs 內積
餘弦相似度:看方向,不太看長度
歐氏距離:看兩點物理上隔多遠
內積:會受方向和長度一起影響
最關鍵的區別:餘弦相似度重點是「方向一致不一致」。
記住這句就好
方向像不像,比長短更重要。
實際案例
語意搜尋
前:只靠關鍵字,字不同就找不到
後:把查詢和文件轉成向量,再用餘弦相似度找最接近的內容
推薦相似文章
前:文章長度不同,直接比字數沒意義
後:用向量方向判斷主題是否接近,再推相似內容
算法與應用
餘弦相似度常和嵌入表示、向量資料庫、語義搜尋、Word2Vec 一起出現
它會先把資料轉成向量,再用夾角來比較相似性
在實務上,是否要先正規化向量,會影響它和內積的關係
情境判斷
Q1(直覺題): 兩段文字長度差很多,但主題很像,餘弦相似度還能有效嗎?
→ 可以,因為它主要看方向,不太在意長短。
Q2(判斷題): 如果兩個向量很長,餘弦相似度就一定比較高嗎?
→ 不一定,長度不是它最在意的事,方向才是。
常見問題
餘弦相似度一定介於 0 到 1 嗎?
不一定,若允許負向量,範圍可以到 -1 到 1。
文字比對一定要用餘弦相似度嗎?
不一定,但它是最常見也最直觀的方法之一。
它和關鍵字比對差在哪?
關鍵字比對看字面,餘弦相似度看語意向量的方向。