Full Taxonomy of Label Types: From Classification to Preference, 14 Formats
14 main label format types: single-label, multi-label, ordinal, NER, span, BBox, polygon, segmentation, keypoint, ranking, preference, free-form, structured and hybrid. Use cases, tooling, typical metrics and pitfalls.
Şükrü Yusuf KAYA
40 min read
Beginner📚 Bu derste
Etiketleme dünyasındaki tüm temel formatları tek tek inceleyeceğiz. Her biri için: ne olduğu, ne zaman kullanılacağı, hangi araçla yapılacağı ve dikkat noktaları. Bittiğinde, herhangi bir ML problemine bakıp "bunun için doğru format X'tir" diyebileceksin.
Neden Tam Taksonomi Önemli?#
Yeni bir ML projesinde format seçimi, schema kararından bile önce gelir. Yanlış format seçtiğinizde:
- Model olası tavanı düşer
- Etiketleme maliyeti 2-10x artabilir
- Aynı veriyi tekrar etiketlemek zorunda kalırsınız (yıkıcı)
Veri etiketleme literatüründe genellikle 5-7 ana format konuşulur (classification, NER, BBox, segmentation, vd.). Ancak modern AI çağında (özellikle LLM-RLHF döneminde) çok daha geniş bir taksonomi var. Burada 14 formatı kapsamlı şekilde inceleyeceğiz, 3 ana eksen etrafında gruplayarak:
Üç Eksende Sınıflandırma#
| Eksen | Kategoriler |
|---|---|
| Modalite | Metin · Görüntü · Video · Ses · 3D · Tablo · Multimodal |
| Granülerlik | Document-level · Span/Region-level · Pixel/Token-level · Pair-level |
| Çıktı yapısı | Discrete (kategorik) · Continuous (skalar) · Structured (graph/tree) · Generative (free-form) |
Her etiket formatı bu üç eksenin bir noktasıdır. Şimdi 14 formata tek tek geçelim.
1) Single-Label Classification (Tekli Sınıflandırma)#
Tanım: Her örneğe bir kategorik etiket. Sınıflar birbirini dışlar (mutually exclusive).
Örnek (Türkçe sentiment):
"Ürün vaktinde geldi" → pozitif "Kargo gecikti" → negatif "Açıklamada yazandı" → nötr
Granülerlik: Document-level (genelde).
Çıktı: Discrete, tek sınıf.
Tipik metrik: Accuracy, F1 (per class + macro).
Tooling: Label Studio (Choices), Doccano (Document Classification), Prodigy (textcat).
Maliyet: Düşük (annotator 5-15 saniye/örnek).
Tuzaklar:
- ❌ "Diğer" sınıfı koymak çoğu zaman tuzak — etiketleyiciler kararsız kalınca buraya doluyor.
- ❌ Sınıf sayısı 8'den fazlaysa annotator yorulur, IAA düşer.
- ❌ Hiyerarşi gerektiren bir taxonomy için bu format dar gelir → multi-label veya hierarchical kullan.
Türkçe vakalar: Yorum sentiment, intent classification, spam tespiti, ürün kategori (üst seviye).
2) Multi-Label Classification (Çoklu Etiket)#
Tanım: Her örneğe birden fazla etiket atanabilir. Etiketler bağımsız (collectively non-exhaustive).
Örnek (Türkçe haber):
"Galatasaray UEFA Avrupa Ligi'nde Ajax'ı 2-1 yendi, transfer dönemi açıldı" → [spor, futbol, avrupa-ligi, transfer]
Granülerlik: Document veya region.
Çıktı: Discrete vektör (binary per class).
Tipik metrik: Per-class F1, Hamming loss, subset accuracy.
Tooling: Label Studio (Choices choice="multiple"), Doccano, Prodigy.
Maliyet: Tekli'den 1.5-3x. Etiket sayısı arttıkça çok artar.
Tuzaklar:
- ❌ "Bu etiketler bağımsız değil" — örneğin "spor" varsa "futbol" otomatik anlamına gelir. Hiyerarşik düşün.
- ❌ Etiket sayısı 20'yi geçince annotator hata oranı patlar. Hierarchical multi-label kullan veya alt task'lara böl.
- ❌ Negatif etiketler genellikle örtük — "spor değil mi?" diye sormuyorsun. Bu, weak negative örnekleri zorlar.
Türkçe vakalar: Haber kategorize (çoklu), ürün attribute, social media topic classification.
3) Hierarchical Classification (Hiyerarşik)#
Tanım: Etiketler ağaç yapısındadır; parent → child ilişkisi.
Örnek (e-ticaret katalog):
elektronik └─ telefon ├─ akıllı telefon │ ├─ android │ └─ ios └─ tuşlu └─ bilgisayar ├─ dizüstü └─ masaüstü
Granülerlik: Document.
Çıktı: Path (leaf'e kadar).
Tipik metrik: Hierarchical precision/recall, path-based F1.
Tooling: Label Studio (nested Choices), V7 Darwin, Encord.
Maliyet: Multi-label kadar veya biraz daha fazla.
Tuzaklar:
- ❌ Hiyerarşi 4'ten derin olunca annotator hata patlar.
- ❌ "Aile" — bir örneğin birden fazla path'i varsa multi-label hierarchical olur.
- ❌ Schema versiyon kontrolü kritik. "Yeni alt kategori ekledim" deyince eski tüm etiketler ne olacak?
Türkçe vakalar: E-ticaret ürün kategori (Trendyol, Hepsiburada), kütüphane sınıflandırma (Dewey), kanun maddeleri sınıflandırma.
4) Ordinal Classification (Sıralı)#
Tanım: Sınıflar sıralı bir skala üzerinde (1-5, kötü-orta-iyi, beginner-intermediate-advanced).
Örnek:
Yorum kalite skoru: 1 - Çok kötü 2 - Kötü 3 - Orta 4 - İyi 5 - Çok iyi
Granülerlik: Document, pair, segment.
Çıktı: Sıralı integer.
Tipik metrik: MAE, Spearman correlation, Quadratic Kappa.
Tooling: Label Studio (Rating widget), Argilla (RatingQuestion).
Maliyet: Tekli sınıflandırmaya benzer.
Tuzaklar:
- ❌ Likert skala anchor noktaları annotator'a göre değişir — "3" senin için orta, benim için kötü olabilir. Anchor örnekleri kılavuza koy.
- ❌ Skala 7'yi geçince annotator orta noktaları kullanır (center bias).
- ❌ Ordinal metriklerini gerçekten ordinal modelle eğit (cross-entropy değil ordinal loss).
Türkçe vakalar: Ürün kalite skoru, LLM response quality (Likert 1-5), eğitim seviyesi tahmini.
5) Named Entity Recognition (NER) — Span Annotation#
Tanım: Metinde varlık tipleri (kişi, kurum, yer, tarih) içeren parçaları işaretle.
Örnek (Türkçe):
"Trendyol İstanbul'da kuruluyor ve Aslı Erdoğan ile çalışıyor." ──┬─── ──────┬── ─────┬──── ORG LOC PER
Granülerlik: Span (token aralığı).
Çıktı: [(start, end, type), ...] listesi.
Tipik metrik: Span-level F1 (exact match), Partial-match metrikleri (MUC, B-cubed).
Tooling: Label Studio (Labels), Prodigy (ner.manual), Doccano (Sequence Labeling), spaCy.
Maliyet: Sınıflandırmadan 3-5x (annotator span seçer + tip seçer).
Tuzaklar:
- ❌ "Aslı Erdoğan" tek varlık mı yoksa iki ("Aslı", "Erdoğan")? Schema'da netleş.
- ❌ Nested entities ("İstanbul Boğazı" hem LOC hem LOC içinde başka LOC) — schema desteği lazım.
- ❌ Türkçe agglutinasyon ("İstanbul'da" → span "İstanbul" mi yoksa "İstanbul'da" mı?).
- ❌ BIO/BIOES/IO encoding seçimi modelin tipini etkiler.
Türkçe vakalar: Resmi Gazete entity, haber NER, hukuki belge entity, e-ticaret ürün attribute extraction.
6) Span Classification (Genel)#
Tanım: NER'den daha geniş — metindeki herhangi bir aralığa etiket. Argument identification, claim detection, sentiment phrase.
Örnek (argümantasyon):
"Yatırımcılar borsadan çıkıyor [çünkü faiz oranları yükseliyor]." ───────── PREMISE ─────────
Granülerlik: Span.
Çıktı: [(start, end, label), ...] — NER ile aynı ama farklı şema.
Tipik metrik: Span-F1, partial-match.
Tooling: NER ile aynı tool'lar.
Maliyet: NER'den biraz fazla (etiketleyici argümanı anlamak zorunda).
Türkçe vakalar: Argümantasyon mining, sentiment phrase, hukuki claim extraction.
7) Relation Extraction (RE)#
Tanım: İki varlık arasındaki ilişkiyi etiketle.
Örnek:
"Trendyol, Demirören Holding tarafından satın alındı." ──┬─── ────┬────────── Şirket-A Şirket-B └─── ilişki: SATIN_ALINDI_BY ──→
Granülerlik: Entity pair.
Çıktı: (e1, e2, relation_type) tripletleri.
Tipik metrik: Per-relation F1, average F1.
Tooling: Label Studio (Relations), brat, Prodigy.
Maliyet: NER + 2-3x.
Tuzaklar:
- ❌ Cümleler arası ilişkiler (cross-sentence) çok zor.
- ❌ Aynı entity çifti için birden fazla ilişki mümkün mü? Schema'da kararlaştır.
- ❌ "Hiçbir ilişki yok" (negative pairs) örneklenmiyorsa model yanlı öğrenir.
Türkçe vakalar: Knowledge graph oluşturma (yerli kurumlar), hukuki belge ilişki çıkarma, biyomedikal RE.
8) Bounding Box (BBox) — Object Detection#
Tanım: Görüntüde nesnenin etrafına dikdörtgen kutu çiz + sınıf etiketi.
Örnek (otonom araç):
[image] ┌────┐ ← araba │ 🚗 │ └────┘ ┌──┐ ← yaya │🚶│ └──┘
Granülerlik: Image region.
Çıktı: [(x, y, w, h, class), ...].
Tipik metrik: mAP @ IoU thresholds, precision/recall.
Tooling: CVAT, Label Studio (RectangleLabels), V7 Darwin, Roboflow, LabelImg.
Maliyet: Görsel başına 30-90 saniye (4-10 nesne için).
Tuzaklar:
- ❌ Sıkı kutu mu gevşek kutu mu? Schema kararlaştır.
- ❌ Kısmen görünen (occluded) nesneler dahil mi?
- ❌ Çok küçük (< 32px) nesneler dahil mi?
- ❌ Iki nesne üst üste — iki ayrı BBox çiz veya bir?
Türkçe vakalar: Otonom araç (TOGG, Bayraktar TB3), perakende raf analizi, güvenlik kamera, drone tarımsal görüntü.
9) Polygon Annotation#
Tanım: Nesnenin tam şeklini polygon ile çiz (BBox'tan çok daha kesin).
Örnek:
Yaprak şeklinde organik nesne → BBox kullanışsız, polygon kesin
Granülerlik: Image region (pixel-precise sınır).
Çıktı: [(x1,y1), (x2,y2), ..., class] vertex listesi.
Tipik metrik: IoU @ polygon, mAP.
Tooling: CVAT (interpolation desteği), V7 (auto-polygon), SAM entegrasyonu.
Maliyet: BBox'tan 3-5x.
Tuzaklar:
- ❌ Kaç vertex? Çok az → kaba; çok çok → annotator yorulur. Tipik 8-30.
- ❌ Polygon vs mask trade-off: storage vs precision.
- ❌ Concave (içbükey) polygon desteği bazı modellerde yok.
Türkçe vakalar: Tıbbi görüntüde tümör, tarımsal hastalıklı yaprak, tekstil hata tespiti.
10) Semantic Segmentation#
Tanım: Her piksele bir sınıf etiketi. Aynı sınıftaki nesneler birleştirilir (instance ayrımı yok).
Örnek: Şehir sokak görüntüsünde her piksel: yol / yaya kaldırımı / araç / yaya / bina / gökyüzü.
Granülerlik: Pixel.
Çıktı: Per-pixel class map (görüntü boyunda matris).
Tipik metrik: Mean IoU, per-class IoU.
Tooling: CVAT (segmentation), V7 Darwin, SAM (otomatik), Labelbox.
Maliyet: Polygon'dan 2-4x. Görsel başına 5-20 dakika.
Tuzaklar:
- ❌ "Don't care" pikseller var mı? (sınır pikselleri, çok küçük detaylar)
- ❌ Mask boyutu storage problemi olabilir (1080p → 2MB mask).
- ❌ Pixel-exact karar genelde mümkün değil; bir tolerans kabul edilmeli (Modül 7).
Türkçe vakalar: Tıbbi (X-ray, MR), otonom araç scene, jeoloji uydu görüntü.
11) Instance + Panoptic Segmentation#
Tanım:
- Instance segmentation: Her sınıfın her örneğini ayrı renkle (2 araba = 2 farklı maske).
- Panoptic segmentation: Instance + Semantic birleşimi. Her piksel hem sınıf hem instance ID alır.
Granülerlik: Pixel + instance.
Çıktı: Per-instance mask + class.
Tipik metrik: Panoptic Quality (PQ), mAP @ instance.
Tooling: CVAT, COCO format, V7.
Maliyet: Semantic'ten 1.5-3x.
Türkçe vakalar: Tesla benzeri otonom araç stack, perakende stok sayımı, hücre sayma (medikal).
12) Keypoint Annotation#
Tanım: Önceden tanımlı semantik noktaları işaretle (insan iskeleti, yüz landmark, el).
Örnek (COCO 17-keypoint):
Burun, sol göz, sağ göz, sol kulak, sağ kulak, sol omuz, sağ omuz, sol dirsek, sağ dirsek, sol bilek, sağ bilek, sol kalça, sağ kalça, sol diz, sağ diz, sol ayak bileği, sağ ayak bileği
Granülerlik: Pixel-level noktalar.
Çıktı: [(x, y, visibility), ...] per keypoint.
Tipik metrik: OKS (Object Keypoint Similarity), PCK.
Tooling: CVAT (Skeleton), Label Studio (KeyPoint).
Maliyet: BBox'tan 2-4x.
Türkçe vakalar: Spor analizi (futbol, basketbol), sağlık (postür analizi), gesture recognition.
13) Ranking & Preference Annotation#
Tanım: İki veya daha fazla seçenek arasında tercih belirtme. RLHF'in temeli.
Örnek (LLM evaluation):
Soru: "İstanbul'da 1 günlük gezi planı önerir misin?" Yanıt A: [Çok detaylı, 8 mekan, ulaşım dahil] Yanıt B: [Kısa, 3 mekan] Tercih: A daha iyi (helpfulness: 4 vs 2)
Granülerlik: Pair (A vs B) veya N-way ranking.
Çıktı: Pairwise: chosen/rejected; N-way: sıralı liste.
Tipik metrik: Annotator agreement, Bradley-Terry skor, win rate.
Tooling: Argilla 2.x (rankings), Surge Custom, Label Studio.
Maliyet: Pair başı 30-180 saniye (uzun yanıtlar için 5+ dakika).
Tuzaklar:
- ❌ "Berabere" seçeneği: Net analiz için tehlikeli. Forced choice öner.
- ❌ Çok uzun yanıtlar — annotator yorulur, sondaki detayları kaçırır.
- ❌ Annotator bias: aynı kişiden 100+ tercih → mental drift.
Türkçe vakalar: Türkçe LLM RLHF, search ranking, recommendation system fine-tuning. Bu kursta Modül 23'te detayda işleyeceğiz.
14) Free-Form Generation (Open-Ended Annotation)#
Tanım: Annotator metin/cevap/özet/yanıt YAZIYOR (etiketlemekten öte üretiyor).
Örnek (SFT için):
Prompt: "İstanbul'un en eski semtleri hangileridir?" Annotator yanıtı: "İstanbul'un en eski semtleri tarihte ön plana çıkmış olan Eminönü, Fatih, Eyüpsultan ve Beyazıt'tır. Bunlardan Eminönü Bizans döneminden..."
Granülerlik: Document.
Çıktı: Free-form metin.
Tipik metrik: İnsan eval, BLEU/ROUGE (referans varsa), LLM-as-judge.
Tooling: Argilla (TextQuestion), Surge, Scale.
Maliyet: En pahalı format. Yanıt başı 5-30 dakika. SFT örneği başı $5-50 (premium).
Tuzaklar:
- ❌ Yazma stili tutarsız → modelin "kişiliği" gürültülü.
- ❌ Kılavuz çok katı → cevaplar formula gibi, çeşitlilik düşer.
- ❌ Annotator kalitesi her şey. 1 kötü annotator = 100 zayıf SFT örneği.
Türkçe vakalar: Türkçe SFT, özetleme dataset, instruction tuning, Türkçe response improvement.
Karşılaştırma Tablosu — Hızlı Referans#
| # | Format | Modalite | Maliyet | Modern AI Sıcaklık |
|---|---|---|---|---|
| 1 | Single-Label | Metin/Görüntü/Tablo | 💲 | 🟡 Klasik |
| 2 | Multi-Label | Metin/Görüntü | 💲💲 | 🟡 Klasik |
| 3 | Hierarchical | Metin/Görüntü | 💲💲 | 🟡 Klasik |
| 4 | Ordinal | Metin/Görüntü | 💲 | 🔥 RLHF popüler |
| 5 | NER | Metin | 💲💲💲 | 🟡 Klasik ama hayati |
| 6 | Span Class | Metin | 💲💲💲 | 🟡 Klasik |
| 7 | Relation Extr | Metin | 💲💲💲💲 | 🟡 KG çağında popüler |
| 8 | BBox | Görüntü/Video | 💲💲 | 🟡 Klasik |
| 9 | Polygon | Görüntü | 💲💲💲 | 🟢 SAM ile düşüyor |
| 10 | Semantic Seg | Görüntü | 💲💲💲💲 | 🟢 SAM ile düşüyor |
| 11 | Instance/Panoptic | Görüntü/Video | 💲💲💲💲💲 | 🟡 |
| 12 | Keypoint | Görüntü/Video | 💲💲💲 | 🟡 |
| 13 | Ranking/Preference | Pair/N-way | 💲💲💲💲 | 🔥🔥🔥 RLHF ana |
| 14 | Free-Form | Metin (üretim) | 💲💲💲💲💲 | 🔥🔥🔥 SFT ana |
Mesaj: Klasik formatlar (1-12) hâlâ önemli ama modern AI'ın sıcak noktası 13 ve 14. Bu kursta Part VIII'i (Modül 22-25) tamamen bu modern formatlara ayırdık.
💡 Format seçim akışı
- Çıktın discrete mi (sınıf), continuous mu (skor), structured mu (entity/relation), generative mi (metin)? → bu temel kategori. 2) Granülerlik document/span/region/pixel? 3) Modalite metin/görüntü/video/multimodal? 4) Modern AI mı (LLM tuning) klasik ML mi? Bu dört soruyu cevaplaman format'ı %95 belirler.
Özet#
14 etiket formatı tanıdık olmaktan çıktı. Şunu unutma:
- Format seçimi schema'dan önce gelir.
- Klasik formatlar (1-12) hâlâ AI'ın %70'ini oluşturur.
- Modern formatlar (13-14) RLHF/SFT'in temeli — burası geleceğin sıcak alanı.
- Karmaşık problemler birden fazla format birleştirir (hibrit): örneğin BBox + classification + keypoint.
Sıradaki ders: 1.3 — Supervised, Semi-supervised, Self-supervised paradigmaları ve her birinin veri etiketleme ihtiyacı.
Frequently Asked Questions
Multi-label: etiketler bağımsız (bir habere hem "spor" hem "ekonomi" verilebilir). Hierarchical: etiketler ağaç yapısında (spor → futbol → süper lig). Hierarchical, aynı zamanda multi-label olabilir (bir örnek birden fazla path'e ait). Schema seçimi domain'in doğasını yansıtmalı.
Yorumlar & Soru-Cevap
(0)Yorum yazmak için giriş yap.
Yorumlar yükleniyor...
Related Content
Module 0: Introduction & Framework
The Data-Centric AI Manifesto: Why You Should Invest in Data More Than Models
Start LearningModule 0: Introduction & Framework
The Data Labeling Engineer Career Map: From Annotator to Head of Data Operations
Start LearningModule 0: Introduction & Framework