cleanlab Deney 1: Feature-Only Etiket Kalite Analizi

1. Amaç

Bu deneyin amacı, cleanlab kütüphanesini kullanarak tez konu etiketlerindeki kalite sorunlarını (yanlış etiket, outlier, near-duplicate) tespit etmektir. Önceki etiket-merkezli centroid deneylerinden farklı olarak, burada analiz iki aşamada yapılmaktadır: önce otomatik duplike etiket tespiti, ardından cleanlab'ın Datalab modülü ile kapsamlı veri kalitesi denetimi.

Bu deney aynı zamanda cleanlab'ın sadece embedding feature'ları ile (pred_probs olmadan) ne kadar etkili çalışabildiğini ölçmektedir.

2. Yöntem

2.1 Genel Pipeline

Qdrant → Veri çekme (embedding + etiket) → Duplike etiket tespiti → 
  Etiket birleştirme → cleanlab Datalab analizi (multi-label + single-label)

2.2 Veri Ön İşleme

Qdrant'tan çekilen verilere aşağıdaki ön işlemler uygulanmıştır:

2.3 Otomatik Duplike Etiket Tespiti

Tüm etiket çiftleri üç yöntemle taranmıştır:

Birleştirme yönü: daha fazla kayda sahip etiket kanonik olarak belirlenmiş, küçük olan ona birleştirilmiştir.

2.4 cleanlab Analizi

cleanlab'ın Datalab modülü iki ayrı konfigürasyonda çalıştırılmıştır:

Multi-label analiz (tüm kayıtlar): task="multilabel" ile 176 boyutlu multi-hot etiket vektörü ve embedding feature'ları verilmiştir. pred_probs verilmemiştir.

Single-label analiz (tek etiketli kayıtlar): task="classification" ile integer label ve embedding feature'ları verilmiştir. pred_probs verilmemiştir.

Her iki modda da cleanlab'a yalnızca features=embeddings parametresi geçilmiş, tahmin olasılıkları (pred_probs) sağlanmamıştır.

3. Veri Seti

