Entity Resolution (Varlık Çözümleme)

Varlık Çözümleme, farklı veri kaynaklarındaki kayıtların aynı gerçek-dünya varlığına ait olup olmadığını tespit eden veri entegrasyon tekniğidir.

Varlık çözümleme (entity resolution), farklı veri kaynaklarındaki kayıtların aynı gerçek dünya varlığına ait olup olmadığını belirleme sürecidir. Bu süreç kayıt bağlama (record linkage), varlık eşleştirme (entity matching) veya çoğaltma tespiti (deduplication) olarak da adlandırılır. Temel zorluk, aynı varlığı temsil eden kayıtların yazım hatası, kısaltma, format farklılığı ya da eksik alan nedeniyle tam eşleşmemesidir: 'Ali Demir', 'A. Demir' ve 'Ahmet Ali Demir' aynı kişiyi tanımlıyor olabilir. Geleneksel varlık çözümleme süreci üç aşamadan oluşur. Önce engelleme (blocking) aşamasında, karşılaştırma uzayını yönetilebilir boyuta indirmek amacıyla yalnızca potansiyel eşleşme adayları bir araya getirilir; phonetic blocking (Soundex, Metaphone), LSH (Locality-Sensitive Hashing) ve token tabanlı engelleme bu amaçla kullanılan başlıca tekniklerdir. Ardından benzerlik puanlama aşamasında her aday çift için Jaro-Winkler mesafesi, TF-IDF kosinüs benzerliği ve alan bazlı ağırlıklandırma gibi yöntemlerle bir eşleşme skoru hesaplanır. Son olarak karar verme aşamasında bu skor bir eşik değeriyle karşılaştırılır ya da sınıflandırıcı modelden geçirilir. Derin öğrenme yaklaşımları varlık çözümlemeyi kökten dönüştürmüştür. BERT tabanlı modeller her kaydı bağlama duyarlı bir vektörle temsil eder; Ditto (2020) gibi modeller LLM'leri fine-tune ederek kural tabanlı sistemlerin ötesinde doğruluk elde etmektedir. Grafik tabanlı yaklaşımlarda ise kayıtlar düğüm, ilişkiler kenar olarak modellenir; topluluk tespiti algoritmaları kümeler içindeki tutarsızlıkları ortaya çıkarır. Uygulama alanları son derece geniştir: müşteri verisi platformlarında çift profil tespiti, sağlık kayıtlarında hasta kimliği birleştirme, e-ticarette ürün kataloğu tekilleştirme ve mali suç tespitinde şüpheli şirket bağlantıları bunların başında gelir. Varlık çözümleme, veri kalitesi yönetiminin temel bileşenidir ve ölçek büyüdükçe hesaplama maliyeti ile recall/precision dengesi temel mühendislik kısıtlarını oluşturur. Özellikle büyük ölçekli MDM (Master Data Management) projeleri ve bilgi grafı sistemleri, varlık çözümleme olmadan tutarlı bir veri altyapısı kuramaz.

Varlık Çözümleme Nasıl Çalışır?

Varlık çözümleme süreci, büyük veri kümelerinde naif n² karşılaştırma karmaşıklığını yönetilebilir hale getirmek için akıllı bir ardışık düzen izler. **Blocking (Engelleme):** Tüm olası çiftleri değerlendirmek yerine, yalnızca aynı mahalledeki, aynı posta kodundaki veya aynı soyadına sahip kayıtlar gibi benzerlik ihtimali yüksek gruplar oluşturulur. Bu aşama, karşılaştırılacak çift sayısını n²'den tipik olarak n·log(n)'e düşürür. Standart blocking, phonetic blocking (Soundex, Metaphone) ve LSH (Locality-Sensitive Hashing) popüler yöntemler arasındadır. **Benzerlik Puanlama:** Seçilen her çift için karakter düzeyinde (Levenshtein, Jaro-Winkler), token düzeyinde (Jaccard, TF-IDF kosinüs benzerliği) veya gömme (embedding) tabanlı benzerlik hesaplamaları yapılır. BERT gibi dil modelleri ise metni anlamsal temsil vektörlerine dönüştürerek "Dr. Smith" ile "Smith, J." arasındaki bağı kural tabanlı sistemlerin ötesinde yakalayabilir. **Sınıflandırma:** Hesaplanan benzerlik skorlarına dayanarak çiftler 'eşleşme', 'eşleşmeme' veya 'belirsiz' olarak etiketlenir. Kural tabanlı eşik yöntemlerinin yanı sıra lojistik regresyon, rastgele ormanlar ve sinir ağları bu adımda kullanılabilir. Belirsiz vakalar için aktif öğrenme döngüleri, insan etiketleyicilere yalnızca kritik çiftleri göndererek maliyeti minimize eder.

