將文檔分類擴展到10萬+標籤
Databricks 提出了一種結合向量搜索和 AI 分類函數的方法,用於處理多達 10 萬+標籤的大規模文檔分類任務。該方法在三個基準測試中,以約百分之一的令牌成本,比最佳成本效益前沿模型準確率高出 5 個百分點。
在 Databricks 上,成千上萬的客户構建生產工作負載,將自由格式文本映射到包含 10 萬+ 標籤的規範化分類體系。常見的用例包括生物醫學實體鏈接(將臨牀筆記和論文中的疾病、藥物等匹配到 UMLS 概念)、供應商規範化(如將交易字符串“SBUX #4471 SEATTLE WA”映射到 10 萬+商家)以及公司規範化(去重不同系統中的客户記錄)。
這些大規模分類任務對質量、成本和吞吐量提出了嚴格要求。傳統方法如自定義正則表達式、精確匹配和有監督分類器存在諸多缺陷:模式匹配脆弱,難以應對現實數據的格式變化;真實標籤分佈呈長尾狀,導致訓練數據稀疏且不平衡;分類體系經常變化,需要不斷更新規則和重新訓練模型。
最近,許多客户嘗試使用大型語言模型(LLM)進行分類,避免了訓練模型和維護正則表達式的麻煩。然而,在標籤數量達到幾十萬時,LLM 的上下文窗口難以容納整個分類體系,且容易產生幻覺,返回不存在的標籤。即使利用提示緩存,逐文檔傳遞整個分類體系的成本仍然高昂。
Databricks 的解決方案分為三個步驟。首先,使用 Qwen3-Embedding-8B 模型對所有標籤及其描述進行嵌入,並構建內存中的向量索引。其次,對輸入文檔進行嵌入,並通過混合語義相似度(餘弦相似度)和詞彙相似度(BM25 算法)進行檢索,採用倒數排名融合(Reciprocal Rank Fusion)合併兩個排序列表,選出前 k 個候選標籤。最後,將候選列表傳遞給 Databricks AI 分類函數,由它從候選中選出最佳匹配標籤。
在三個基準數據集上(交易:10 萬標籤,200 份評估文檔;公司:10 萬標籤,200 份評估文檔;MedMentions:3.5 萬標籤,200 份評估文檔),研究者比較了多種方法。結果顯示,向量搜索 + AI 分類工作流的平均準確率為 0.81,僅次於直接調用 GPT-5.6 Luna(後者能容納全部標籤),但成本僅為直接調用 Gemini 3.5 Flash 的百分之一(後者準確率為 0.76)。僅使用向量搜索的方法成本極低,但準確率比組合方法低 20 個百分點以上。
該工作流對分類體系的變化具有天然適應性:只需移除過時的標籤並嵌入新標籤,無需重新訓練或部署。對於處理大規模分類任務的團隊,Databricks 提供了一個逐步教程,涵蓋從標籤嵌入到 k 值選擇的完整流程。