检索和匹配模型通常被一个分数评判,而这个分数在随机负样本下好看得离谱。同一个模型,一到真实流量里那些「差一点就对」的案例上就崩。
有用的集合和好看的集合,区别就在负样本从哪来。
随机负样本会把分数抬高
如果错误答案和查询一个词都不重合,模型只需要发现「话题不同」。那是词汇测试,不是判断测试。
一个话题相同、说法相似、只有一处细节错的负样本,是另一回事——而那才是用户真正造出来的那种问题。
从模型自己的错误里挖
困难负样本最便宜的来源,就是当前这个模型。把它排得很高却答错的案例拿出来,人工确认,加进去。
这还能让集合保持新鲜:模型变强,它挖出来的负样本就更难,集合朝着正确方向变老。
难的负样本也得是真的负
困难负样本仍然是负样本。如果标注员得辩论一番才能证明它错,那它多半是一个还没被发现的标注错误。
要求每条困难负样本配一行理由。没有理由的行,就是一个集合悄悄塞满「其实是对的」的东西的方式。
记录难度分布,不只是条数
按「有多接近」给负样本分档报数,而不是只报总数。一成是难的,和一半是难的,是两种行为完全不同的数据集。
这些语料由 Zovda 通过 Datuva 生产,每条负样本都保留它被判错的那条理由。图文对语料把这套思路用在了配对上。
告诉我们你的模型要区分什么,我们会在 1 个工作日内回复。
