Skip to content

多樣性排序

基於嵌入的項目多樣化,最大化標註多樣性。

多樣性排序使用 sentence-transformer 嵌入將相似項目聚類,然後從不同聚類中輪詢取樣項目。這確保標註者看到多樣化的內容,而不是連續的相似項目。

優勢

  • 減少標註者疲勞,避免重複內容
  • 通過多樣化上下文提高標註品質
  • 更快覆蓋完整的主題空間

快速開始

yaml
assignment_strategy: diversity_clustering
 
diversity_ordering:
  enabled: true
  prefill_count: 100

工作原理

  1. 啟動時:前 N 個項目使用 sentence-transformers 嵌入並用 k-means 聚類
  2. 分配時:從聚類中輪詢取樣項目,確保多樣性
  3. 標註時:新項目在標註時非同步嵌入
  4. 重新聚類:當用戶從所有聚類中取樣後,系統重新聚類

配置

yaml
diversity_ordering:
  enabled: true
 
  # Sentence-transformer model
  model_name: "all-MiniLM-L6-v2"
 
  # Clustering parameters
  num_clusters: 10
  items_per_cluster: 20
  auto_clusters: true           # Auto-calculate based on data size
 
  # Prefill on startup
  prefill_count: 100
  batch_size: 32
 
  # Re-clustering behavior
  recluster_threshold: 1.0      # Recluster when all clusters sampled
 
  # Order preservation
  preserve_visited: true
 
  # AI integration
  trigger_ai_prefetch: true

配置參考

選項類型預設值描述
enabledbooleanfalse啟用多樣性排序
model_namestring"all-MiniLM-L6-v2"sentence-transformers 模型
num_clustersinteger10聚類數量(auto_clusters=false 時)
items_per_clusterinteger20目標聚類大小(auto_clusters=true 時)
auto_clustersbooleantrue自動計算聚類數量
prefill_countinteger100啟動時嵌入的項目數
batch_sizeinteger32嵌入計算的批次大小
recluster_thresholdfloat1.0重新聚類前取樣的聚類比例
preserve_visitedbooleantrue保持已訪問/跳過項目的位置
trigger_ai_prefetchbooleantrue重排序後觸發 AI 快取

依賴要求

bash
pip install sentence-transformers scikit-learn

這些是可選依賴。沒有它們,該功能將被停用併發出警告。

效能

  • 啟動時間:100 個項目約 10 秒,500 個項目約 30 秒(首次執行;之後有快取)
  • 記憶體:每個項目約 1.5 KB(all-MiniLM-L6-v2),10,000 個項目約 15 MB
  • 快取:嵌入持久化到磁碟,儲存在 .diversity_cache/

與其他功能的互動

  • AI 支援:當 trigger_ai_prefetch: true 時,AI 提示會自動為重排序的項目預取
  • 主動學習:可以結合使用,先用多樣性聚類進行初始覆蓋,然後切換到主動學習
  • 順序保留:當 preserve_visited: true 時,之前看過的項目保持其位置

完整示例

yaml
annotation_task_name: "Diversity Ordering Test"
 
assignment_strategy: diversity_clustering
 
diversity_ordering:
  enabled: true
  model_name: "all-MiniLM-L6-v2"
  num_clusters: 5
  auto_clusters: false
  prefill_count: 100
  batch_size: 16
  recluster_threshold: 1.0
  preserve_visited: true
 
annotation_schemes:
  - annotation_type: radio
    name: topic
    description: "What is the main topic of this text?"
    labels:
      - name: Sports
      - name: Technology
      - name: Food
      - name: Travel
      - name: Health

延伸閱讀

有關實現細節,請參閱原始碼文件