第 8 天:Embedding 與向量 — AI 怎麼理解語意
如果把文字想像成一群人,傳統電腦其實只看得懂「身分證字號」,不知道誰跟誰比較像;但 AI 會做一件很聰明的事:把每個人的個性、興趣、說話方式,轉成一串座標。於是「貓」會離「狗」比較近,離「洗衣機」比較遠。這串座標,就是今天要學的 embedding(嵌入向量)。AI 不是像人一樣真的懂語意,而是用數字空間,把「意思相近」的東西放得更靠近。
3 分鐘秒懂
embedding(嵌入向量)可以理解成「把文字變成一串有意義的數字」。例如「我想找附近好吃的牛肉麵」這句話,AI 會把它轉成像「[0.12, -0.45, 0.88, ...]」這樣的 vector(向量)。這串數字不是亂填的,而是經過模型訓練後,讓意思相近的句子在數字空間裡距離比較近。
舉個生活化例子:你在地圖上找餐廳,餐廳彼此有經緯度,所以你能知道哪一家離你最近。embedding(嵌入向量)也是類似概念,只是它不是地理地圖,而是「語意地圖」。在這張語意地圖裡,「請幫我整理會議紀錄」會靠近「幫我摘要今天的討論」,但會離「幫我畫一張貓咪圖片」比較遠。
所以,AI 能做語意搜尋,不是因為它一個字一個字死背,而是因為它把文字轉成 vector(向量),再比較誰跟誰的距離最近。這就是許多 AI 搜尋、知識庫問答、客服機器人背後的重要基礎。
為什麼這重要
以前我們搜尋資料,多半靠關鍵字。例如你在公司文件庫搜尋「請假規則」,如果文件標題寫的是「員工出勤與休假辦法」,傳統搜尋可能找不到,因為字不一樣。但語意搜尋可以知道,「請假規則」和「休假辦法」意思很接近,因此更有機會找到正確文件。
這對中文世界特別有用。因為中文表達方式很多,同一件事可能寫成「週報」、「工作進度」、「本週成果彙整」;同一個問題也可能問成「怎麼申請加班?」、「加班流程在哪?」、「加班單要給誰簽?」如果只靠關鍵字,常常會漏掉答案。embedding(嵌入向量)讓系統能比較「意思」,而不是只比較「字面」。
現在很多企業把內部文件、客服問答、產品說明、Discord(社群聊天平台)訊息,放進 AI 知識庫。當你問:「上次大家討論的會員折扣規則是什麼?」系統會先用 embedding(嵌入向量)找到相關內容,再交給 LLM(大型語言模型)整理成自然語言回答。也就是說,embedding(嵌入向量)像是圖書館管理員,先幫 AI 從一大堆資料裡找出最可能有用的書。
核心概念分解
第一個概念:文字不能直接被電腦理解。電腦本質上處理的是數字,所以「今天下午開會」這句話要先轉成模型能計算的形式。token(語意片段)是模型讀文字時的基本單位,可能是一個字、一個詞,或一小段字串。接著,模型會把這些 token(語意片段)進一步轉成 embedding(嵌入向量)。
第二個概念:向量是一串數字,也可以想成多維空間裡的位置。二維地圖有 x 軸和 y 軸,但語意向量可能有幾百到幾千個維度。你不用真的畫出來,只要記得:每個向量代表一段文字在語意空間中的位置。位置越近,通常代表意思越接近。
第三個概念:語意搜尋靠的是「距離」或「相似度」。常見做法是 cosine similarity(餘弦相似度),它會比較兩個向量的方向有多接近。方向越像,就代表語意越接近。這有點像兩個人雖然站在不同地點,但都朝同一個方向前進,表示目標可能類似。
第四個概念:vector DB(向量資料庫)是專門存放與搜尋向量的資料庫。一般資料庫擅長找「欄位等於某個值」,例如會員編號是 1001;但 vector DB(向量資料庫)擅長找「跟這個向量最相似的前 10 筆資料」。當資料量很大,例如幾十萬篇客服紀錄、幾百萬則社群留言,用一般方式慢慢比對會太慢,這時就需要 vector DB(向量資料庫)。
第五個概念:embedding(嵌入向量)常和 RAG(檢索增強生成)一起出現。RAG(檢索增強生成)的流程像這樣:先把文件切成段落,轉成向量後存進 vector DB(向量資料庫);使用者提問時,也把問題轉成向量;系統找出最相似的文件段落;最後把找到的內容交給 LLM(大型語言模型),請它根據資料回答。
實際例子
假設你在公司用 ChatGPT(聊天生成式預訓練轉換器)寫週報,公司有一堆過去的週報範本、專案紀錄、會議摘要。你問:「幫我整理本週 A 專案的進度,語氣像主管看得懂的週報。」系統不應該只找包含「A 專案」四個字的文件,而是要找所有相關語意,例如「登入流程重構」、「付款頁面測試」、「客訴問題修復」。這些文字可能沒有直接寫「進度」,但意思上都和週報內容有關。
實作上,系統會先把每份文件切成小段,例如一段會議紀錄、一則 Jira(專案追蹤工具)任務、一段 Discord(社群聊天平台)討論。每一段都用 embedding model(嵌入模型)轉成向量,存進 vector DB(向量資料庫)。當你輸入 prompt(指令):「請幫我整理 A 專案週報」,你的問題也會被轉成向量。接著系統找出最相近的內容,再把這些資料送給 LLM(大型語言模型)生成週報。
再看一個中文客服場景。使用者問:「通義千問能不能幫我把表格整理成簡報?」雖然知識庫文章標題可能叫「中國通義千問文件處理能力說明」,但 embedding(嵌入向量)能判斷「表格整理」、「簡報生成」、「文件處理能力」彼此相關。這樣客服機器人就能找到正確文章,而不是回答「查無資料」。
你也可以把它想成「語意版的以圖搜圖」。以圖搜圖不是只比檔名,而是看圖片內容相不相似;語意搜尋也不是只比關鍵字,而是看文字意思相不相似。
常見誤解
誤解一:embedding(嵌入向量)等於 AI 真正理解人類語言。其實不完全是。它是用大量資料學到語意關係,能在數字空間裡呈現相似性,但不代表它像人一樣有常識、情緒或意圖。它很會「判斷相近」,但仍可能誤判。
誤解二:向量越長,效果一定越好。向量維度高,不代表一定適合你的任務。不同 embedding model(嵌入模型)訓練資料、語言能力、成本、速度都不同。如果你主要處理繁體中文客服資料,就要特別測試模型對中文語意的表現。
誤解三:有了 vector DB(向量資料庫),就不需要整理文件。錯。垃圾進,垃圾出。如果文件內容過期、重複、切段太亂,搜尋結果也會差。好的 AI 知識庫不只是把資料丟進去,還要設計文件切分、更新流程、權限控管與結果評估。
誤解四:語意搜尋可以完全取代關鍵字搜尋。其實很多系統會混合使用。比如搜尋「2024Q4 合約編號 A-7788」,精確關鍵字非常重要;但搜尋「上次客戶抱怨付款失敗怎麼處理」,語意搜尋更有優勢。真正好用的系統,通常會把兩者搭配起來。
今天小測驗(3 題)
第 1 題:embedding(嵌入向量)最主要的作用是什麼?
A. 把文字變成圖片
B. 把文字轉成能表示語意的數字向量
C. 把中文翻譯成英文
D. 把資料壓縮成 ZIP 檔
查看答案與解析
答案:B。embedding(嵌入向量)的核心是把文字、句子或文件轉成一串數字,讓電腦可以計算語意相似度。
第 2 題:語意搜尋和傳統關鍵字搜尋最大的差別是什麼?
A. 語意搜尋只適合英文
B. 語意搜尋一定比較便宜
C. 語意搜尋會比較文字意思是否接近
D. 語意搜尋不能用在客服系統
查看答案與解析
答案:C。傳統關鍵字搜尋重視字面是否相同;語意搜尋會把查詢和資料轉成向量,再比較意思是否相近。
第 3 題:vector DB(向量資料庫)最常用在哪種情境?
A. 儲存使用者密碼明文
B. 快速找出與某段文字語意最相近的資料
C. 把電腦變成印表機
D. 讓網頁顏色自動變漂亮
查看答案與解析
答案:B。vector DB(向量資料庫)擅長存放大量向量,並快速查找最相似的資料,常用於 AI 知識庫、RAG(檢索增強生成)、客服問答與文件搜尋。