METODOLOJİ BÖLÜM 04

HDBSCAN Tabanlı Uyuşmazlık Analizi

Yoğunluk, taksonomi ve yerel komşuluk göstergelerinin birlikte değerlendirilerek manuel inceleme adaylarının belirlenmesi ve önceliklendirilmesi.

1. UMAP ile Boyut İndirgeme

MPNet modeli ile oluşturulan 768 boyutlu makale embeddingleri, yoğunluk tabanlı kümeleme öncesinde UMAP (Uniform Manifold Approximation and Projection) yöntemi kullanılarak 15 boyutlu bir temsil uzayına indirgenmiştir. Bu aşamada n_components=15, n_neighbors=15, metric='cosine', min_dist=0.0 ve random_state=42 parametreleri kullanılmıştır. Elde edilen 15 boyutlu temsil, sonraki HDBSCAN kümeleme ve GLOSH aykırılık analizi aşamalarının girdisini oluşturmaktadır.

15D ve 2D UMAP Ayrımı: Pipeline içerisinde oluşturulan 15 boyutlu UMAP temsili kümeleme ve aykırılık analizi amacıyla kullanılmaktadır. Dashboard'da kullanılan 2 boyutlu UMAP koordinatları ise ayrı olarak üretilmekte ve yalnızca görselleştirme amacı taşımaktadır; aday belirleme kararına doğrudan dahil edilmemektedir.

2. HDBSCAN ile Yoğunluk Tabanlı Kümeleme

UMAP ile elde edilen 15 boyutlu temsiller üzerinde, veri içerisindeki yoğunluk yapılarını belirlemek amacıyla HDBSCAN (Hierarchical Density-Based Spatial Clustering of Applications with Noise) algoritması uygulanmıştır. Kümeleme aşamasında min_cluster_size=10, min_samples=5 ve prediction_data=True parametreleri kullanılmıştır. HDBSCAN, tüm makaleleri zorunlu olarak bir kümeye atamak yerine yeterli yoğunluk yapısına dahil olmayan noktaları -1 etiketiyle gürültü (noise) olarak ayırabilmektedir.

3. GLOSH Aykırılık Analizi

HDBSCAN kümeleme modeli oluşturulduktan sonra, her makalenin bulunduğu yoğunluk yapısı içerisindeki aykırılık derecesini değerlendirmek amacıyla GLOSH (Global-Local Outlier Score from Hierarchies) skorları kullanılmıştır. Bu değerler HDBSCAN modelinin clusterer.outlier_scores_ çıktısından elde edilmektedir. Yüksek GLOSH değerleri, bir noktanın yoğunluk yapısı içerisinde daha aykırı bir konumda bulunduğuna ilişkin ek bir sinyal sağlamaktadır.

GLOSH skoru bir olasılık (probability) değeri değildir ve sistemde ayrıca min-max normalizasyonuna tabi tutulmamaktadır. Bu değer, diğer semantik ve yerel komşuluk göstergeleriyle birlikte aday belirleme ve risk önceliklendirme süreçlerinde kullanılan yoğunluk tabanlı bir kanıttır.

4. Taksonomi Tabanlı Semantik Uyum Analizi

Makalenin semantik içeriği ile mevcut TR Dizin konu ataması arasındaki uyumu değerlendirmek amacıyla taksonomi yolları da makalelerde kullanılan aynı MPNet modeli ile vektörleştirilmiştir. Her makale embeddingi ile taksonomi temsilleri arasında kosinüs benzerliği hesaplanarak makalenin mevcut kategorisine olan semantik yakınlığı ile en yüksek benzerlik gösterdiği alternatif kategori karşılaştırılmıştır.

