Ana içeriğe atla

Veri kalitesi işlemlerinde bulanık mantığın (Fuzzy logic) kullanılması

Bulanık mantık (Fuzzy Logic) üzerine 1995 yılında bitirdiğim yüksek lisans tezinde, bulanık mantık ile çalışan bir uzman sistem yapmıştım. O zamanlar bulanık mantık, bilişim teknolojileri alanında yeni yeni emekleme dönemindeydi. Özellikle veritabanlarında bilgi keşfi çalışmaları için kullanılması yönünde oldukça çok akademik çalışma yapılmaktaydı. Günümüzde Bilgi Teknolojileri (BT) sektöründe bulanık mantık dahil diğer bilgi belirsizliği modellerini, BT profesyonelleri "kullanıyor" dememiz zor. Fakat en zor alanlardan biri olan ve gün geçtikçe önemi artan veri kalitesinin arttırılması konusunda yapılan çalışmalarda, bulanık mantık terimi oldukça sık ismi geçen bir terim haline geldi. Bu nedenle yazımızın konusu bu terimin genel anlamından çok veri kalitesinde kullanımı konusunda olacak.

Veri kalitesi çalışmalarında fuzzy logic kelimelerini ilk duyduğumda kelimelerin bulanık küme teorisinde kullanılması geldi. Örneğin; çok gürültülü kelimesinin bulanık kümesinin kurulması sürecini aklıma getirdim. Önce gürültü kelimesi için küme oluşturulacak, daha sonra pekaz, az, orta, çok, pekçok gibi bunun niteleyicileri olan kelimelerin bu küme üzerindeki operasyon işlemleri tanıtılacak vb. Fakat konuyu biraz araştırınca veri kalitesi literatüründe geçen fuzzy logic kelimesinin farklı bir şekilde kullanıldığını anladım ve bu konuda uygulama da yapma imkanım oldu.

Yöntemin temel adımlarını sizlerle paylaşmak istiyorum.

Örnek olarak bir veritabanında olan isim ve soyadları başka bir veri tabanında olan isim ve soyadlar ile karşılaştırma problemini ele alalım. Bu problemin çözümü ilk bakışta basit olmakla birlikte gerçekte zor bir problemdir. Bu problemin daha zoru, bir veritabanında bulunan adres bilgilerinin düzeltilmesi, yanlış yada eksik adreslerin tespit edilmesi gibi problemler olabilir. Bu ve benzer problemleri çözmek için kullanılan teknikler genel olarak dört adımlıdır.

  1. Frekans alma,
  2. Standartlaştırma,
  3. Eşleme ( matching)
  4. Çıkarım yapma.

Bu adımların detayını inersek;

1. Frekans alma : Tablodaki ilgilenilen alanda geçen tüm kelimelerin frekansının alınması işlemidir. Tablonun satır sayısına ve alanın büyüklüğüne bağlı olarak uzun bir işlem gerektirebilir. Bu işlem sonucunda elde edilen frekans tablosu bize kelimelerin ne kadar sıklıkla kullanıldığı açısından matematiksel bir ölçüm verir. Tabii burada hayatı zorlaştıran faktörler devreye girer. Yanlış yazılan kelimeler ,örnek olarak hakan kelimesinin bilerek yada hata olarak farklı yazılışları hkan, hkn, haka, hakn bu listede görülecektir. Bu liste ile karşılaşan bir kişinin yapacağı iş ikinci adıma geçmektir.

2. Standartlaştırma: Bu aşamada frekansları alınan kelimelerden, birbirine benzeyen kelimeler içinden gerçekten aynı olan kelimeler gerçek karşılığı ya da uygun görülen bir kodlaması ile yer değiştirilir. Yani hkan kelimesi hakan ile yer değiştirir. Bu işlemler zor ve zahmetlidir ve hataya açıktır. Bu nedenle uzmanlık gerektirir. Bu işlemin alternatifi de vardır ama daha karmaşıktır ve matematiksel teorilere dayanır. Hamming Distance fonksiyonu kullanma yöntemi bunlardan birisidir. Bu yöntemlerde normalde standartlaştırmak için gerekli olan uzman ve harcanan zamandan tasarruf edilir fakat teknik olarak anlaması daha zordur. Benim açımdan matematik mühendisi olmamın avantajı ile hiper uzayda nesneler arasında uzaklık fonksiyonu tanımlamaya dayanan bu yöntemler anlaşılır ama yüksek matematik bilgisi olmayan bir kişi için anlaması zordur. Bu nedenle buralarda bu iş için geliştirilmiş yazılımlardan faydalanılabilir. Bunu daha sonraki bir yazıda açabiliriz belki.

3. Eşleme: Frekansı alınan ve standartlaştırma işlemi yapılan alanlar eşleme işlemi için hazırdır. İki farklı kaynakta (veritabanında vb) da bu işlemlerin yapılmış olması gereklidir. Eşleme işlemi iki alandaki cümlelerin (burada ad soyad bilgileri) kelime kelime diğer alanda aranmasına dayanır. İşte bu aşamada iki alanda da aynı kelimelerin olmaması durumunda devreye fuzzy logic matching olarak adlandırılan yöntem girer. Burada cümle bir bulanık küme olarak kabul edilir ve bulanık kümelerde kümenin elemanı olma [0,1] aralığında herhangi bir reel sayı olabilir tanımı doğrultusunda bir sayıya karşılık getirilir. Bu işlem ile benzer cümlelerin bulanık ölçüsü 1 e ne kadar yakınsa o kadar birbirine benzemektedir, yani benzerliğin bir ölçüsü tanımlanmış olur. Tabii kelimelerin bazen tam eşleşmemesi de bazı teknikler kullanılarak bu ölçüye katılır. Örneğin; HakanSarıbıyık olarak tanımlanan bir kelimede Hakan ile benzerlik için 0.5 ölçüsü alınabilir. Bu kesin bir ölçü değildir ve tecrübe ile uygulanan problem alanına özgü değişik yorumlamalar yöntemde ufak bazı değişiklikler yapabilir.