Temel Yaklaşımlar

  • check_circle Kural Tabanlı: Uzman tarafından yazılan kurallar (eğer ad + doğum tarihi eşleşiyorsa eşleştir) hızlı ve şeffaftır; ancak kapsam sınırlıdır ve bakım maliyeti yüksektir.
  • check_circle Olasılıksal (Fellegi-Sunter): Her alanın eşleşme ve eşleşmeme olasılıklarını hesaplayarak nihai skor üretir. Splink bu modeli ölçeklenebilir biçimde uygulayan popüler açık kaynak kütüphanedir.
  • check_circle Makine Öğrenimi: Özellik vektörleri üzerinde eğitilen sınıflandırıcılar (SVM, gradient boosting), el yazımı kuralların ötesinde genelleşme sağlar. Etiketli veri gerektirir.
  • check_circle Derin Öğrenme (Ditto, DeepMatcher): BERT tabanlı modeller ham metin girdisinden öğrenir; yazım hataları, farklı dil ve kısaltmalar gibi zorluklara karşı en dayanıklı yöntemdir.

Kullanım Alanları

  • check_circle Müşteri Veri Yönetimi (MDM): Birden fazla kanaldan (web, mobil, CRM, çağrı merkezi) gelen müşteri kayıtlarını birleştirerek tek müşteri görünümü (single customer view) oluşturur.
  • check_circle Sağlık Kayıtları Entegrasyonu: Farklı hastane ve klinik sistemlerindeki hasta dosyalarını MRN (Medical Record Number) veya demografik benzerlik üzerinden bağlar; yanlış tedaviyi önler.
  • check_circle Dolandırıcılık Tespiti: Farklı sahte kimlikler veya hesaplar üzerinden gerçekleştirilen işlemleri ortak varlığa bağlayarak finansal suistimali ortaya çıkarır.
  • check_circle E-Ticaret Katalog Yönetimi: Farklı tedarikçilerden gelen ürün kayıtlarını normalize ederek aynı ürünün binlerce satırda tekrar etmesini önler.
  • check_circle Bilgi Grafı Zenginleştirme: Wikipedia, Wikidata, DBpedia gibi yapılandırılmış kaynakları birbirine bağlayarak kapsamlı ontoloji oluşturur.

Varlık Çözümleme Yaklaşımları

Kural Tabanlı

ML / Makine Öğrenimi

Derin Öğrenme / Embedding

Olasılıksal (Fellegi-Sunter)

checklist Varlık Çözümleme Pipeline'ı

  • check_circle :
  • check_circle :
  • check_circle :
  • check_circle :
  • check_circle :

Sıkça Sorulan Sorular

  • check_circle Varlık çözümleme ile tekilleştirme (deduplication) arasındaki fark nedir?: Tekilleştirme, tek bir veri tabanı içindeki mükerrer kayıtları bulmayı ifade eder. Varlık çözümleme ise bu kavramın genelleştirilmiş halidir: birden fazla ve heterojen kaynak arasındaki eşleşmeleri kapsar. Tekilleştirme, varlık çözümlemenin özel bir durumudur.
  • check_circle Blocking neden zorunludur?: 1 milyon kayıt içeren iki veri seti için naif karşılaştırma 1 trilyon çift üretir. Blocking bu sayıyı makul bir alt kümeye (genellikle milyonlarca) indirerek gerçek zamanlı ve ölçeklenebilir işleme olanak tanır.
  • check_circle Etiketli veri olmadan varlık çözümleme mümkün mü?: Evet. Fellegi-Sunter gibi gözetimsiz (unsupervised) olasılıksal modeller ve kümeleme tabanlı yöntemler etiket gerektirmez. Ancak derin öğrenme modelleri daha yüksek doğruluk için etiketli çift verisi kullanır; aktif öğrenme bu etiketi minimize eder.
  • check_circle Varlık çözümleme hangi metriklerle değerlendirilir?: Precision (kesinlik), recall (duyarlılık) ve F1-score temel metriklerdir. Reduction Ratio (blocking'in ne kadar çift elediği) ve Pairs Completeness (gerçek eşleşmelerin ne kadarının blocking sonrası kaldığı) ek göstergelerdir.