Bu karşılaştırma sonucunda iki temel gösterge elde edilmektedir:

  • Semantik Fark (label_sim_fark): Makalenin en yüksek benzerlik gösterdiği alternatif kategori (best_sim) ile mevcut kategorileri arasındaki en yüksek benzerlik (mevcut_sim) arasındaki farkı ifade eder.
    label_sim_fark = best_sim - mevcut_sim
  • Ortak Ağaç Derinliği (ortak_agac_derinligi): Makalenin mevcut taksonomi yolu ile önerilen alternatif taksonomi yolunun hiyerarşide kaç seviyeye kadar ortak olduğunu gösterir:
    • ortak_agac_derinligi = 0: Ana disiplin düzeyinde ayrışma. Mevcut kategori ile önerilen kategori farklı ana disiplinlerde yer alır (Örn: Mevcut kategori Mühendislik altında bulunurken önerilen kategori Sağlık Bilimleri altındadır).
    • ortak_agac_derinligi = 1: Alt alan / ikincil disiplin düzeyinde ayrışma. Mevcut ve önerilen kategoriler aynı ana disiplin altında bulunur, ancak sonraki taksonomik seviyede birbirinden ayrılır (Örn: Biri Bilgisayar Mühendisliği, diğeri Endüstri Mühendisliği).
    • ortak_agac_derinligi ≥ 2: Daha yakın taksonomik ilişki. Mevcut ve önerilen kategoriler taksonomi ağacında en az iki seviyeyi ortak paylaşır. Bu durum daha ince uzmanlık alanları arasındaki ayrımı temsil eder ve mevcut aday belirleme kuralında şüpheli uyuşmazlık kapsamına alınmaz.

5. kNN ile Yerel Komşuluk Analizi

Makalenin yalnızca taksonomi etiketleriyle olan semantik ilişkisini değil, embedding uzayındaki yakın yayınlarla oluşturduğu yerel çevreyi de değerlendirmek amacıyla k-Nearest Neighbors (kNN) tabanlı bir komşuluk analizi uygulanmaktadır.

Bu aşamada, daha önce Qdrant vektör veritabanına aktarılan mpnet_v1 embeddingleri kullanılmaktadır. Her makale için kosinüs benzerliğine göre en yakın komşular sorgulanmakta ve yerel komşuluk yapısının makalenin mevcut konu atamasıyla ne ölçüde uyumlu olduğu incelenmektedir.

  • Komşuluk büyüklüğü: Her makale için k = 10 en yakın komşu değerlendirmeye alınmaktadır.
  • Self-neighbor çıkarımı: Sorgulanan makalenin kendisi de Qdrant koleksiyonunda bulunduğu için sorguda 11 sonuç talep edilmekte (limit = self.knn_k + 1), makalenin kendi kimliği sonuçlardan çıkarıldıktan sonra kalan 10 komşu kullanılmaktadır.
  • Exact arama: Komşuluk sorguları exact=True parametresiyle gerçekleştirilmektedir. Böylece bu doğrulama aşamasında yaklaşık en yakın komşuluk yerine kesin vektör benzerliği sonuçları kullanılmaktadır.

Yerel komşuluk analizi sonucunda aşağıdaki temel göstergeler hesaplanmaktadır:

  • knn_impurity: En yakın 10 komşunun ne kadarının makalenin mevcut kategori kümesiyle ortak bir kategori paylaşmadığını gösterir. Değer yükseldikçe, makalenin yerel komşuluğu ile mevcut konu ataması arasındaki uyuşmazlık artmaktadır.
  • knn_baskinlik: En yakın 10 komşu içerisinde en sık görülen ana kategorinin toplam komşular içerisindeki payını ifade eder. Bu değer, yerel komşulukta belirli bir disiplin yönünde ne ölçüde konsensüs oluştuğunu göstermektedir.
  • knn_oneri: Yerel komşuluk içerisinde baskın olarak ortaya çıkan kategori bilgisinden türetilen kategori önerisidir.
  • knn_onayliyor_mu: Taksonomi tabanlı alternatif kategori önerisinin gerekli durumlarda yerel komşuluk yapısı tarafından desteklenip desteklenmediğini gösteren ikili bir göstergedir.
Yöntemdeki Rolü: kNN analizi tek başına nihai karar üretmez. Yerel komşuluk yapısından elde edilen göstergeler, taksonomi tabanlı semantik karşılaştırma ve GLOSH aykırılık sinyaliyle birlikte değerlendirilerek ön aday belirleme ve nihai filtreleme aşamalarında kullanılır.

6. Ön Aday Belirleme

Önceki aşamalarda elde edilen taksonomik, semantik, yerel komşuluk ve yoğunluk tabanlı göstergeler birlikte değerlendirilerek ilk aday havuzu oluşturulmaktadır. Bu amaçla clustering/hdbscan/outlier_detector.py içerisinde aşağıdaki sezgisel (heuristic) ön eleme kuralı uygulanmaktadır:

