跳轉到內容

標註學習路徑

按六種閱讀順序瀏覽 Potato 指南,從第一項標註研究到一致性報告、LLM 與智慧體評估,以及質性編碼。

這份學習路徑按六個目標為 Potato 標註指南排好閱讀順序,目標從開展第一項標註研究,到評估 LLM 智慧體和編碼訪談。每條路線有五到八個步驟,每個步驟都會說明該指南講了什麼。

側邊欄按主題給指南分組。下面的路線則按讀者最先需要什麼,給一部分指南排序,同一篇指南可以出現在不止一條路線上。剛接觸標註的讀者從第一條路線開始,因為後面的路線都假定已經有可用的標註方案和指南。標註術語表定義了這些指南用到的術語,指南概覽按主題列出了每一篇指南。

開展第一項標註研究

第一條路線帶著一項研究從研究問題走到匯出的標籤。快速入門會安裝 Potato 並執行一個情感任務,想在閱讀之前先有一個能執行的伺服器的讀者,可以先做快速入門。

  1. 什麼是資料標註? 從分類到自由文本回答,每一類標註任務都對應一個或多個 Potato 標註方案。
  2. 選擇標註方案。 方案取決於研究需要哪種回答,一張決策表可以把 Potato 的標註類型縮小到少數幾個合適的。
  3. 為標註設計資料格式。 每個條目都需要穩定且唯一的 ID 和待標註的內容,因為 Potato 把每條標註都關聯到條目 ID。
  4. 撰寫有效的標註指南。 當兩名認真的標註者讀到同樣的規則會選出同一個標籤時,指南就有效了,試標再修訂的迴圈能幫助規則達到這一點。
  5. 你需要多少位標註者? 重疊度是在每個標籤的可靠性與預算能覆蓋的條目數量之間做取捨,主觀任務比清晰的任務需要更高的重疊度。
  6. 黃金標準與注意力檢查。 在佇列中混入已知答案的條目,可以衡量每位標註者的準確率,並發現不看內容就作答的標註者。
  7. 部署標註伺服器。 研究伺服器需要一個公開的 HTTPS 地址、只允許本研究標註者登入的登入方式,以及重啟後仍能保留的儲存。在 Prolific 和 SONA 上開展眾包研究介紹了付費招募。
  8. 匯出標註資料用於機器學習。 Potato 既能寫出 JSONL 和 CSV,也能寫出 CoNLL、COCO 等訓練格式,在標註之前選定格式,就確定了資料和條目 ID 該如何組織。

走完這條路線後,研究配置中會有一個標註方案、一個數據檔案、一項重疊度設定和注意力檢查。下面的配置標出了每個步驟加入的部分,該配置在 Potato 2.13.1 中通過 python -m potato.validate_cli --strict:

yaml
annotation_task_name: "Review Sentiment"
task_dir: "."
 
data_files:
  - "data/reviews.jsonl"            # step 3: one item per line
item_properties:
  id_key: id
  text_key: text
 
annotation_schemes:                 # step 2: one category per review
  - annotation_type: radio
    name: sentiment
    description: "What is the overall sentiment of this review?"
    labels: [Positive, Negative, Mixed, Neutral]
 
num_annotators_per_item: 3          # step 5: three labels per item
 
attention_checks:                   # step 6: one check per 25 items
  enabled: true
  items_file: "data/attention_checks.json"
  frequency: 25
 
output_annotation_dir: "annotation_output/"
export_annotation_format: "jsonl"   # step 8

attention_checks.json 中的每條記錄都需要一個 id 和一個 expected_answer。在存放配置的資料夾中執行 potato start config.yaml,伺服器就會在 http://localhost:8000 啟動。

衡量並報告標籤品質

第二條路線把重疊的標籤變成論文或資料卡可以報告的數字。這條路線假定研究中至少有部分條目由兩名以上標註者標註。

  1. 標註者間一致性詳解。 百分比一致率會高估可靠性,Cohen's kappa、Fleiss' kappa 和 Krippendorff's alpha 在不同的研究設計中分別校正偶然一致。
  2. 跨度與結構化輸出的一致性。 跨度任務沒有一組固定的條目供 kappa 計數,所以跨度一致性以成對 F1 報告,並明確說明部分重疊的處理規則。如何測量邊界框上的標註者間一致性介紹了邊界框。
  3. 裁定與分歧處理。 分歧可以通過多數投票、專家裁定或標註者可靠性模型來解決,選擇取決於分歧是錯誤還是訊號。
  4. 聚合眾包標籤。 Dawid–Skene 和 MACE 從標籤矩陣估計每位標註者的可靠性,並按該估計對每位標註者的標籤加權。
  5. 標註研究的統計功效與樣本量。 重疊度決定每個標籤有多可靠,條目數量決定觀察到的差異是否大於噪聲。
  6. 如何在預標註資料中區分認真複核與走過場。 有預標籤時,無論標註者是在複核還是在走過場,一致性都會上升,只有工作所用的時間才能區分兩者。
  7. 記錄資料集與模型。 資料規格表、資料宣告和模型卡會記錄誰標註了資料,以及依據哪些指南。

為 NLP 標註文本

