Community Detection (Topluluk Tespiti)

Topluluk tespiti (community detection), bir grafın (ağın) kendi içinde yoğun bağlantılı, diğer gruplardan görece seyrek bağlantılı alt yapılarını — toplulukları — ortaya çıkaran graf analizi yöntemidir.

Topluluk tespiti (community detection), bir grafın (ağın) kendi içinde yoğun bağlantılı, diğer gruplardan görece seyrek bağlantılı alt yapılarını — toplulukları — ortaya çıkaran graf analizi yöntemidir. Sosyal ağlarda arkadaşlık kümeleri, web grafiklarında konu kümeleri, biyolojik ağlarda işlevsel protein modülleri ve bilgi graflarında kavram grupları bu yöntemle tespit edilebilir. Topluluk tespiti algoritmaları dört ana sınıfa ayrılır. Modülarite optimizasyonu sınıfında Louvain algoritması, grafı aşamalı olarak birleştirerek modülariteyi (Q) maksimize eder; O(n log n) karmaşıklığıyla milyonlarca düğüme ölçeklenir ve literatürün en yaygın kullanılan yöntemidir. Leiden algoritması Louvain'in geliştirilmiş halidir: lokal boşluk sorununu gidererek daha bağlantılı topluluklar üretir ve 2019'dan itibaren büyük ölçekli ağ analizinde standart hâle gelmiştir. Hiyerarşik bölme yöntemlerinde Girvan-Newman algoritması, arasındalık merkeziyeti (betweenness centrality) en yüksek kenarları iteratif biçimde çıkararak toplulukları ayırır; hesaplama maliyeti yüksek olduğundan büyük graflarda daha az tercih edilir. Spektral kümeleme, grafın Laplacian matrisinin özvektörlerini kullanarak düğümleri özellik uzayında kümelendirir ve görüntü segmentasyonu ile doküman kümeleme alanlarında öne çıkar. Etiket yayılımı (label propagation) ise her düğümün komşularındaki en yaygın etiketi benimsemesine dayanan hızlı ve paralel bir yöntemdir. Yapay zeka uygulamalarında topluluk tespiti kritik bir bileşen hâline gelmiştir. Microsoft'un GraphRAG sistemi (2024), metin belgelerinden çıkarılan varlık grafındaki toplulukları Leiden algoritmasıyla tespit eder ve her topluluk için hiyerarşik özet raporlar üretir. Bu raporlar, "sektörde hangi trendler öne çıkıyor?" gibi geniş kapsamlı sorgulara yanıt verirken bağlam olarak kullanılır — standart vektör RAG'ın başarısız olduğu global sorularda çarpıcı biçimde daha iyi sonuçlar elde eder. Öneri sistemlerinde kullanıcı-ürün grafındaki topluluklar, soğuk başlangıç (cold start) sorununu azaltmak için grup tabanlı öneriler üretmekte kullanılır. Doğruluk tespitinde (misinformation detection) sosyal ağ topluluklarının yapısı, koordineli dezenformasyon kampanyalarını tespit etmek için analiz edilmektedir.

Topluluk Tespiti Nedir?

Topluluk tespiti (community detection), bir grafın kendi içinde yoğun bağlantılı, diğer gruplardan seyrek bağlantılı alt yapılarını — toplulukları — ortaya çıkaran graf analizi yöntemidir. Sosyal ağlarda arkadaşlık kümeleri, akademik atıf ağlarında araştırma alanları, biyolojik ağlarda birlikte çalışan protein modülleri ve web grafiklarında konu toplulukları bu yöntemle tespit edilir. Topluluk yapısı, karmaşık ağların modüler örgütlenmesini anlamamıza ve sistemdeki işlevsel grupları keşfetmemize olanak tanır. İyi bir topluluk, üyelerinin kendi aralarındaki bağlantı yoğunluğunun topluluklar arası bağlantı yoğunluğundan belirgin biçimde yüksek olduğu bir küme olarak tanımlanır; bu oran modülarite (Q) metriğiyle ölçülür.

Temel Algoritmalar

🔵 Louvain

Modülarite optimizasyonuna dayalı hiyerarşik algoritma. Düğümleri yerel olarak komşu topluluklara taşıyarak Q'yu artırır, ardından toplulukları süper-düğümlere sıkıştırır. O(n log n) karmaşıklığıyla milyonlarca düğüme ölçeklenir; sosyal ağ analizinin standart yöntemidir.

🟢 Leiden

Louvain'in 2019 yılındaki geliştirilmiş hali. Louvain'in ürettiği bağlantısız topluluk sorununu giderir, yerel arama aşamasında daha iyi kaliteli topluluklar üretir. GraphRAG gibi büyük ölçekli uygulamalarda tercih edilen modern standart.

🔴 Girvan-Newman

Her iterasyonda arasındalık merkeziyeti (betweenness centrality) en yüksek kenarı çıkaran hiyerarşik bölme yöntemi. Yorumlanabilir dendrogramlar üretir; hesaplama maliyeti yüksek olduğundan küçük-orta ölçekli graflarda tercih edilir.

🟡 Label Propagation

Her düğümün komşularında en yaygın etiketi benimsediği yinelemeli yöntem. Parametre gerektirmez ve paralel uygulamaya uygundur. Hızlı ama determinizm sorunu taşır — aynı graf farklı çalıştırmalarda farklı topluluklar üretebilir.