4. Çıkarım yapma: Her bir kayıt için bulunan [0,1] aralığındaki fuzzy logic değerlerini birbirleri ile karşılaştırıp galibi ilan etme bu aşamada yapılır. Görüldüğünden zordur. Çünkü bazen 0.89 ile 0.76 arasında tercih yapmak bizi doğrudan sonuca götürmeyebilir. Bu noktada belirsizlik ölçme yöntemlerinden faydalanılabilinir.

Bu aşamalar sonucu elde edilen eşleştirmeler "Veri kalitesi işlemlerinde bulanık mantığın (Fuzzy logic) kullanılması" olarak nitelendirdiğimiz işlemler sonucunda elde edilen sonuçlar olarak kullanılır. Bu sürece beşinci bir aşama olarak hata minimizasyonunu da ekleyebiliriz. Hatayı minimize etmek yanlış eşleştirmeler ile, elde edilen kazanım arasında bir ödünleşme yapmamız açısından önemlidir.

Aklımızda tutmamız gereken önemli bir noktadan bahsederek yazıyı bitirelim. Bu yöntem, bir insanın yaptığı bir işi, otomatik olarak bir insan yapar gibi yapmasıdır. Bu nedenle ülkemizde yapılan genel bir yanlışa dikkat çekmekte fayda görüyorum. Veri kalitesi konusunda ne kadar uzman olursa olsun Türkçe bilmeyen yabancı uyruklu bir kişi Türkiye de ad soyad yada adres düzeltmesini ne kadar yapabilirse, ülkemizde ticari ürün olarak kullanılan Türkçe yi bilmeyen ürünlerde o kadar düzeltme yapabilir. Bu nedenle bu konuda önemli olan uzmanın ve kullanılıyorsa ürünün Türkçe yi bilmesidir. Benzer durum text mining olarak olarak adlandırılan metin madenciliğinde daha da önemlidir. Yani Türkçe bilmeyen bir metin madenciliği yazılımı türkçe metinleri doğru olarak işleyip sonuçlar üretemez yani Türkçe bilmeleri esastır.

Sevgilerimle

Yorumlar

Bu blogdaki popüler yayınlar

SAS Nedir?

Anthony Barr, James Goodnight, John Sall ve Jane Helwig isimli dört kişi tarafından 1976 yılında Statistical Analysis System i smi ile kurulan fakat yazılım alanında ürettiği ürünlerle bu sınırları aşan SAS (SAS Institute) günümüzde borsaya açık olmayan dünyanın en büyük yazılım şirketlerinin başında geliyor. Hiç kuşkusuz bu dörtlüden en önemlisi, Harvard Business School tarafından* 20 inci yüzyılın en önemli iş liderleri listesinde gösterilen ve aynı zamanda şirketin CEO su olan James "Jim" Goodnight dır. İstatistik alanında doktorası olan Goodnight ayrı bir yazı konusu olmayı hakeden renkli bir kişilik. SAS denince ilk akla gelen öncelikle istatistik ve iş zekası alanlarında marketin önemli oyuncularının başında gelen ve "Bilmenin gücü (Power to know)" nü uzun yıllardır müşterilerinin hizmetine sunan Amerika Kuzey Karolayna merkezli dev bir yazılım şirketi olduğudur. Detaylarda ise genetik, tarım, finans, telekom, uzay, ilaç, kimya, bankacılık gibi birçok farkl

Veriden Bilgiye Dönüşüm Sürecinin Temelleri

Merhaba, Ağırlıklı olarak Telekom sektöründe uzun yıllardır çalışmakta olan birisi olarak, büyük şirketlerdeki verinin ilk çıkış noktalarından, raporlarda yer alması ve karar destek sistemlerinde görünmesine kadar giden süreçler hakkında önemli bir bilgi birikimim oldu. Bu bilgi birikimi farklı noktalardan bakışı gerektirir ve az sayıda profesyonel, bu bakışa sahip olma ayrıcalığını taşır. Sürekli değişen Bilgi Teknolojileri (BT)  araçları ve yüksek rekabet ortamı içinde bu bilgi ve tecrübeyi sürekli güncel tutmakta ayrı bir gayret gerektirir. Tabii ki bu tecrübede kullanılan araçların yeri yadsınamaz. Atalarımız alet işler el övünür derken haklı bir noktaya temas etmişler. Fakat bu bizde, aletin işin en önemli parçası olduğu şeklinde bir yanılsama yaratmasın. Peki, işin en önemli kısmı nedir öyleyse? Bu soruya yanıt vermeden önce sürece biraz yakından bakmakta fayda var. Gerçekte birbirine benzeyen büyük şirket yada kurumlarda (yazının devamında ikisi içinde büyük org