Büyük Veri, Veri Bilimi ve Ontoloji
Bu yazıda büyük veri ve işlenmesi için temel unsur haline gelen veri bilimcinin temel uğraş alanına ilişkin kendi fikirlerimi paylaşacağım. Okuyucu büyük verinin geçmişi, bugünü ve geleceğine ilişkin genel bir bilgi edinecek, konunun temel bileşenleri ve aralarındaki ilişkileri verilen referanslarla birlikte zenginleştirme ve kendi yorumunu oluşturma fırsatı bulacaktır. Konu hakkında bilgi ve tecrübesi olan kişiler için de farklı bir görüş alma fırsatı sunulmaktadır.
Büyük Veri Kavramı
1960 lı yıllardan itibaren gelişme evresinde olan veri analizi ve entegrasyonu çalışmalarının bir bütün olarak değerlendirilmesi ile Veri Bilimcisi (ing. Data Scientist) [1] teriminin 1996 yılında ortaya çıkmasını ilişkilendirebiliriz [2, 7]. O yıllar, büyük miktarda verinin toplandığı ilişkisel veri tabanlarında önceden fark edilemeyen bilginin keşfedilmeyi beklediği yıllar olarak da hatırlanır [3] .
Büyük verinin anlamlandırılması ve bilgiye dönüştürülme süreci, önceki bilimsel ve teknolojik birikimlerin üzerine yeni yapılan çalışmaların ve ortaya konan yeni problemlerin eklenmesi, Hadoop [6] gibi dağıtık işleme yapan ve kolayca erişilebilen açık kaynak kodlu bir yazılımın ortaya konması ile farklı bir aşamaya geldi. Daha önce başa çıkılabilenden çok daha fazla veri ile başa çıkmak, dolayısı ile iş dünyasına, araştırmalara yön verecek kararlar alacak bilgiler elde etmek mümkün hale geldi.
Büyük verinin grid hesaplama (ing. Grid Computing) yöntemleri ile işlenmesinin en az yirmi yıllık bir geçmişi olmasına rağmen, uygulandığı problem ve uygulayan kurum ve şirketlerin sayısı yıllar içinde sınırlı kaldı. Bu sınırlamada verinin her işlem öncesi ağ (ing. Network) üzerinde ilgili makineye taşınmasının problemler çıkarması ve çözümün bir türlü istenen şekilde gelmemesinin etkili olduğu söylenebilir. Yeni fikir, verinin merkezi silolarda tutulup onu işleyecek griddeki makinelere taşınması yerine, doğrudan en başta verinin gridi oluşturan makinelere dağıtılması, çalışacak prosedürün verinin olduğu makineye yollanması şeklinde ortaya çıktı. Bunu ilk çözen Google şirketi oldu ve problemi nasıl çözdüğünü 2003 yılından itibaren yayınladığı üç makale ile dünyaya duyurdu [16, 17, 18]. Böyle bir sistemin temel bileşenlerini anlatan bu makaleler, özel bir dağıtık dosyalama sistemi ( ing. Google File System -GFS), Dağıtık tablo yapısı (ing. BigTable ) ve bu dağıtık yapıda işleme yapacak bir algoritma (ing. MapReduce) dan oluşmaktaydı.
Daha sonraki süreçte bu makalelere dayanarak yapılan çalışmalar sonucu Hadoop doğdu. Tabii bu süreçte verinin birçok makineye dağıtılarak dağıtık işlenmesinin mümkün hala getirilmesi, aynı verinin anlamlandırılması ve sonuç çıkarımında da çok yol alındığı anlamı çıkarılmamalı [8]. Bu problemin henüz tam anlamı ile çözülememesinin sebeplerini aşağıda detaylandıracağız, fakat öncelikle bu sürecin sahibi olarak isimlendirilen Veri Bilimci ve neden bu ismin ön plana çıktığı üzerinde durmakta fayda var.
Veri Bilimci ve Ontoloji Kavramı
Science yani bilim nedir? Latince scientia kelimesi yani bilgiden geldiği söylenir. Evren hakkında test edilebilir açıklamalara ve tahminlere dayandırılmış bilgiyi, organize eden, sınıflandıran disiplin olarak tanımlamak mümkündür [5]. Tabii bu işle meşgul olan kişiye de bilimci diyoruz. Bilimsel çalışmalar gözleme dayanır ve bu veri (ing. Data) toplamak ile eşdeğerdir. Toplanan verilerin daha önce çözülmemiş bir problemi çözmek için belli bir sistematiğe dayanarak incelenmesi bilimsel, daha önce çözülmüş bir problemin farklı bir alanda yada ölçekte uygulanması ise genellikle mühendislik olarak görülebilir. Bu açıdan bakıldığında bilim insanı çözülmüş problemlerle uğraşmaz, yani gözlem zaten bilinen bir gerçeği, örüntüyü ortaya çıkarmak için yapılıyorsa mühendislik alanına geçilmiş olur. Verinin mühendisliği ile bilimi arasında ki bu fark nereden kaynaklanıyor? Bu konuda birçok yazı var ve henüz üzerinde uzlaşılan genel net bir tanım olduğunu söylemek güç [19, 20].
Konu üzerinde kendi görüşümüzü geliştirmek için, Türkiye’de yazılım dünyasında akademik çalışma yapanlar dışında pek ilgi görmediğini düşündüğümüz farklı bir disiplinden bahsetmek zorunluluğu hissediyoruz. Felsefenin bir kolu olan ve metafizik olarak adlandırılan bir çalışma alanının içinde yer alan Ontoloji [9] nin “Varlık nedir? Varoluş nedir? Bir nesnenin özellikleri veya ilişkileri nedir? Var oluş bir özellik midir? Bir nesne nasıl değişir, nasıl yok olur?” gibi sorulara cevap ararken kullandığı bilimsel birikimden yararlanmak gerekiyor. Peki büyük veriyi incelerken yazılım dünyası ontolojiden nasıl faydalanabiliyor?
Büyük veri içindeki bilgiye dönüştürme sürecinin en önemli aşamalarından olan nesneleri tespit etmek ve bu nesneler ve aralarındaki ilişkilerin gösterim yapısına karar verme sürecinde, bilgi mühendisi (ing. Knowledge Engineer) [13], ontoloji biliminin de katkısı ile geliştirilmiş dilleri kullanır. Bilgi Tabanlı Sistemler (Knowledge-Based Systems) kurmak için bu kaçınılmazdır [14]. Bilimsel bir problem çözme yöntemi uygulanmadığı durumda, ontolojik [12] açıdan incelenme süreci yerine her zaman tekrar tekrar aynı analiz ve çözümleme çabalarına girişmek, ciddi zaman ve emek kaybı anlamına gelmektedir. Daha da önemlisi çözülen problem her defasında yeniden çözülmek durumundadır. Bu çalışmalar sırasında alana bağlı olarak değişik bilim dallarından insanlar işbirliği içinde olabilirler. Örneğin, fiziksel nesneler ile ilgili bir veriden bahsediyorsak, fizik bilimcisi, okyanus ile ilgili bir veriden bahsediyorsak okyanus bilimcisi, uzay ile ilgili bir veriden bahsediyorsak uzay bilimcisi gibi. Peki, ya eldeki verinin gerçek dünyada doğrudan bir karşılığı yoksa ve sanal dünya dışında var olmayan bir bilgiden söz ediyorsak hangi bilim dalından yardım alınacak? İşte bu noktada veri bilimcisinin devreye girmesi gerekiyor ve veri dünyasında olan nesneler ve ilişkileri konusunda bilgi mühendisi ile birlikte çalışıyor. Tabii, bilgi mühendisi zaten bilgi teknolojileri dünyasından olan bir kişi olduğundan dolayı veri bilimcisi ile bilgi mühendisini çoğu durumda aynı kişide birleştirmek pratik bir sonuç olacaktır. Ontolojik olarak incelenen veri, özellikle alan bilgisinin de olduğu bir ontolojik yapı içerisinde incelendiğinde, tekrarlar algoritmalara aktarılmış olacak, veri bilimcisi daha önce yapılmayana odaklanacaktır [10]. Bu seneki Ontology Summit 2014 ün ana konusu ve vurgusu bu odaklanmayı somut bir şekilde göstermektedir “Big Data and Semantic Web Meet Applied Ontology” [11].
Büyük Veri İle İlgili Yeni Yaklaşımlar
1989 da HTTP (HyperText Transfer Protocol) protokolünü ve HTML (HyperText Markup Language) formatını icad ederek; yazı, resim ve video içeren zengin içerikli dokümanların birbirine bağlanması fikri olan WWW (World Wide Web) nin mucidi ve babası olan Tim Berners-Lee, benzer bir devrimin verilerin birbirine bağlanması ile de gerçekleşeceğine inanıyor [15]. Lee nin Bağlı Veriler (ing. Linked Data) olarak adlandırdığı verilerin birbirine bağlanması ile Semantic Web gerçek olacak ve Web de yer alan verilerin otomatik olarak algoritmalarla işlenebilir bir semantik yapıda olması sağlanabilecek. Her yeni gelen verinin daha ilk saklanma aşamasında aynı insan beyninde olduğu gibi ilişkili olduğu bilgi ile birlikte saklanması bu şekilde çok büyük miktarda bir sonradan işleme (ing. post processing) gereksinim duyulmadan aranan bilginin bulunması ve çıkarım yapılabilmesinin mümkün olması sağlanmış olacak. Yani büyük veride en acılı süreç olan verilerin toplanması ve tasnif edilmesi aşaması Web in kendisinin bu şekilde organize olması ile önceden çözülmüş olacak.
Veri Bilimcisinin Kullandığı Yaklaşımlar
Verinin yapılanması dışında, işlenip bilgiye dönüştürülürken kullanılacak algoritmalar veri bilimcisinin sıklıkla başvurduğu araçlar olmak durumundadır. Bu algoritmalardan en çok kullanılanlar veriyi ele alma tarzına göre iki yaklaşıma dayanmaktadır.
Birinci yaklaşım olarak, gözlenen sistemden elde edilen verinin stokastik yani bir şekilde rastgelelik taşıdığı ve çözüm için verinin modellenmesinin öncelikle bu rastgeleliği modellemekten geçtiği düşüncesi hakimdir ve istatistiki algoritmalara dayanır.
İkinci yaklaşım ise aynı verinin yapısının bilinmez kabul edildiği ve bir veri modeli kurmadan doğrudan uygun algoritma ile sonuç elde etmenin mümkün olduğu düşüncesini savunur ve bilgisayar bilimlerinin bir alt dalı olan makine öğrenmesi içinde ele alınır [4]. Yapay sinir ağları ve karar ağaçları bu yöntemlere örnek olarak verilebilir. İki yaklaşımın da başarılı olduğu alanlar vardır ve bu alanlar iki yaklaşımın da halen kullanılmasının ana nedenidir. İlk yaklaşım ile ilgili adı geçen çalışmada 205.sayfada “.. how the commitment to data modeling has prevented statisticians from entering new scientific and commercial fields where the data being gathered is not suitable for analysis by data models.” denerek istatistikçilerin sadece modellemeye uygun veriler üzerinde yoğunlaşarak yapısal olmayan verilerin bir anlamda ihmal edildiğine dikkat çekilmektedir.
Son olarak, bilgiye ulaşmak dışında bunun kullanılabilirliği de günümüzün en önemli konularından biridir. Ayrı bir uzmanlık alanı olarak da görenler vardır. Özellikle bellekte analitik çözümleme (ing. in-memory analytics ) ve bunun görsel bir şekilde karar vericilere sunulması büyük veri ile birlikte üretilen çözümün bir parçası haline gelmiştir. Büyük analitik çözüm firmaları geçtiğimiz yıl ve bu yıl yaptıkları çalışmalarda tamamen bu konuya odaklanmış görünmekteler.
Özetle;
Veri bilimci, bilimsel yöntemler kullanarak büyük veriyi
- analiz ederek gösterimi için en uygun yapıya karar verir ve tasniflemesini yapar,
- dağıtık bir şekilde otomatik olarak işleyecek mimari konusunda uzmanlığını ortaya koyar,
- kullanımına ilişkin temel kural ve çıkarım mekanizmasını ortaya koyar,
- faydalanma yöntemlerini de ortaya çıkarır ve sunar.
Kaynaklar;
[1] http://devveri.com/big-data/data-scientist-veri-bilimci-kimdir
[2] http://www.forbes.com/sites/gilpress/2013/05/28/a-very-short-history-of-data-science
[3] From Data Mining to Knowledge Discovery in Databases, Usama Fayyad, Gregory Piatetsky-Shapiro, and Padhraic Smyth, AI Magazine Volume 17 Number 3 1996
[4] 2001 Leo Breiman, “Statistical Modeling: The Two Cultures”, Statistical Science, , Vol. 16, No. 3, 199–231, 2001
[5] http://en.wikipedia.org/wiki/Science
[6] http://hadoop.apache.org/
[7] What is Data Science ? Fundamental Concepts and a Heuristic Example, Proceedings of the Fifth Conference of the International Federation of Classification Societies (IFCS-96), Kobe, Japan, March 27–30, 1996
[8] http://breakinggov.com/2012/04/23/big-data-systems-need-data-science-and-knowledge-bases/
[9] http://www.cangungen.com/2011/03/10/ontoloji-varlik-felsefesi/
[10] http://vitalflux.com/key-to-big-data-data-science-data-framework/
[11] http://ontolog.cim3.net/OntologySummit/2014
[12] Yazılım Mühendisliğinde Ontolojilerin Kullanımı, Görkem Giray, Murat Osman Ünalır
[13] http://en.wikipedia.org/wiki/Knowledge_engineering
[14] International Conference on Knowledge Engineering and Ontology Development, 21-24 October 2014
[15] http://www.ted.com/talks/tim_berners_lee_on_the_next_web
[16] http://research.google.com/archive/gfs.html
[17] http://research.google.com/archive/mapreduce.html
[18] http://research.google.com/archive/bigtable.html
[19] http://www.datasciencecentral.com/profiles/blogs/data-scientists-vs-data-engineers
[20] http://www.datasciencecentral.com/profiles/blogs/data-scientist-versus-data-engineer
[21] http://www.visual-analytics.eu/faq/
Hive ile HBase Entegrasyonu Malaysia Airlines Flight 370