為標註設計資料格式
如何為標註項目組織輸入資料(JSON、JSONL、CSV),Potato 期望哪些欄位,以及如何規劃乾淨匯出到訓練流程。
好的標註始於結構良好的輸入。每個條目都需要一個穩定的唯一識別符號以及待標註的內容;其餘一切都是可選的上下文。 一開始就把這件事做對,能省去日後痛苦的返工,因為標註是按你的條目 ID 來關聯的。
常見的交換格式有 JSON、JSON Lines(每行一個物件,適合大型資料集)和 CSV。Potato 三者都能讀取。完整參考請見資料格式。
每個條目至少需要什麼
- 一個永不變更的唯一 ID。標註是按這個 ID 儲存的,所以如果你在項目進行中重新編號,就會丟失與現有標籤的關聯。
- 待標註的內容:一個文本欄位、一個圖片 URL、一段音訊路徑,或一條結構化的軌跡。
一個文本任務的 JSONL 檔案看起來是這樣:
json
{"id": "rev_001", "text": "The battery lasts all day. Highly recommend."}
{"id": "rev_002", "text": "Stopped working after a week."}你需要告訴 Potato 使用哪些鍵:
yaml
item_properties:
id_key: id
text_key: text
data_files:
- "data/reviews.jsonl"攜帶上下文,但要與標籤分開
額外的欄位,比如來源 URL、時間戳、模型名稱,可以隨每個條目一同傳入並展示給標註者,而不會成為標籤本身。給它們取清晰的名字,這樣日後閱讀匯出結果會更輕鬆。
在標註之前先規劃匯出
儘早決定標註好的資料將如何接入你的流程。Potato 可匯出為 JSON、JSONL 和 CSV,也可匯出為 ML 原生格式,例如用於序列標註的 CoNLL、Hugging Face Datasets,以及用於視覺任務的 COCO/YOLO。預先確定目標格式,能讓你知道現在該使用哪些欄位和哪種 ID 方案。參見為機器學習匯出標註。
yaml
output_annotation_dir: "annotation_output/"
output_annotation_format: "jsonl"