iT邦幫忙

2025 iThome 鐵人賽

DAY 23
0
生成式 AI

一起來打造 PTT 文章智慧問答系統!系列 第 23

【Day 23】語意檢索與關鍵字檢索 - 深入認識檢索方式

  • 分享至 

  • xImage
  •  

Hi大家好,
這是我參加 iT 邦幫忙鐵人賽的第 1 次挑戰,這次的主題聚焦在結合 Python 爬蟲、RAG(檢索增強生成)與 AI,打造一套 PTT 文章智慧問答系統。在過程中,我會依照每天進度上傳程式碼到 GitHub ,方便大家參考學習。也歡迎留言或來信討論,我的信箱是 gerryearth@gmail.com


在我們前面幾天中,已經完成了資料清理、切割、向量化,並建立檢索流程。但很多人會有一個疑問:語意檢索與傳統關鍵字檢索,究竟差在哪裡?為什麼我們需要語意檢索?

今天,我們就從理論的角度,深入解析這兩種檢索方式,並探討它們的核心差異與適用情境。


今日目標

  • 了解關鍵字檢索的核心原理與特徵
  • 認識語意檢索的概念與底層技術
  • 比較兩者的優缺點與差異
  • 探討不同應用場景下,應該選擇哪種檢索方式
  • 說明為何混合檢索成為趨勢

關鍵字檢索是什麼?

關鍵字檢索是最傳統、也是目前仍廣泛使用的檢索方式,其核心概念是 字面匹配,常見方法包括:

  • 布林檢索:透過 AND、OR、NOT 等條件組合。
  • TF-IDF / BM25:利用詞頻與逆文檔頻率衡量詞的重要性。

特徵

  • 依賴關鍵字的出現與權重。
  • 不理解詞彙背後的語意。

優點

  • 運算速度快:字面匹配與排序成本低。
  • 資源消耗少:無需額外模型或向量儲存。
  • 精準命中關鍵詞:適合用於專業術語檢索(法律條文、程式碼)。

缺點

  • 無法理解語意:遇到同義詞、語序變化會漏掉結果。
  • 缺乏語境感知:無法判斷兩段文字是否描述相同概念。

語意檢索是什麼?

語意檢索則是利用 向量化(Embedding)技術,將文字轉換成多維度向量,並透過相似度(通常是餘弦相似度)計算內容的相關性。

例如:

  • 「買房貸款」與「購屋貸款」在字面上不同,但向量表示會很接近,因為它們語意類似。

核心技術

  • 詞嵌入(Word Embedding) → Word2Vec、GloVe
  • 句子 / 文件嵌入 → BERT、OpenAI Embedding、Sentence-BERT

優點

  • 理解語意:可處理同義詞、語序調換,提升檢索體驗。
  • 支持自然語言問題:適合問答、聊天機器人、知識檢索。

缺點

  • 成本高:需要模型計算 Embedding,並儲存高維度向量。
  • 查詢速度依賴向量索引:需用 FAISS、Milvus、Pinecone 等專門向量資料庫。

核心差異比較

特徵 關鍵字檢索 語意檢索
比對方式 文字字面匹配 向量相似度比較
同義詞處理 無法處理 可處理
語境理解 無法理解 支援
速度 較慢(需優化)
成本 高(模型與向量儲存)
適用場景 法條查詢、代碼檢索、全文比對 智慧問答、客服、知識庫檢索、搜尋推薦

適用場景與最佳實踐

  • 當你需要精準命中關鍵詞時 → 關鍵字檢索仍然最有效,例如:

    • 法律條文比對
    • 程式碼檢索
    • 電子書全文搜尋
  • 當使用者查詢不固定、語意多變時 → 語意檢索更適合,例如:

    • 智慧客服
    • FAQ 問答
    • 知識管理與文件檢索
  • 混合檢索 → 結合關鍵字與語意檢索,提升精準度與覆蓋率,並兼顧效能。


結論

關鍵字檢索與語意檢索並不是「誰取代誰」的關係,而是「互補」的角色。

  • 關鍵字檢索在精準查找與低成本場景中仍然有不可取代的優勢。
  • 語意檢索則讓人機互動更加自然,適合現代智慧應用。

未來最佳的方案,往往是 混合檢索,結合兩者優勢,根據不同需求彈性調整。


下一篇【Day 24】Embedding 模型比較 - 選擇最適合專案的模型,我們將深入比較 不同 Embedding 模型的特性、成本與表現,並給出模型選擇的實務建議!


上一篇
【Day 22】RAG 的文章切割策略 - 決定 PTT 文章切割長度
下一篇
【Day 24】Embedding 模型比較 - 選擇最適合專案的模型
系列文
一起來打造 PTT 文章智慧問答系統!27
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言