supheli_mi = 1 if ( ortak_derinlik <= 1 and knn_impurity >= 0.50 and sim_fark > 0.08 and knn_onayliyor_mu == 1 and (knn_baskinlik >= 0.30 or glosh_scores[i] > 0.70) ) else 0

Bir yayının ön aday olarak belirlenebilmesi için aşağıdaki koşulların birlikte sağlanması gerekmektedir:

  • ortak_derinlik <= 1: Mevcut ve önerilen taksonomi yolları arasında ana disiplin veya alt alan düzeyinde ayrışma bulunmalıdır.
  • knn_impurity >= 0.50: En yakın 10 komşunun en az yarısı makalenin mevcut kategori kümesiyle ortak bir kategori paylaşmamalıdır.
  • sim_fark > 0.08: Semantik olarak en yüksek benzerlik gösteren alternatif kategori, mevcut kategoriye göre belirli bir farkla öne çıkmalıdır.
  • knn_onayliyor_mu == 1: Gerekli durumlarda önerilen disiplin değişimi yerel komşuluk yapısı tarafından desteklenmelidir.
  • knn_baskinlik >= 0.30 veya GLOSH > 0.70: Adaylık, komşuluk içerisinde yeterli düzeyde kategori baskınlığı veya güçlü bir yoğunluk tabanlı aykırılık sinyali ile desteklenmelidir.
Parametrelerin Yorumlanması: Bu eşikler sistematik bir hiperparametre optimizasyonu sonucunda belirlenmiş değerler değildir. Pipeline içerisinde farklı uyuşmazlık göstergelerini birlikte değerlendirmek ve manuel incelemeye aktarılacak aday havuzunu sınırlandırmak amacıyla kullanılan sezgisel karar eşikleridir.

7. Bileşik Risk ve İnceleme Önceliği

Ön aday olarak belirlenen yayınların manuel inceleme açısından göreli önceliğini belirlemek amacıyla her makale için bileşik bir risk skoru hesaplanmaktadır. Bu skor; yerel komşuluk uyuşmazlığı, semantik taksonomi farkı ve yoğunluk tabanlı aykırılık sinyalini ağırlıklı olarak bir araya getirmektedir:

risk_skoru = ( knn_impurity * 0.40 + min(max(label_sim_fark, 0), 1) * 0.35 + glosh_val * 0.25 )

Bileşik skor üç göstergenin katkısından oluşmaktadır:

  • kNN Impurity (%40): Makalenin yerel komşuluğunun mevcut konu atamasıyla ne ölçüde uyuşmadığını temsil eder.
  • Semantik Fark (%35): Makalenin en yüksek benzerlik gösterdiği alternatif kategori ile mevcut kategorisi arasındaki semantik benzerlik farkını temsil eder. Formülde bu değer 0–1 aralığıyla sınırlandırılarak kullanılmaktadır.
  • GLOSH (%25): Makalenin HDBSCAN tarafından oluşturulan yoğunluk yapısı içerisindeki aykırılık derecesini temsil eder.
Risk Skorunun Kullanımı: Risk skoru, aday yayınların manuel inceleme sırasının önceliklendirilmesi amacıyla kullanılan bileşik ve sezgisel bir göstergedir. knn_baskinlik bu formüle dahil edilmez; yalnızca aday belirleme ve nihai filtreleme kurallarında kullanılır. Risk skoru kalibre edilmiş bir hata olasılığı olmayıp, sıralama önceliğidir.

8. Nihai Aday Filtreleme

Ön aday belirleme aşamasından geçen yayınlar, nihai inceleme havuzunun oluşturulması amacıyla daha sıkı bir semantik kabul eşiği ve taksonomi düzeyine göre farklılaşan yerel komşuluk koşulları kullanılarak yeniden filtrelenmektedir.

İlk olarak semantik fark için label_sim_fark >= 0.09 koşulu uygulanmaktadır. Ardından mevcut ve önerilen taksonomi yollarının ayrışma düzeyine göre ana disiplin ve alt alan adayları için farklı kabul kuralları değerlendirilmektedir:

  • Ana disiplin düzeyindeki adaylar (ortak_agac_derinligi == 0): Yerel komşuluk içerisinde önerilen ana kategorinin en az 0.30 baskınlık göstermesi gerekmektedir.
  • Alt alan düzeyindeki adaylar (ortak_agac_derinligi == 1): Taksonomi tabanlı kategori önerisi ile kNN önerisinin aynı olması veya komşuluk baskınlığının en az 0.40 olması gerekmektedir.
