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

延伸閱讀

有關實現細節,請參閱源文件