AI News HubLIVE
站内改写2 分钟阅读

将文档分类扩展到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 值选择的完整流程。