🧠較早收集於 14h

透過 Tokenization 與 Accent Folding 優化混合搜尋

透過 Tokenization 與 Accent Folding 優化混合搜尋
PostLinkedIn
🧠閱讀原文: Weaviate Blog

💡了解如何利用 Weaviate 的新 Tokenization 與變音符號折疊功能,提升您的 RAG 搜尋準確度。

⚡ 30-Second TL;DR

有什麼變化

引入變音符號折疊(accent folding)以標準化文本,提升搜尋匹配度

為什麼重要

這些改進使開發者能夠建構更精確且與語言無關的搜尋系統。透過微調 Tokenization,從業人員可以顯著降低檢索增強生成(RAG)管道中的雜訊。

下一步行動

使用 /v1/tokenize 端點測試您目前的搜尋查詢,驗證變音符號折疊與自定義停用詞是否能提升您的檢索精確度。

誰應關注:Developers & AI Engineers

關鍵要點

  • 引入變音符號折疊(accent folding)以標準化文本,提升搜尋匹配度
  • 新增自定義停用詞支援,以優化搜尋相關性
  • 透過 /v1/tokenize API 端點開放文本分析功能
  • 增強多語言搜尋應用的 BM25 效能

🧠 深度解析

Web-grounded analysis with 20 cited sources.

🔑 增強重點摘要

  • 變音符號折疊(accent folding)功能在索引和查詢時將帶有變音符號的拉丁字符及其他變音符號標準化為其 ASCII 等效字符,顯著提升了多語言搜尋的召回率。
  • 自定義停用詞(custom stopwords)可透過 invertedIndexConfig 為每個集合定義,並在 BM25 評分時從分詞後的查詢中移除,但這些停用詞仍會被索引並影響最終分數計算,這對於精確控制搜尋相關性至關重要。
  • Weaviate 的 /v1/tokenize API 端點(v1.37 預覽功能)允許開發者在提交 schema 配置前,預先檢查文本如何被分詞,這對於調試和實驗變音符號折疊或自定義停用詞預設值非常有用。
  • Weaviate 的混合搜尋(hybrid search)結合了 BM25/BM25F(稀疏向量搜尋)與密集向量搜尋,並使用 Reciprocal Rank Fusion (RRF) 等融合演算法來合併和排序結果,以平衡精確關鍵字匹配與語義理解。
  • Weaviate 的 BM25 實作採用了 BM25F 演算法,該演算法允許為物件的不同欄位(屬性)設定不同的權重,從而透過優先考慮標題等更重要的欄位來提高搜尋結果的相關性。
📊 競品分析▸ Show
特性/產品WeaviatePineconeQdrant
部署選項自託管 (開源) 或託管雲服務 (WCS)完全託管 SaaS自託管 (開源) 或託管雲服務
混合搜尋是 (BM25 + 向量搜尋)否 (僅向量搜尋)是 (稀疏 + 密集向量)
API 介面GraphQL, REST, Python/Go/Java/C# SDKsPython, REST, gRPCPython, REST, gRPC
多模態支援是 (文本、圖像、音訊)有限 (無原生多模態)有限 (僅向量)
擴展性需要手動分片/擴展自動擴展,完全託管手動擴展,但高吞吐量
查詢延遲 (p95)50-70ms (廠商基準)45ms38ms
吞吐量 (QPS)3,000-8,0005,000-10,0008,000-15,000
定價模型 (託管)Flex 方案 $45/月起,按向量維度、儲存和備份計費標準方案 $50/月起,按使用量計費免費自託管,雲服務 $0.50/百萬向量
主要優勢最佳混合搜尋、靈活部署、強大的 GraphQL API、開源生態系統最易用、完全託管、零基礎設施管理最快查詢性能、高吞吐量、自託管成本效益高

🛠️ 技術深入

  • 變音符號折疊 (Accent Folding):透過 textAnalyzer.asciiFold 屬性在文本屬性中啟用。在索引和查詢時,將帶有變音符號的拉丁字符及其他變音符號標準化為其 ASCII 等效字符,例如將 "Café Crème" 轉換為 "Cafe Creme"。
  • 分詞 (Tokenization):Weaviate 使用倒排索引 (inverted index) 進行分詞。提供多種分詞方法,包括 word(預設,按非字母數字字符分割並轉小寫)、whitespace(按空格分割,保留符號和大小寫)、lowercase(按空格分割並轉小寫,保留符號)、field(將整個欄位值視為單一 token),以及針對中文/日文的 GSE 和韓文的 kagome_kr 等專用分詞器。分詞是屬性層級的配置。
  • BM25F 演算法:Weaviate 採用 BM25F 演算法進行關鍵字搜尋,它是 BM25 的一個變體,允許為物件的不同文本欄位設定不同的權重。BM25F 根據查詢 token 在物件屬性中的頻率、物件屬性長度以及 BM25 參數 k1 (預設 1.2) 和 b (預設 0.75) 來計算相關性分數。這些參數可在集合或屬性層級進行配置。
  • 混合搜尋融合 (Hybrid Search Fusion):透過並行執行稀疏向量搜尋 (BM25) 和密集向量搜尋,然後使用融合演算法(如 Reciprocal Rank Fusion, RRF)將兩者結果合併並排序,以生成單一的、綜合的結果列表。
  • 倒排索引 (Inverted Index):Weaviate 為每個屬性和每個索引類型(indexSearchableindexFilterableindexRangeFilters)創建單獨的倒排索引。2024年10月,Weaviate 在 v1.24.26、v1.25.20、v1.26.6 和 v1.27.0 版本中引入了 BM25F 評分演算法的性能改進,包括更快的段合併和改進的 WAND 演算法。
  • 自定義停用詞 (Custom Stopwords):可透過 invertedIndexConfig.stopwords 為每個集合定義自定義停用詞列表。預設情況下,Weaviate 會過濾掉常見的英文停用詞。停用詞在分詞時被移除,但在 BM25 相關性排名中仍會影響分數計算。

🔮 前景展望AI analysis grounded in cited sources

提升多語言應用開發效率
變音符號折疊與自定義停用詞功能減少了開發者處理多語言文本預處理的複雜性,使其能更專注於核心應用邏輯。
強化企業級搜尋解決方案的精確度與相關性
透過更精細的文本分析,Weaviate 能在複雜的企業知識庫和 RAG 應用中提供更精準的關鍵字匹配和語義理解,滿足特定領域的需求。
擴大 Weaviate 在全球市場的競爭優勢
這些多語言優化功能使其在處理非英語系語言數據時表現更佳,有助於吸引更多國際用戶和企業採用。

時間線

2019
Weaviate 公司正式成立,專注於開發 AI 驅動的向量資料庫。
2022-02
Weaviate 完成 A 輪融資1650萬美元,並推出 Weaviate Cloud Service。
2023-04-20
Weaviate 完成 B 輪融資5000萬美元,估值達到2億美元。
2024-10
Weaviate 在 v1.24.26 等版本中引入了 BM25F 評分演算法的性能改進。
2025-12
Weaviate 1.35 版本引入了 Object TTL、zstd 壓縮及擴展的 AI Agents 功能。
2026-05
Weaviate 推出 v1.37 預覽功能,包括變音符號折疊與自定義停用詞等增強文本分析功能。
📰

AI 週報

閱讀本週精選 AI 大事摘要 →

👉相關動態

AI 策展新聞聚合。所有內容版權歸原始發布者所有。
原始來源: Weaviate Blog