Özellik Değer
Toplam kayıt (Qdrant'tan çekilen) 50.000
Filtrelenen (boş konu) 185
Analiz edilen kayıt 49.815
Embedding boyutu 2048 (F2LLM)
Birleştirme öncesi etiket sayısı 195
Birleştirme sonrası etiket sayısı 176
Duplike birleştirmeden etkilenen kayıt 4.578
Tek etiketli kayıt 37.567 (%75,4)
Çok etiketli kayıt 12.248 (%24,6)
Ortalama etiket/tez 1,30

4. Sonuçlar

4.1 Otomatik Duplike Etiket Tespiti

29 aday çift tespit edilmiş, 22 birleştirme önerisi oluşturulmuştur. Tespit yöntemine göre dağılım:

Tespit Yöntemi Aday Sayısı Açıklama
İngilizce metin benzerliği ~5 Aynı İngilizce çeviri veya yazım hatası
Embedding centroid benzerliği ~22 Farklı isimde ama semantik olarak yakın
Türkçe metin benzerliği ~2 Aynı Türkçe isim, farklı İngilizce

En güçlü adaylar (birleştirilmesi gereken):

Çift Benzerlik Yöntem Değerlendirme
Havacılık Müh. ↔ Havacılık ve Uzay Müh. ↔ Uçak Müh. 1.000 text_en Kesin duplike (üçü de "Aeronautical Engineering")
Sağlık Kurumları Yön. ↔ Sağlık Yönetimi 0.993 text_en Kesin duplike (yazım farkı)
Enfeksiyon Hast. ↔ Klinik Bakteriyoloji 0.953 embedding Kesin duplike (aynı alan, farklı isimlendirme)

Dikkat gerektiren adaylar (otomatik birleştirilmiş ama tartışmalı):

Çift Benzerlik Değerlendirme
Ekonometri ↔ Ekonomi 0.966 Tartışmalı — Ekonometri ayrı bir disiplin
Batı Dilleri ↔ İngiliz Dili 0.969 Tartışmalı — Batı Dilleri daha geniş kapsam
Biyomühendislik ↔ Biyoteknoloji 0.943 Tartışmalı — farklı odak alanları
Batı Dilleri ↔ Doğu Dilleri 0.941 Yanlış pozitif — zıt alanlar
Aile Hekimliği ↔ Halk Sağlığı 0.941 Tartışmalı — ilişkili ama farklı alanlar

Bu tartışmalı birleştirmeler, v2 çalıştırmasında LABEL_MERGE_MAP'e yalnızca kesin duplikelerin eklenmesi, geri kalanların otomatik birleştirmeden çıkarılmasıyla düzeltilebilir.

4.2 Multi-Label cleanlab Sonuçları

Sorun Türü Tespit Edilen Yorum
Label issue 0 cleanlab multi-label modda etiket sorunu bulamadı
Outlier 66 Tüm veri setinden çok farklı 66 kayıt
Near-duplicate 30 Birbirine çok benzer 30 kayıt (15 çift)
Non-IID 1 Veri sıralama bağımlılığı
Toplam 97 49.815 kayıttan yalnızca 97 sorun

cleanlab num_classes: 2 göstermiştir. Bu, cleanlab'ın multi-label'ı "her etiket için binary (var/yok)" olarak işlediğini gösterir — 176 sınıflı bir problem olarak değil. Bu nedenle etiket sorunu tespiti çalışamamıştır.

Outlier örnekleri (en düşük skorlu 5):

İndeks Outlier Skoru Yorum
3822 0.1720 Veri setinden en uzak kayıt
3172 0.1761
47376 0.1828
14159 0.1851
10835 0.1860

Near-duplicate örnekleri (en düşük mesafeli çiftler):

Çift Mesafe Yorum
1489 ↔ 2593 0.000000 Tam duplike (aynı embedding)
19603 ↔ 5458 0.002626 Neredeyse aynı
7135 ↔ 236 0.005722 Çok benzer

İki kayıt (1489 ve 2593) arasındaki mesafenin tam 0.0 olması, bunların aynı abstract'a sahip olduğunu göstermektedir — muhtemelen tekrarlı veri girişi.

4.3 Single-Label cleanlab Sonuçları

Metrik Değer
Analiz edilen kayıt 37.567
Etiket sorunu tespit edilen 6.742 (%17,9)
Önerilen yeni etiket Yok (tümü ?)

cleanlab 6.742 kayıtta etiket sorunu tespit etmiştir. Ancak hiçbir kayıt için alternatif etiket önerisi üretmemiştir — tüm öneriler ? olarak görünmektedir.

Sorunlu kayıt örnekleri:

ID Mevcut Etiket Tez Başlığı Değerlendirme
700005 Psikoloji A qualitative investigation of binge-watching among university students… Psikoloji uygun görünüyor, iletişim de olabilir
700025 Ekonomi Ağaç tabanlı sınıflandırma tekniklerinin dengeli olmayan veri setlerinde… Şüpheli — Bilgisayar/İstatistik daha uygun
700028 Mekatronik Müh. Otomobiller (SUV) için yeni bir tampon sistemi geliştirilmesi… Mekatronik uygun, Otomotiv de olabilir
700068 Enerji Blockchain technology: Its impact on energy efficiency and trade Şüpheli — Bilgisayar/Enerji karma konu
700083 Mimarlık Adil olmayan sözleşme şartlarının Katar'daki projelere etkisi Şüpheli — Hukuk/İnşaat daha uygun
700095 Turizm Turizm öğrencilerinin uzaktan eğitim ve oyunlaştırmaya yönelik tutum… Turizm uygun, Eğitim de olabilir

5. Değerlendirme

5.1 Neden Multi-Label Analiz Etiket Sorunu Bulamadı?

cleanlab'a yalnızca features=embeddings verilmiş, pred_probs (tahmin olasılıkları) verilmemiştir. Bu durumda cleanlab multi-label modda yalnızca feature-tabanlı testleri çalıştırabilmektedir: outlier tespiti (kNN mesafe tabanlı), near-duplicate tespiti (çift mesafe karşılaştırması), non-IID testi (sıralama bağımlılığı). Label issue tespiti ise pred_probs olmadan çalışamamaktadır çünkü cleanlab'ın confident learning algoritması "modelin bu kayıt için ne tahmin ettiği" bilgisine ihtiyaç duymaktadır.

5.2 Neden Single-Label Alternatif Etiket Önermiyor?

Aynı nedenden: pred_probs olmadan cleanlab "bu kayıt şüpheli" diyebilmekte ancak "bunun yerine X olmalıydı" diyememektedir. Sadece embedding feature'larıyla kNN tabanlı anomali tespiti yapabilmekte, bu da is_label_issue = True bayrağı vermekle sınırlı kalmaktadır.

5.3 %17,9 Etiket Sorunu Oranı Gerçekçi Mi?

37.567 tek etiketli kayıttan 6.742'si (%17,9) sorunlu işaretlenmiştir. Bu oran önceki centroid deneyindeki MUTLAKA_INCELE (%5,0) oranından belirgin şekilde yüksektir. Olası açıklamalar:

Bu oranın güvenilirliği ancak insan doğrulamasıyla belirlenebilir.

5.4 Duplike Tespit Başarısı

Otomatik duplike etiket tespiti bu deneyin en değerli çıktısıdır. Özellikle embedding tabanlı tespit, metin benzerliğiyle bulunamayacak eşleşmeleri yakalamıştır:

Ancak eşiğin (0.92) bazı farklı alanları da birleştirmesi (Ekonometri ↔ Ekonomi, Batı Dilleri ↔ Doğu Dilleri) bir sınırlılıktır. Gelecek çalışmalarda bu eşiğin yükseltilmesi veya birleştirme öncesi insan onayı eklenmesi düşünülebilir.

6. Önceki Deneylerle Karşılaştırma

Boyut Centroid Deney 2 cleanlab Deney 1
Yöntem Etiket centroid mesafesi cleanlab kNN feature analizi
pred_probs Verilmedi
Etiket sorunu (single) 2.489 MUTLAKA_INCELE (%5,0) 6.742 (%17,9)
Etiket önerisi Var (suggested_label) Yok (?)
Outlier tespiti 6.653 intra-label outlier 66 outlier
Near-duplicate 30 (15 çift)
Duplike etiket tespiti 3 elle tanımlı 29 otomatik + 3 elle
Çalışma süresi ~5 dakika ~10 dakika

7. Sonuç ve Sonraki Adımlar

Bu deney cleanlab'ın feature-only modunun sınırlarını ortaya koymuştur. Duplike etiket tespiti ve near-duplicate bulguları değerli çıktılar olmakla birlikte, etiket kalitesi analizi için cleanlab'ın tam kapasitesine ihtiyaç vardır.

Bir sonraki deneyde (cleanlab Deney 2) embedding'ler üzerinde bir sınıflandırıcı (LogisticRegression veya kNN) eğitilerek pred_probs üretilmesi ve cleanlab'a verilmesi planlanmaktadır. Bu sayede cleanlab'ın confident learning algoritması devreye girecek ve her kayıt için spesifik alternatif etiket önerileri üretilebilecektir.