Tekilleştirme işleminde son teknoloji


13

Kayıt tekilleştirme işleminde en gelişmiş yöntemler nelerdir? Veri tekilleştirme de denir: kayıt bağlantısı, varlık çözümü, kimlik çözümü, birleştirme / temizleme. Örneğin CBLOCK [1] hakkında bilgim var.

Yanıtların ayrıca yöntemleri uygulayan mevcut yazılımlara referansları da içermesi hoşuma gider. Örneğin Mahout'un gölgelik kümelemeyi uyguladığını biliyorum . Lucene kullanan Duke da var .

Tekilleştirme için birçok ticari sistem vardır. Nasıl çalıştıklarını ve ne kadar verimli olduklarını bilmek değerli olacaktır.

Hem tek bir veri kümesinde tekilleştirme hem de farklı kaynaklardan gelen birden çok veri kümesi arasında bağlantı kurma ile ilgileniyorum. Verimlilik ve büyük miktarda veri işleme yeteneği de önemlidir.

[1] CBLOCK: Büyük Ölçekli Çoğaltma Görevleri için Otomatik Engelleme Mekanizması


İlgilenebilecek ticari bir çözüm. Bir satış noktası, zamanının olması ve tipik olarak diğer ticari rakiplere göre üstün sonuçlar elde etmesidir. novetta.com/products/entity-analyticsO(n)
Sycorax,

Yanıtlar:


5

Tamr (daha önce Data Tamer) ölçekte veri tekilleştirmesi yapar. Naif Bayes ve grafik kümeleme söz konusudur.

Algoritmaların büyük ölçüde garip olan SQL'de uygulandığına inanıyorum, ancak teknik raporlarının birincil yazarı PostgreSQL'in oluşturulmasına yardımcı olan Michael Stonebraker.

Teknik incelemeye buradan göz atın .

Düzenleme: Makalelerinin aşağıda attığı adımları özetledim. Bazı sözlerim kağıtlarındakiyle neredeyse aynı.

Tamr'in veri tekilleştirme sisteminin yeni bir veri kaynağıyla başa çıkmak için iki ana adımı vardır: (1) Özellik Tanımlama ve (2) Varlık Konsolidasyonu. Bunlar kabaca sütun tekilleştirmesi ve satır tekilleştirmesine eşdeğerdir.

1) Yeni bir veri kaynağını var olanla karşılaştırmak için ilk adım Özellik Tanımlamadır.

Yeni kaynağın nitelikleri (sütunları), mevcut kaynağın niteliklerine dört algoritmayla eşlenir:

  • Özellik adlarını bulanık dize karşılaştırmasıyla karşılaştırın (trigram kosinüs benzerliği)
  • Bir sütunun tamamını bir belge olarak düşünün, tokenize edin, toplam frekans / ters belge frekansı (TF-IDF) kosinüs benzerliğini bu ve diğer sütunlar arasında ölçün.
  • Minimum açıklayıcı uzunluk: kesişme boyutlarına ve tam eşleşmeyle birleşmesine göre iki sütunu karşılaştırın.
  • Sayısal sütunlar için, aynı dağıtımdan gelip gelmediklerini belirlemek için yeni sütun ile mevcut sayısal sütunlar arasında bir t testi gerçekleştirin.

2) Varlık Konsolidasyonu (Satır Tekilleştirme)

Özellik Tanımlama gerçekleştirildikten sonra satırları (kayıtları) tekilleştirmek istiyoruz.

Kümeleme ile sınıflandırma

Kayıtlar ilk önce benzerlik temelinde kategoriler halinde gruplandırılır ve ardından tekilleştirme kuralları kategori düzeyinde öğrenilir. Kategorilere verdikleri örnek, batıdaki kayak merkezlerinin doğu kayak merkezlerinden farklı bir kategori olması gereken bir kayak merkezleri veri tabanı içindir, çünkü taban yüksekliği gibi özellikler tatil köyünün doğu veya batı olmasına bağlı olarak güçlü bir şekilde ayrılmıştır. Sınıflandırma, bir kümeleme algoritması ile yapılır, örnek olarak k-araçları verilir.

