Skip to content

用户管理

配置用户访问、认证和协作设置。

用户管理

Potato 提供灵活的用户管理选项,从开放访问到受限认证。

访问模式

开放访问

允许任何人无需登录即可标注:

yaml
allow_all_users: true

受限访问

限制为特定用户:

yaml
allow_all_users: false
authorized_users:
  - alice@example.com
  - bob@example.com
  - researcher@university.edu

认证

基于邮箱的登录

用户输入邮箱访问标注界面:

yaml
allow_all_users: false
authorized_users:
  - user1@example.com
  - user2@example.com

众包集成

用于 Prolific 或 MTurk 工作者:

yaml
# Prolific integration
allow_all_users: true
prolific_integration: true
prolific_completion_code: "ABC123"
 
# Workers authenticated via URL parameter
# https://yourserver.com/?PROLIFIC_PID=xxx

URL 参数认证

通过 URL 传递用户 ID:

yaml
url_user_id_param: user_id
# Access via: http://localhost:8000/?user_id=annotator1

用户角色

标注者

标注数据的普通用户:

yaml
authorized_users:
  - annotator1@example.com
  - annotator2@example.com

管理员

可访问管理仪表板的用户:

yaml
admin_users:
  - admin@example.com
  - lead_researcher@university.edu

管理员可以:

  • 查看所有标注
  • 监控进度
  • 导出数据
  • 管理用户

任务分配

每用户实例数

限制每个用户标注的项目数量:

yaml
instances_per_annotator: 100

每实例标注数

要求每个项目有多个标注者:

yaml
annotation_per_instance: 3

重叠设置

控制标注重叠:

yaml
# Each instance gets exactly 2 annotations
annotation_per_instance: 2
 
# Assign same instances to specific users for IAA calculation
overlap_users:
  - user1@example.com
  - user2@example.com
overlap_percentage: 20  # 20% of instances shared

质量控制

注意力检查

插入测试问题以验证注意力:

yaml
attention_checks:
  enabled: true
  frequency: 10  # Every 10 instances
  fail_threshold: 2  # Max failures before warning

资格测试

要求在主标注之前通过测试:

yaml
qualification:
  enabled: true
  test_file: qualification_test.json
  min_score: 80  # Minimum percentage to pass

会话管理

会话超时

不活动后自动退出:

yaml
session_timeout: 3600  # seconds (1 hour)

保存进度

标注会自动保存,但您可以配置:

yaml
auto_save: true
auto_save_interval: 30  # seconds

用户统计

跟踪标注者表现:

yaml
track_user_stats: true

可用指标:

  • 已完成标注数
  • 每条标注用时
  • 与他人的一致性
  • 注意力检查表现

通过 /admin 的管理仪表板访问。

多标注者工作流

轮询分配

均匀分配实例:

yaml
assignment_strategy: round_robin

基于优先级的分配

根据标注者专业水平分配:

yaml
assignment_strategy: priority
user_priorities:
  expert@example.com: high
  novice@example.com: low

隐私设置

用户匿名化

在导出中隐藏用户身份:

yaml
anonymize_users: true

数据保留

配置数据保留时间:

yaml
data_retention:
  annotations: 365  # days
  user_data: 90     # days

示例:研究团队设置

yaml
# Restricted to research team
allow_all_users: false
 
# Team members
authorized_users:
  - researcher1@university.edu
  - researcher2@university.edu
  - student1@university.edu
  - student2@university.edu
 
# Lead researcher is admin
admin_users:
  - researcher1@university.edu
 
# Each person annotates 200 items
instances_per_annotator: 200
 
# Each item gets 2 annotations for reliability
annotation_per_instance: 2
 
# Track performance
track_user_stats: true
 
# Auto-save every 30 seconds
auto_save: true
auto_save_interval: 30

示例:众包设置

yaml
# Open access for crowdworkers
allow_all_users: true
 
# Prolific integration
prolific_integration: true
prolific_completion_code: "POTATO2024"
 
# Limit per worker
instances_per_annotator: 50
 
# Quality control
attention_checks:
  enabled: true
  frequency: 10
 
# Multiple annotations per item
annotation_per_instance: 3

延伸阅读

有关实现细节,请参阅源文档