# Nihai aday filtreleme mask_ana_disiplin = ( (df["ortak_agac_derinligi"] == 0) & (df["knn_baskinlik"] >= 0.30) ) mask_alt_alan = ( (df["ortak_agac_derinligi"] == 1) & ( (df["oneri_kategori"] == df["knn_oneri"]) | (df["knn_baskinlik"] >= 0.40) ) ) final_df = df[ (df["supheli_mi"] == 1) & (df["label_sim_fark"] >= 0.09) & (mask_ana_disiplin | mask_alt_alan) & valid_title ]

Böylece ön aday havuzu; semantik uyuşmazlığın daha belirgin olduğu, taksonomik ayrışmanın ilgili disiplin düzeyine ait komşuluk koşullarıyla desteklendiği ve değerlendirme için gerekli başlık bilgisine sahip (valid_title) yayınlarla sınırlandırılmaktadır.

Aday Türlerinin Yorumlanması: Nihai adaylar taksonomik ayrışma düzeyine göre arayüzde iki grupta ifade edilmektedir:
  • ortak_agac_derinligi == 0 → Ana Disiplin Uyuşmazlığı Adayı
  • ortak_agac_derinligi == 1 → Alt Alan / İkincil Disiplin Adayı

9. Metodolojik Çerçeve ve Yorumlama Sınırları

HDBSCAN tabanlı yaklaşım; yoğunluk yapısı, taksonomi tabanlı semantik karşılaştırma ve yerel komşuluk bilgisi gibi farklı göstergeleri birlikte değerlendirerek mevcut konu atamasıyla belirgin uyuşmazlık göstergeleri taşıyan yayınları belirlemektedir. Bu göstergeler tek başlarına kesin bir yanlışlık kararı olarak değerlendirilmemekte, birbirini tamamlayan inceleme sinyalleri olarak kullanılmaktadır.

Bu nedenle sistem çıktılarının aşağıdaki metodolojik sınırlar çerçevesinde yorumlanması gerekmektedir:

  • Adaylık kesin yanlışlık anlamına gelmez: Bir yayının nihai aday havuzuna dahil edilmesi, mevcut konu atamasının kesin olarak hatalı olduğunu göstermez. Bu durum, yayın içeriği ile mevcut konu ataması arasında manuel incelemeyi gerektirebilecek düzeyde uyuşmazlık göstergeleri bulunduğunu ifade eder.
  • Sistem otomatik yeniden etiketleme yapmaz: Üretilen alternatif kategori ve komşuluk önerileri karar destek amacı taşımaktadır. Mevcut konu atamasının değiştirilmesi veya yeni bir konu atanması sistem tarafından otomatik olarak gerçekleştirilmemektedir; sistem "manuel inceleme adayı" üretir.
  • Risk skoru bir olasılık değeri değildir: Hesaplanan risk skoru kalibre edilmiş bir hata olasılığını temsil etmez. Skor, farklı uyuşmazlık göstergelerinin birleştirilmesiyle oluşturulan göreli bir manuel inceleme önceliği göstergesidir.
  • Semantik benzerlik disiplin eşdeğerliği anlamına gelmez: Bir makalenin belirli bir taksonomi yolu veya yayın grubuyla semantik olarak yüksek benzerlik göstermesi, doğrudan o disipline ait olduğu anlamına gelmez. Araştırmada kullanılan yöntem, incelenen nesne veya materyal ve uygulama bağlamı gibi unsurlar semantik temsili etkileyebilir.
  • Nihai değerlendirme uzman incelemesine dayanır: Sistem, geniş yayın havuzu içerisinden öncelikli inceleme adaylarını belirleyen bir karar destek mekanizmasıdır. Adayların mevcut konu atamalarının gerçekten hatalı, eksik veya uygun olup olmadığı manuel değerlendirme sonucunda belirlenmektedir.
Doğru Yorumlama: Sistem tarafından aday olarak işaretlenen bir yayın için doğru metodolojik ifade, mevcut konu ataması ile yayın içeriği ve analiz göstergeleri arasında belirgin bir uyuşmazlık bulunduğu ve kaydın manuel inceleme açısından önceliklendirildiğidir. Sistem çıktısı tek başına mevcut konu atamasının yanlış olduğuna ilişkin kesin bir karar olarak yorumlanmamalıdır.