MACE 能力估計
使用 MACE 演算法估計標註者能力和真實標籤。
MACE(多標註者能力估計)是一種變分貝葉斯 EM 演算法,可以聯合估計每個項目的真實標籤和標註者能力分數。它將每個標註者建模為"知道"(產生正確標籤)或"猜測"(產生隨機標籤),得出 0.0 到 1.0 之間的能力分數。
What MACE estimates
何時使用 MACE
當你有多個標註者標註相同項目並且想要以下功能時,MACE 非常有用:
- 識別哪些標註者最可靠
- 通過加權標註者貢獻產生更高品質的預測標籤
- 自動檢測低品質標註者(垃圾標註者)
- 衡量每個項目的標籤不確定性(熵)
MACE 適用於分類標註類型:radio、likert、select 和 multiselect。不適用於自由文本、片段、滑塊或數字標註。
工作原理
- 資料提取:Potato 收集所有標註者在每個模式下的所有標註,構建項目-標註者矩陣
- EM 演算法:MACE 執行多次隨機重啟的變分貝葉斯 EM 演算法,保留對數似然最好的解
- 輸出:對於每個模式,MACE 產生預測標籤、標籤熵(不確定性)和每個標註者的能力分數
- 觸發:MACE 在每 N 個新標註後自動執行(可配置),也可通過管理員 API 手動觸發
配置
yaml
mace:
enabled: true
# Run MACE after every N new annotations
trigger_every_n: 10
# Minimum annotators per item before including in computation
min_annotations_per_item: 3
# Minimum eligible items before MACE will run
min_items: 5
# EM algorithm parameters
num_restarts: 10
num_iters: 50
alpha: 0.5 # Prior for annotator spamming (Beta distribution)
beta: 0.5 # Prior for guessing strategy (Dirichlet distribution)最小配置
yaml
mace:
enabled: true使用所有預設值:每 10 個標註觸發一次,每個項目需要 3 個標註者,最少 5 個合格項目,10 次重啟每次 50 次迭代。
配置參考
| 選項 | 類型 | 預設值 | 描述 |
|---|---|---|---|
enabled | boolean | false | 啟用 MACE |
trigger_every_n | integer | 10 | 每 N 個新標註後執行 |
min_annotations_per_item | integer | 3 | 每個項目的最少標註者數(必須 ≥ 2) |
min_items | integer | 5 | 執行前的最少合格項目數 |
num_restarts | integer | 10 | EM 的隨機重啟次數 |
num_iters | integer | 50 | 每次重啟的 EM 迭代次數 |
alpha | float | 0.5 | 標註者垃圾標註的先驗 |
beta | float | 0.5 | 猜測策略的先驗 |
管理員 API 端點
所有 MACE 端點需要通過 X-API-Key 頭進行管理員認證。
概覽
bash
curl http://localhost:8000/admin/api/mace/overview \
-H "X-API-Key: your-admin-key"返回標註者能力分數和 MACE 狀態:
json
{
"enabled": true,
"has_results": true,
"schemas": ["sentiment"],
"annotator_competence": {
"user_1": {"average": 0.92, "per_schema": {"sentiment": 0.92}},
"user_2": {"average": 0.85, "per_schema": {"sentiment": 0.85}},
"user_3": {"average": 0.45, "per_schema": {"sentiment": 0.45}}
},
"total_annotations": 30,
"annotations_until_next_run": 0
}預測
bash
curl "http://localhost:8000/admin/api/mace/predictions?schema=sentiment" \
-H "X-API-Key: your-admin-key"返回每個項目的預測標籤和熵。
手動觸發
bash
curl -X POST http://localhost:8000/admin/api/mace/trigger \
-H "X-API-Key: your-admin-key"解讀結果
標註者能力
- 0.9 - 1.0:高度可靠的標註者
- 0.7 - 0.9:優秀標註者,偶有分歧
- 0.5 - 0.7:中等標註者,可能需要額外培訓
- 低於 0.5:潛在的垃圾標註者或困惑的標註者
標籤熵
- 接近 0.0:對預測標籤有高度信心
- 高於 0.5:中等不確定性,項目可能確實有歧義
- 接近 log(標籤數):最大不確定性,無共識
裁決整合
當 MACE 和裁決同時啟用時,MACE 預測標籤作為額外訊號出現在裁決介面中:
yaml
adjudication:
enabled: true
adjudicator_users: ["admin"]
min_annotations: 2
mace:
enabled: true
trigger_every_n: 10
min_annotations_per_item: 2最佳實踐
- 從預設值開始 - 預設配置適用於大多數場景
- 監控能力分數 - 使用管理員儀表板跟蹤標註者品質隨時間的變化
- 與培訓階段結合 - 使用培訓來篩選標註者,然後用 MACE 監控持續品質
- 設定適當的閾值 - 較小的標註項目可降低
min_annotations_per_item
延伸閱讀
有關實現細節,請參閱原始碼文件。