Skip to content

如何在预标注数据中区分认真复核与走过场

当标注者不读就接受模型预标注时,所有质量指标都会变好,一致性也不例外。时间是唯一能把认真复核与走过场式盖章区分开的信号。

预标注让标注者更快,也让走过场式的盖章毫无阻力,而任何从标注本身算出的指标都无法把两者区分开。 几何形状完全相同,而标注者间一致性还会上升,因为都接受同一份模型输出的标注者,在构造上就是一致的。

唯一能显出差别的地方,是时间。

质量指标为什么在这里会失效

假设一个模型为每张图片都做了预标注,而三位标注者几乎全盘接受。

  • 一致性会上升,因为他们记录的都是模型的输出。
  • 基准准确率会在模型判断正确之处上升,而那是大多数情况。
  • 需要裁决的量会下降,因为没有什么可裁决的。

每一块看板都变好看了。而这份数据集如今不过是一份模型与自己达成一致的记录,其错误是系统性的而非随机的——这是最糟的一类,因为它们不会在多位标注者之间被平均掉。

对 2026 年的工作流来说,这并非假设。一键自动标注正在成为全行业的默认做法,而信度相关的文献对此没有任何度量,因为经机遇校正的一致性是为独立判断设计的,而这些判断并不独立。

该记录什么

时间,精确到单次接受这一层级:

信号它能说明什么
AI 接受延迟从建议被呈现到被接受的时间。最有用的单一数字。
每个图形的耗时一份绘制出来的标注所花的时间是否合理
修改次数放置之后是否做过任何修正
笔迹动态一份掩码是画出来的,还是整份被接受的
缩放行为标注者是否曾经凑近看过

上述任何一项都不需要坐标,而且你也不应当采集坐标。一份无法还原标注本身的过程记录,向伦理委员会解释起来要容易得多,而且它同样能回答这个问题。

如何读这些数字

人无法在 300 毫秒内检视一条掩码边界并做出判断。偶尔一次也许可以,如果目标很明显的话。但作为跨大量条目的中位数,那就不是熟练。

要读分布,绝不要在单个条目上设阈值。三条经得起推敲的原则:

  1. 把每位标注者与项目本身比较,而不是与某个常数比较。 简单的语料确实就是快。在你自己的项目内做百分位校准,是唯一站得住脚的基线。
  2. 寻找连续片段。 连续二十次低于 500 毫秒的接受,比分散的二十次要有力得多。
  3. 按是否存在建议来切分。 标注者自己绘制的速度,是衡量其接受速度的天然对照。

这件事做不到什么

它不检测欺诈,也不给标注者下定论。一次标记是"值得去看看"的提示,而非结论。

基准率很重要,也很容易被忘记:在一个 80% 的条目确实简单的语料中,快通常就是对的,而一条为抓走过场而调好的规则,最终大多会抓到"能力强"。这正是阈值应当属于你的项目、而非随产品预置的原因。

在 Potato 中如何做

yaml
annotation_telemetry:
  enabled: true
  fidelity: events
  idle_ms: 120000

对于自由文本答案,与之对应的是击键记录,它能区分"逐字写出的"、"誊抄的"与"粘贴的"文本。它在 beforeinput 而非 keydown 上捕获,因为粘贴、拖放、输入法、语音听写与自动填充都会在不触发 keydown 的情况下改变字段内容——所以只监听 keydown 的记录器,恰恰对它本该抓住的那些情况视而不见。

两者都不附带预训练的分类器。走过场行为并不存在带标注的语料,而把拟合出来的系数说成"已验证",就是在编造验证。

伦理

标注者会看到录制提示,并且该提示默认开启。这是研究工具与监控之间的分界线,值得在你的知情同意文本中明确写清:记录什么(时间与过程)、不记录什么(内容与坐标)、保留多久,以及将用于什么用途。

同意书示例文本与保留期相关的问题,参见击键记录的伦理

延伸阅读