GraphRAG ve Yapay Zeka Uygulamaları

Topluluk tespiti, 2024 itibarıyla yapay zeka altyapısının kritik bir bileşeni hâline gelmiştir. Microsoft'un GraphRAG sistemi, metin belgelerinden çıkarılan varlık grafındaki toplulukları Leiden algoritmasıyla tespit eder ve her topluluk için hiyerarşik özet raporlar üretir. Bu raporlar iki düzeyde kullanılır: global sorgularda (tüm doküman koleksiyonunu kapsayan sorular) en yüksek seviye özetler bağlam olarak sunulur; yerel sorgularda ise ilgili topluluk özetlerine ek olarak vektör araması da devreye girer. Sonuç, standart vektör RAG'ın başarısız olduğu 'sektörün genel eğilimi nedir?' gibi geniş kapsamlı sorularda çarpıcı biçimde daha iyi yanıtlardır.

Değerlendirme Metrikleri ve Zorluklar

Topluluk kalitesini ölçmek için iki temel metrik kullanılır. Modülarite (Q), topluluk içi bağlantı yoğunluğunun rastgele bir grafa kıyasla ne kadar fazla olduğunu ölçer; -1 ile 1 arasında değer alır ve 0.3 üzeri genellikle iyi topluluk yapısına işaret eder. Normalised Mutual Information (NMI) ise gerçek topluluk etiketleri mevcut olduğunda algoritmanın doğruluğunu ölçer. Önemli zorluklar şöyle sıralanabilir: Çözünürlük limiti — Louvain gibi modülarite tabanlı yöntemler çok küçük veya çok büyük toplulukları gözden kaçırabilir. Örtüşen topluluklar — bir düğümün birden fazla topluluğa ait olduğu durumlar; BIGCLAM ve DEMON gibi algoritmaların alanı. Dinamik ağlar — zaman içinde değişen gruplardaki topluluk evrimi.

Uygulama Alanları

Sosyal ağ analizinde topluluk tespiti, etki odaklarını (influencer hubs), hobi veya profesyonel ilgi gruplarını ve koordineli bot ağlarını ortaya çıkarmak için kullanılır. Biyoinformatikte protein-protein etkileşim ağlarındaki modüller, işlevsel yolakları (pathway) temsil eder. Finansal ağlarda piyasa toplulukları, portföy çeşitlendirmesi ve sistemik risk analizi için değerlidir. Doğruluk tespitinde sosyal ağ topluluklarının yapısı, koordineli dezenformasyon kampanyalarını tespit etmek için analiz edilmektedir. Öneri sistemlerinde kullanıcı-ürün grafındaki topluluklar, soğuk başlangıç (cold start) sorununu azaltmak için grup tabanlı öneriler üretmede kullanılır.

Sık Sorulan Sorular

  • check_circle Louvain mu Leiden mi tercih edilmeli?: Leiden, Louvain'in ürettiği bağlantısız topluluk sorununu giderir ve genellikle daha kaliteli sonuçlar üretir. 2024 itibarıyla GraphRAG gibi büyük ölçekli uygulamaların standart seçimi Leiden'dır. Louvain hâlâ yaygın kütüphane desteğine sahip ve iyi performans göstermektedir; pratik uygulamalarda ikisi de makul bir başlangıç noktasıdır.
  • check_circle Modülarite optimizasyonunun zayıf yönleri nelerdir?: Çözünürlük limiti (resolution limit) önemli bir kısıttır: modülarite tabanlı yöntemler belirli ağ boyutunun altındaki küçük toplulukları ve belirli boyutun üzerindeki büyük toplulukları gözden kaçırabilir. Ayrıca modülarite değeri fazla sayıda yerel optimuma sahiptir; iki farklı çalıştırma farklı Q değerleri üretebilir.
  • check_circle Büyük graflar için hangi araçlar kullanılır?: Python ekosisteminde NetworkX (küçük-orta graflarda), igraph (hız odaklı), graph-tool (istatistiksel ağ analizi) ve Graspologic (Microsoft araştırma kütüphanesi) öne çıkar. Milyar düğümlü graflarda Apache Spark GraphX veya Snap.py tercih edilir. Neo4j ve TigerGraph gibi grafik veritabanları da topluluk tespit algoritmaları sunar.
  • check_circle GraphRAG olmadan topluluk tespiti nasıl uygulanır?: Temel akış: (1) Metin/veri üzerinden varlık ve ilişki grafiği oluştur. (2) Leiden veya Louvain ile toplulukları tespit et. (3) Her topluluk için özet üret (LLM veya kural tabanlı). (4) Özetleri sorgu anında bağlam olarak kullan. Microsoft'un açık kaynak GraphRAG paketi bu akışı uçtan uca gerçekleştiren hazır bir Python kütüphanesidir.
  • check_circle Örtüşen topluluklar nasıl ele alınır?: Örtüşen topluluklar (overlapping communities) — bir kişinin hem iş hem de aile ağına dahil olması gibi — sert bölümleme yöntemleriyle yakalanamaz. BIGCLAM (Cluster Affiliation Model) ve DEMON (Democratic Estimate of the Modular Organization of a Network) örtüşen toplulukları modellemek için tasarlanmış algoritmalardır. Pratik uygulamalarda füzzy kümeleme (fuzzy clustering) da sıkça tercih edilir.