第三條路線涵蓋從整篇文件標籤到連結實體的文本任務。第 2 步到第 6 步環環相扣,後面每項任務都以前面幾步所標出的那類跨度為基礎。

  1. 文本標註。 從類別到品質評分的整篇文件標籤,是自然語言處理中最常見的標註任務。
  2. 跨度標註。 跨度標出文本內被標註的一段,記錄為起點、終點和標籤。
  3. 命名實體識別。 NER 是帶有實體類型標籤集的跨度任務,標籤集從標準方案裁剪到所在領域,並匯出為 BIO 標記的 CoNLL。
  4. 共指消解。 共指把同一實體的所有提及歸入一條鏈,例如"Marie Curie … she … the physicist."
  5. 關係與事件抽取。 關係用帶類型的邊連線兩個實體跨度,事件則增加觸發詞以及觸發詞周圍的角色。
  6. 實體連結。 實體連結把每個提及解析到知識庫中的一個條目,例如把"Paris"解析為法國的那座城市,而不是得克薩斯州的那座。
  7. 多語言與低資源語言標註。 其他語言的標註需要母語者、能跨文化成立的類別,以及對從右到左書寫和非拉丁文字的正確顯示。

標註影像、影片和音訊

第四條路線從靜態影像走向基於時間的媒體,最後是模型預標註。框和掩碼的一致性排在影片之前,因為形狀的邊界規則決定了空間標籤上的大部分分歧。

  1. 如何用 Potato 標註圖片。 影像標籤從每張圖一個類別,到邊界框、多邊形和關鍵點,合適的層級取決於要訓練的模型需要什麼。
  2. 如何標註影像分割掩碼。 掩碼上的分歧大多來自邊界規則,例如陰影是否屬於該物體,而不是來自繪圖工具。
  3. 如何測量邊界框上的標註者間一致性。 即使標註者從未看過影像,平均 IoU 在大而居中的物體上也會偏高,所以邊界框一致性需要做偶然校正。
  4. 影片標註。 一段影片可以整體標註、切分成時間區間,或逐幀標註。
  5. 如何標註影片目標跟蹤。 跟蹤是跨幀標註同一個物體,模型輔助傳播會把第一幀的掩碼沿著影片向前延續。
  6. 音訊標註。 同一個波形顯示可以用於片段標籤、時間對齊的事件、轉寫和說話人相關工作。
  7. 如何標註 Whisper 轉寫文本。 Whisper 的 .json 輸出保留了帶時間的片段,Potato 可以直接讀取一個裝有這些輸出檔案的資料夾,無需轉換。
  8. 用 LLM 與視覺模型做 AI 自動預標註。 視覺或語言模型提出標籤供標註者核實,核對一個品質好的提議比從頭標註更省時間。

第 8 步使用在別處訓練的模型。模型輔助標註則改用研究自己的標籤來訓練模型,模型訓練部分記錄了適用於框、輪廓、音訊片段和轉寫稿的訓練器。

評估 LLM 與智慧體

第五條路線從判斷單個輸出開始,以複核生產環境中的軌跡結束。第 1 步到第 4 步適用於任何生成文本,第 5 步到第 8 步則加入了智慧體的執行路徑。

  1. 生成文本的人工評估。 BLEU、ROUGE 等自動指標與品質的相關性較弱,人工評估要靠定義每個標準並報告足以重複實驗的細節來贏得信任。
  2. 基於評分量表的 LLM 評估。 評分標準把一個整體品質判斷拆成多個計分的標準,並顯示答案在哪個標準上不合格。
  3. 模型兩兩對比。 在大量提示詞上進行一對一的判斷,比絕對分數更可靠地為模型排序,Bradley–Terry 或 Elo 擬合則把勝負轉化為排名。
  4. 如何衡量 LLM 評審者與人類標註者之間的一致性。 當評審者與人的 kappa 接近人與人之間的 kappa 時,這個評審者的表現就與另一位標註者差不多。
  5. 如何評估 AI 智慧體。 智慧體評估既判斷最終答案,也判斷執行路徑,從推理步驟到工具呼叫和動作。
  6. 標註智慧體軌跡。 軌跡標籤把對整次執行的判斷,與每個出錯步驟的錯誤類別和嚴重程度結合起來。
  7. 過程獎勵模型與步驟級標註。 過程獎勵模型為每個推理步驟打分,訓練 PRM 需要說明每個步驟是否正確的步驟級標籤。
  8. LLM 與智慧體軌跡的人工稽核佇列。 稽核佇列把來自 Langfuse、webhook 或匯出檔案的軌跡交給多名評審者,並把合併後的答案作為分數寫回追蹤工具。

質性編碼

第六條路線沿著訪談資料,從錄音走到可靠性統計量。QDA 模式介紹了這條路線用到的 Potato 功能。

  1. 為質性編碼準備訪談轉錄稿。 錄音經過五個步驟變成已編碼的摘錄,從帶說話人標籤的轉錄,到編碼和匯出,團隊在載入之前要去掉姓名和其他標識資訊。
  2. 為質性研究編制碼本。 每個程式碼都有定義、適用與不適用的規則以及示例,碼本的每次修訂也都有編號。
  3. 質性研究中的編碼者間信度。 係數取決於編碼設計,而反思性主題分析主張根本不報告係數。
  4. Potato 中的定量內容分析:碼本與 Krippendorff's alpha。 內容分析依據固定變數對單位進行編碼,並在雙重編碼的樣本上為每個變數報告 Krippendorff's alpha。
  5. 如何在質性編碼中使用 LLM 並加以報告。 模型可以建議程式碼、為可靠性樣本編碼,或先給語料編碼,每種角色都要求報告模型與人工編碼者的一致性。
  6. 定性資料分析軟體對比。 NVivo、ATLAS.ti、MAXQDA、Taguette、QualCoder 和 Potato 在價格和對團隊編碼的支援上各不相同。Potato 通過 REFI-QDA 檔案與付費程式交換項目。

延伸閱讀