零样本分类:用你定义的类别给文本打标签
用一句话写清每个标签的含义,贴上一段文本,Jev 会返回每个标签的概率和一个置信度。不需要训练数据,不需要微调,也没有要解析的提示词输出。下面用一条新闻片段直接试用,不用注册。
用你自己的文本试试
修改示例后运行。无需账号,每天免费 3 次。
场景
按你定义的主题给文本归类,无需训练数据。
可以随意修改,Jev 会针对这里的内容回答该场景的问题。
这个工具检查什么
示例看起来像一个边界情况:它讲的是一家公司的股价和营收预期,属于商业;但这家公司做的是处理器,可能被拉向科技。由于商业被定义为"公司、市场、财报与经济",Jev 会明确把它归入商业。你可以把文本改写成讲处理器本身,看看概率分布怎么变化。一次评估问三个问题:
| 问题 | 类型 | 返回什么 |
|---|---|---|
topic | Choice | world、sports、business、sci_tech 各自的概率和置信度 |
opinion | Noul | 这段文本是评论而不是新闻报道的概率,0 到 1 |
negative_news | Noul | 它报道的是所涉机构遭遇挫折的概率 |
这四个主题正是 AG News 的标签集,AG News 是常用的主题分类基准,所以你可以把这里看到的结果和下面公开的数字对照。这些标签没有经过任何训练,定义每个标签的只有它旁边那一行文字。改掉那行文字,分类器也就跟着改了。
这里的零样本分类是怎么做的
大多数零样本分类器会把任务改写成模型本来就会做的事。经典做法是 Hugging Face 的 zero-shot-classification pipeline:把每个标签变成一个假设句(默认是 This example is {}.),再用自然语言推理(NLI)模型打分。另一条常见路线是提示通用大模型"只用这些标签之一回答"。
Jev 直接接收标签。一个 Choice 问题就是一组带说明的选项,返回的是每个选项的概率,而不是一段还要和标签名去匹配的文字。实际用起来有两个影响:
- 它不会答出你的标签以外的东西。 不会临时造出一个"商业/科技",也没有会出错的解析步骤。
- 你拿到的是分布,而不只是一个赢家。 商业 0.55、科技 0.40 的文本,和商业 0.97 的文本,应该做不同的决定。置信度把这个分布形状压缩成一个可以设阈值的数字。
和其他零样本分类器相比
我们知道的唯一独立测量是 jev-benchmarks,一项预先登记的试验:在三个数据集上各取 100 条留出样本,比较 jev-1.13.0 和 GLiNER(fastino/gliner2.5-multi-v1):
| 数据集 | 标签数 | Jev 准确率 | GLiNER 准确率 | Jev 覆盖率(错误率 ≤5%) | GLiNER 覆盖率 |
|---|---|---|---|---|---|
| AG News | 4 | 0.910 | 0.700 | 0.830 | 0.240 |
| Banking77 | 72 | 0.870 | 0.610 | 0.860 | 0.270 |
| DAIR Emotion | 6 | 0.480 | 0.440 | 0.000 | 0.020 |
覆盖率是在错误率不超过 5% 的前提下可以自动处理的文本比例,比单纯的准确率更接近分类器的实际用法。在新闻主题和银行意图上 Jev 明显领先;在情绪分类上两者都不可用,而且 Jev 的校准更差。这只是一项 300 条样本的试验,不是排行榜,也没有纳入 bart-large-mnli 这类 NLI 模型或提示式大模型。更多取舍见 Jev 的替代方案。
怎么写标签
定义每个标签,而不只是给它起名。 "商业"对编辑和会计意味着不同的东西。一行说明("公司、市场、财报与经济")才是任务定义所在。
把边界写明白。 如果团队会把芯片公司的财报归到商业,就在说明里写上:"公司业绩即使来自科技公司,也归入此类。"
加一个兜底选项。 真实数据里总有不属于任何标签的文本。other 选项能避免它们被硬塞进最接近的标签,它的概率也能告诉你标签集漏掉了多少。
会重叠的标签用 Noul。 一段文本可能同时讲价格和 bug,这是多标签分类。为每个标签各问一个 Noul,而不是用一个 Choice。
更多措辞技巧见设计 Jev 能回答的问题。
从试用到流水线
- 先标注一批样本。 一百条左右团队已分好类的文本,就足以看出 Jev 在哪里和你一致、你的标签定义在哪里有歧义。
- 不写代码处理积压数据。 批量页面可以对 CSV 的每一行跑同一组问题。
- 从样本里选阈值。 高于阈值的自动处理,其余交给人。这个划分正是上表覆盖率衡量的东西。
- 新文本走 API。 同样的评估可以用 API Key 通过 System One API 调用,扣点和试验台相同。
哪些时候 Jev 不是合适的工具
- 细粒度情绪分类。 这正是基准里失败的场景。要么重点测试,要么用自己的标注数据训练模型。
- 文本不能离开你的机器。 Jev 是托管模型;GLiNER 或 NLI 模型可以本地运行。
- 标签集大且稳定,标注数据充足。 在你自己的任务上,用自己数据训练的分类器通常会胜过任何零样本模型,单次调用也更便宜。
- 你需要写出来的推理过程。 Jev 返回的是带类型的答案,不是解释。
常见问题
- 什么是零样本分类?
- 零样本分类(zero-shot classification)是让模型把文本归到它在这个任务上从没训练过的标签里。你不用收集标注样本、训练分类器,只需描述每个标签,由模型判断哪个最合适。代价是在范围窄且稳定的任务上精度可能不如专门训练的模型,好处是标签一写好就能用。
- 这个零样本分类工具免费吗?
- 可以免费试用:本页的工具不用注册,每天可跑 3 次,示例文本可以修改,上限 2,000 字符。要用自己的文本和标签,免费注册 JevStation 账号即送 200 点,30 天内有效;一段文本、不超过 5 个问题扣 1 点。
- Jev 和 GLiNER 做零样本分类相比怎么样?
- 在一项预先登记、每个数据集 100 条样本的独立试验中,Jev 在 AG News 上准确率 0.910,GLiNER 为 0.700;在 Banking77 上为 0.870 对 0.610。在六类情绪数据集 DAIR Emotion 上两者都不可用。GLiNER 可以本地运行,在标签少的任务上响应更快。
- 最多能用多少个标签?
- 在 JevStation 上,一个 Choice 问题最多 12 个选项,一次评估最多 12 个问题。标签更多时分两步:先分大类,再在大类里分具体标签。
- 一段文本能有多个标签吗?
- 可以,但要换一种问题类型。Choice 只会选出一个选项;多标签分类请为每个标签各问一个 Noul,比如"这段文本是否讨论价格?",每个 Noul 都返回 0 到 1 的独立概率。
相关页面
把它接进你的流程
注册即送 200 点,保存自己的问题集,并通过 API 调用同样的评估。