别直接分类,让模型先生成标签
Simon Willison5 天前
为什么不直接匹配既有标签?
当标签库规模很大时,直接把所有标签交给大语言模型,再要求它从中挑选匹配项,可能并不适合实际使用。
例如,一个博客目前有 1,856 个标签。将这些标签一次性输入模型,要求模型判断哪些标签适合某篇内容,成本和上下文压力都可能较高。
一种两阶段方案
Doug Turnbull 提出了一种不同的思路:
- 先让模型生成假设标签,不向模型提供现有标签库的具体内容。
- 再使用向量嵌入进行匹配,将模型生成的标签与现有标签库进行相似度比较,找出最接近的具体标签。
这样,模型负责提出可能的概念,向量检索则负责把这些概念对应到实际可用的标签上。
让模型理解标签的层级和格式
为了让模型生成更有用的结果,可以在提示词中提供标签结构示例。例如:
你的任务是为搜索查询创建从未见过的新家具、家居用品或五金分类,并选择最匹配的分类。
产品分类可能采用以下形式:
家具 / 客厅家具 / 茶几和边桌 / 茶几
装饰与抱枕 / 装饰抱枕和毯子 / 抛枕
家具 / 卧室家具 / 梳妆台和储物柜
厨房与餐桌用品 / 厨房收纳 / 食品储存盒
学校家具和用品 / 学校家具 / 学校椅子和座椅 / 可堆叠椅
婴幼儿与儿童 / 幼儿和儿童卧室家具 / 儿童床
请为以下查询生成分类:
棕色茶几
这里的关键不在于让模型准确复现标签库,而是先生成符合既有层级和表达方式的候选概念,再通过嵌入相似度找到可落地的标签。
这种方法适合处理标签数量较多、需要为历史内容补充标签的场景。
