Skip to content

定和分配

在 Potato 中配置定和分配标注,让标注者在固定的总分预算内跨类别分配点数,输入方式可选数字框或滑块。

定和分配标注方案让标注者把固定数量的点数分配到多个类别上。与使用联动滑块的软标签不同,定和分配同时支持直接输入数字和拖动滑块,专为标注者必须在固定预算内做出明确取舍的任务而设计。

Potato constant-sum interface distributing 100 points across feature prioritiesConstant sum in Potato

概览

定和分配任务在问卷调查和偏好获取中很常见。标注者拿到一个固定的点数池(例如 100 分),把它们分配到各个条目上,以表达相对重要性、偏好或占比。界面会强制保证所有分配加起来等于配置的总分。

快速开始

yaml
annotation_schemes:
  - annotation_type: constant_sum
    name: feature_importance
    description: Distribute 100 points across features based on their importance.
    labels: ["Accuracy", "Speed", "Ease of Use", "Cost"]
    total_points: 100

配置项

字段类型默认值说明
annotation_typestring必填必须为 "constant_sum"
namestring必填本方案的唯一标识符
descriptionstring必填展示给标注者的说明文字
labelsarray必填待分配点数的条目列表(至少 2 个)
total_pointsinteger100所有分配必须加总达到的固定总分
min_per_iteminteger0每个条目至少要分到的点数
input_typestring"number"输入方式:"number" 为文本框,"slider" 为滑块控件
label_requirement.requiredbooleanfalse是否必须完成本项标注才能继续

示例

功能优先级排序

yaml
annotation_schemes:
  - annotation_type: constant_sum
    name: feature_priority
    description: Allocate 100 points to indicate which features matter most to you.
    labels: ["Performance", "Reliability", "Usability", "Security"]
    total_points: 100
    input_type: number

预算分配

yaml
annotation_schemes:
  - annotation_type: constant_sum
    name: budget_allocation
    description: How would you distribute a $1000 budget across these areas?
    labels: ["Marketing", "Engineering", "Design", "Research"]
    total_points: 1000
    input_type: slider
    min_per_item: 50

时间分配

yaml
annotation_schemes:
  - annotation_type: constant_sum
    name: time_spent
    description: Distribute 24 points (hours) across daily activities.
    labels: ["Work", "Sleep", "Exercise", "Leisure", "Commute", "Other"]
    total_points: 24
    min_per_item: 0

用滑块做简单比较

yaml
annotation_schemes:
  - annotation_type: constant_sum
    name: text_comparison
    description: Distribute 10 points between the two texts based on quality.
    labels: ["Text A", "Text B"]
    total_points: 10
    input_type: slider

输出格式

json
{
  "feature_importance": {
    "labels": {
      "Accuracy": 40,
      "Speed": 25,
      "Ease of Use": 20,
      "Cost": 15
    }
  }
}

各项数值加起来总是等于配置的 total_points

实践建议

  1. 选一个直观的总分 —— 100 分适合表达百分比;总分小一些(10、20)更适合需要快速完成的任务
  2. 要精确就用数字输入 —— 当具体数值重要时,数字框比滑块准
  3. 要快就用滑块 —— 做粗略分配时滑块更快
  4. 控制条目数量 —— 超过 7 到 8 个条目,分配点数的认知负担就明显上升
  5. 考虑设置最小分配 —— 如果每个类别都应该分到一些点数,就用 min_per_item
  6. 把背景交代清楚 —— 说明这些点数代表什么(重要性、时间、金钱等)

延伸阅读

有关实现详情,请参阅源文档