Naif Bayes ile Veri Tekilleştirme

Öznitelikler tanımlandıktan ve kayıtlar kategorilere ayrıldıktan sonra, her bir kategori için yinelenen ve yinelenmeyenler eğitim kümesine dayalı veri tekilleştirme kurallarını öğreniriz.

İki tür veri tekilleştirme kuralı vardır:

  1. Öznitelik için anlamlı bir mesafe işlevine göre öznitelik benzerlikleri için eşikler. (Makale, bu eşiklerin nasıl öğrenildiği konusunda net değildir.)
  2. Her öznitelikte dupe ve dupes olmayanlar için olasılık dağılımları . örneğin P("Title" values similar | duplicate) ~ 1ve Pr("State" values are different | duplicate) ~ 0

Her bir kayıt çifti için, uygun bir mesafe metriği ile özelliklerinin her birinin benzerliğini hesaplıyoruz. Herhangi bir özniteliğin eşik değerinin üzerinde bir benzerliği varsa, kayıt çifti dupe veya dupe olmayan olarak sınıflandırılmak üzere bir Naive Bayes sınıflandırıcısından beslenir.

Benim varsayım kayıtları için olmasıdır X1 = (a1,b1,c1,d1), X2 = (a2,b2,c2,d2)bunlar bir benzerlik vektör hesaplamak doğru mesafe ölçüsünün bu özellik wrt için benzerliğidir.S = (s_a, s_b, s_c, s_d)s_i

Naive Bayes sınıflandırıcısının bu yapıya sahip olduğunu varsayıyorum:

P(dupe|S) = P(dupe)P(s_a|dupe)(s_b|dupe)(s_c|dupe)P(s_d|dupe) / P(S)

Grafik kümelemeyle varlık çözünürlüğü

Sınıflandırma adımından sonra, belirli bir kategoriden çift kopya olduğuna inanılan bir kayıt alt kümemiz var. Bunların şimdi farklı varlıklara çözülmesi gerekiyor . Bu bir geçiş problemini çözer: eğer t1 kaydı bir t2 tupe ve t2 bir t3 dupe ise, t1 ayrıca bir t3 dupe de olmalıdır. Yani t1, t2 ve t3 aynı varlığı temsil eder .

Bu adım için bir grafik yapısı kullanılır. Kategori içinde bir dupe olabilecek her kayıt bir düğümdür. Birbirlerinin çiftleri olduğundan şüphelenilen düğümlerin aralarında kenarları vardır. Kümeler daha sonra grafikte keşfedilir ve daha sonra bir kümenin diğerine ne kadar güçlü bağlandığına dair eşiklere dayanarak birleştirilir. Bağlantılılıklarına göre birleştirilebilen veya birleştirilemeyen üç küme çifti örneği:

  c1        c2    

x-x-x-----y-y-y
|\|/|     |\|/|
x-x-x-----y-y-y  Meets similiarity threshold
|/|\|     |/|\|
x-x-x-----y-y-y    

x-x-x     y-y-y
|\|/|     |\|/|
x-x-x-----y-y-y  Does not meet similarity threshold
|/|\|     |/|\|
x-x-x     y-y-y    

    x     y
    |     |
    x-----y      Meets similarity threshold
    |     |
    x     y

Algoritma sona erdiğinde, her küme kategori içinde ayrı bir varlığı temsil etmelidir . İşlemi tamamlamak için , bu varlığın nitelikleri, içindeki kayıtların niteliklerinden belirlenmelidir . Önce boş değerler atılır, daha sonra frekans, ortalama, medyan ve en uzun yöntemleri içeren yöntemler kullanılır.

Bu makale ayrıca, algoritmaların emin olmadığında ve farklı uzmanlık düzeylerine sahip birden çok uzmanın nasıl kullanılacağına yardımcı olmak için alan uzmanlarını kullanmak için bazı yöntemler geliştirmektedir.


Teknik inceleme için çalışma bağlantısı: cs.uwaterloo.ca/~ilyas/papers/StonebrakerCIDR2013.pdf
fjsj
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.