給職場大人的數學
AI 時代必懂的數學5 分鐘閱讀

向量是什麼?為什麼 embedding 能代表語意

你正在跟工程師討論導入 RAG,他丟出一句「我們用 OpenAI 的 embedding, 維度 1536」。你點頭,但腦中有兩個疑問:1536 是什麼?為什麼一段話可以變成數字?這篇就是要把這層黑盒打開。

核心公式

向量 = 一串數字 = 空間中的一個方向

語意相似 ⇔ 兩個向量方向相近

從箭頭開始:什麼是向量

二維平面上的點 (3, 4) 你已經會了——從原點往右 3、往上 4。 那就是一個 2 維向量。三維是 (3, 4, 5),可以想成空間中的一個箭頭。 再往上呢?人類無法視覺化 1536 維,但數學運算完全一樣,只是數字變多。 OpenAI 的 text-embedding-3-small 把任何一段文字變成 1536 個浮點數, 那段文字就被「釘」在 1536 維空間裡的某個點。

Embedding:把語意丟進空間

Embedding 模型做的事情很單純:吃進文字,吐出向量,並且保證意思相近的文字,在空間中也相近。 訓練的方式就是讓模型大量看「同義句、同主題段落」,逐步調整輸出, 讓它們的向量自然聚在一起。最後得到的空間裡,「貓」和「狗」會比「貓」和「會計報表」近。

經典類比:語意可以加減

word2vec 時代被反覆驗證的奇蹟:把語意當成可加減的方向。

運算結果背後的方向
king − man + woman≈ queen性別軸
Paris − France + Italy≈ Rome首都軸
walked − walk + swim≈ swam過去式軸
Tokyo − Japan + Germany≈ Berlin首都軸

這代表空間裡真的有「性別方向」「首都方向」「時態方向」這種隱藏結構, 模型沒被明確教過,但它從資料中自動長出來了。

商務情境:embedding 在解什麼問題

  • RAG(檢索增強生成):把公司文件全部轉成向量存進向量資料庫,使用者提問時也轉成向量,找最近的幾段塞進 prompt
  • 語意搜尋:搜「便宜的筆電」也能找到「平價筆記型電腦」,因為兩者向量方向幾乎重合
  • 客訴分類:新客訴 embedding 後,自動歸到最近的歷史群
  • 推薦系統:用戶愛看的商品向量取平均,找鄰居就是推薦清單
  • 去重 / 抄襲偵測:兩篇文章餘弦相似度 > 0.95 基本上就是重寫

為什麼是 cosine,不是直線距離

衡量兩個向量「多像」最常用的不是歐幾里得距離,而是cosine similarity——只看夾角,不看長度。 因為文字的「強度」(長短、語氣強弱)會讓向量整體放大縮小, 但如果方向一樣,意思就一樣。 公式是 cos θ = A·B ÷ (|A| × |B|),值落在 −1 到 1,越接近 1 越像。

常見誤解

  1. 「維度越高越準」:不一定。1536 維在語意檢索上夠用,4096 維邊際效益遞減,且儲存與計算成本翻倍
  2. 「相似度 0.8 一定相關」:不同模型的相似度分布不同。同一個模型內比較才有意義,跨模型不能直接比
  3. 「Cosine 是距離」:Cosine 是相似度(越大越像),距離是 1 − cosine,方向相反
  4. 「Embedding 懂語意」:它只懂「在訓練資料裡共現的統計模式」,遇到罕見領域(醫學、法律專業術語)需要 fine-tune

練習:你能猜方向嗎

試著想想這些向量運算的結果方向:CEO − man + woman ≈ ?iPhone − Apple + Samsung ≈ ?正職 − 全職 + 兼職 ≈ ?。 這就是 embedding 的世界——語意成了可運算的座標。 下次聽到「1536 維」,你知道那只是一個有 1536 個刻度的方向。