RAG 與知識庫

Semantic Search 語意搜尋是什麼?搜的是意思不是字面

語意搜尋(Semantic Search)不比對字面上的關鍵字,而是先理解問題的意思,把文字轉成向量,再從資料中找出意思最接近的內容。所以你搜「我想喝拿鐵」,也會找到寫著咖啡、飲品的段落。
Semantic Search 語意搜尋是什麼?搜的是意思不是字面:文章重點卡

Semantic Search 語意搜尋是什麼?搜的是意思不是字面

在自己的知識庫裡搜「怎麼提升專注力」,結果什麼都沒找到。可是資料裡明明有一篇「十個減壓的日常習慣」,講的就是這件事。

傳統關鍵字搜尋做不到的事,語意搜尋做得到。差別就在它比對的是意思。

你將學到什麼

定義

理解問題的意思,找出語意最接近的內容。

白話比喻

像懂你的店員,你說想喝點暖的,他就端拿鐵給你。

跟誰容易搞混

跟關鍵字比對互補而非取代,精確查詢仍是關鍵字強。

定義

語意搜尋(Semantic Search)不是比對字面上的關鍵字,而是理解問題的「意思」,再從資料中找到最相關的內容。

所以你搜「我想喝拿鐵」,它不會只找有拿鐵兩個字的段落,也會找到咖啡、飲品這些相關內容。

白話比喻

關鍵字搜尋像一位只認字的店員。你說「想喝點暖的」,他找不到菜單上有這五個字的品項,於是回你查無資料。

語意搜尋像一位懂你的店員。他知道暖的大概是熱飲,於是端了一杯拿鐵過來。他比對的是意思,不是字。

它怎麼運作

  1. 你提出問題,用自然語言就好。
  2. AI 分析問題,抓取重點與意圖。
  3. 把意思轉成一串數值,也就是 向量
  4. 在資料庫裡找出向量距離最近的內容。
  5. 回傳最相關的結果給你。

關鍵在第三步。意思相近的句子,數值會在空間中「靠近」,所以距離越近就代表意思越像。常見的距離算法有餘弦相似度、歐氏距離與內積。

跟關鍵字比對差在哪?

面向關鍵字比對(字面)語意比對(理解意思)
比對方式逐字比對關鍵字理解意思,比向量距離
需要相同字詞需要不需要
同義詞不太能處理能處理
適用場景簡單查詢、精確匹配自然語言提問、知識庫檢索
成本較高,需要計算與儲存向量

所以務實的做法是把 BM25 關鍵字比對向量搜尋 兩者並用,各補各的短處。

實際用例

企業內部搜尋是最典型的場景。員工不記得文件叫什麼名字,但記得內容大概在講什麼,語意搜尋剛好處理這種情況。

客服系統也很吃這一套。客戶用自己的話描述問題,系統要能對到 SOP 裡用完全不同措辭寫的那一條。

常見誤解最常見的誤解是以為語意搜尋一定比關鍵字準。它其實可能回傳「看起來相關但不完全正確」的內容,因為它評估的是語意距離而不是事實。另一個限制是它需要先把資料轉成向量,建置與更新都有成本,資料一改就要重算。
本文源起本文內容出自酒Ann 的「AI 實戰陪跑班」課程教材,由酒Ann 編寫成彙編條目。想系統性搞懂 AI 名詞,歡迎追蹤 酒Ann 的 Facebook

延伸學習

把這篇文章分享給需要的人FacebookLINEThreadsX

常見問答

語意搜尋會取代關鍵字搜尋嗎?
不會。查料號、姓名、法條編號這類精確查詢,關鍵字比對又快又準。實務上多半兩種一起用,稱為混合搜尋,再由重排序決定最終順序。
為什麼有時候搜出來的東西看起來相關卻不對?
因為它比的是語意距離,不是事實正確性。語意接近不等於內容正確,所以檢索結果仍需要引用來源與人為判斷。
怎麼問效果比較好?
用自然的句子問,不要刻意堆關鍵詞。描述越完整、意圖越明確,向量就越能落在對的位置,搭配時間或類型的篩選條件效果更好。