多标签任务的三个约束
一条文本可以同时属于多个类别时(一条评论既涉及物流又涉及客服态度),提示里必须补三条约束:数量上限、排序规则、命中依据。不设上限时模型倾向「全都要」,召回虚高;不排序则解析方拿不到主标签;不要依据则无法核查误标。评估上,多标签任务按每个标签的精确率与召回率看,整体命中率会掩盖单个标签的退化。
基本信息
| 输出形态 | 标签数组,每个标签附原文依据片段 |
|---|---|
| 数量上限 | 如 1-3 个,防「全都要」导致召回虚高 |
| 排序规则 | 按相关度降序,便于取主标签 |
| 评估口径 | 每个标签的精确率/召回率,而非只看整体命中 |
典型使用场景
- 内容打标:一篇文章同时标「运维」「安全」「合规」三个主题
- 工单归类:一条工单可能既涉及网络又涉及权限
- 评论洞察:一条反馈同时命中「物流」与「包装」两个关注点
- 检索索引:为文档批量补充多主题标签,提升召回
- 风险标注:一条内容可能同时命中多个违规类型,需要按严重度排序
多标签模板
多标签模板
为文本选出所有命中的标签(1-3 个,按相关度排序);
每个标签附 20 字以内的依据(引用原文片段)。
输出 JSON:
[{"label": "……", "evidence": "……"}]
# 数量上限与排序规则必须写,否则结果无法稳定解析
# 依据要求「原文连续片段」,避免模型复述而非引用
# 没有命中任何标签时输出空数组 [],不要强行给标签
文本:<text>……</text>多标签常见缺陷
| 缺陷 | 表现 | 后果 |
|---|---|---|
| 不设数量上限 | 一条文本挂 5-8 个标签 | 标签失去区分度,下游筛选失效 |
| 不排序 | 标签顺序随机 | 无法取主标签做展示或路由 |
| 依据是复述 | evidence 与原文不一致 | 人工核对成本上升,误标无法发现 |
| 标签表不稳定 | 新增或重命名标签未同步 | 历史数据口径断裂,无法对比 |
不限数量时模型倾向多标求稳,召回虚高而精确率下降;上限与排序必须写进提示,并在评估里分别查看。
依据字段容易被写成复述;要求「引用原文连续片段」后,才可以做程序侧的原文校验。