Zubnet AI學習Wiki › 語意搜尋
使用AI

語意搜尋

向量搜尋、神經搜尋
基於語意而非精確關鍵字匹配來尋找結果的搜尋方式。語意搜尋不是尋找包含「修復」這個詞的文件,而是找到關於「修理」、「解決」、「修補」和「除錯」的文件,因為它們的意思相似。它的運作方式是將文字轉換為嵌入(數值向量),並在向量空間中找到最接近的匹配。

為什麼重要

語意搜尋是現代搜尋相比關鍵字搜尋感覺如此神奇的原因。它驅動了 RAG 系統、文件搜尋、電子商務產品發現和客服工單路由。如果你正在建構任何需要找到相關資訊的應用程式,語意搜尋很可能是正確的方法。

深度解析

處理流程:(1) 使用 BGE、E5 或 Voyage 等模型將你的文件編碼為嵌入,(2) 將這些嵌入儲存在向量資料庫中(Pinecone、Qdrant、Weaviate、pgvector),(3) 當查詢到達時,使用相同的模型對其編碼,(4) 使用餘弦相似度或內積等相似度指標找到最近的嵌入。查詢「如何修復記憶體洩漏」會匹配標題為「在 Node.js 中除錯 RAM 消耗」的文件,因為它們的嵌入在向量空間中很接近。

混合搜尋

純語意搜尋有一個弱點:它可能會遺漏關鍵字搜尋能輕鬆捕捉的精確匹配。如果有人搜尋錯誤代碼「ERR_SSL_PROTOCOL_ERROR」,語意搜尋可能會返回一般的 SSL 疑難排解,而不是確切的錯誤。混合搜尋結合了兩者:關鍵字匹配(BM25)用於精確度,語意搜尋用於召回率,然後合併結果。大多數生產環境的搜尋系統使用混合方法。

嵌入模型的選擇至關重要

語意搜尋的品質完全取決於嵌入模型。通用模型(OpenAI 的 text-embedding-3、Cohere Embed)適用於大多數文字。領域特定模型(在醫療、法律或程式碼資料上訓練的)在其領域中表現優於通用模型。多語言模型支援跨語言搜尋。MTEB 排行榜在許多任務上對嵌入模型進行基準測試——它是選擇嵌入模型的最佳資源。

相關概念

← 所有術語
← 詞彙表 語料庫 →