Programming Collective Intelligence for Smart Web 2.0 Yazarı ile Bir Röportaj

0
FZ
Toby Segaran ile Bir Röportaj
Bruce Stewart
11/14/2007

Toby Segaran, O'Reilly'nin kısa süre önce çıkardığı Programming Collective Intelligence kitabının yazarıdır. Bu yeni kitabında Toby bizi makina öğrenme ve istatistik dünyasında bir gezintiye çıkarıyor ve kullanıcı verisinin yani "kolektif zekâ"nın oluşturduğu verinin üzerinden veri madenciliği yapmaktan yola çıkıp kullanıcı deneyimi, pazarlama, kişisel zevkler ve insan davranışı hakkında sonuçlara nasıl ulaşabileceğimizi gösteriyor.
Programming Collective Intelligence tamamen pratik bir kitap olup Internet üzerindeki insanların oluşturduğu muazzam miktardaki veriyi işleyen web uygulamalarının nasıl geliştirilebileceğini pratik örneklerle açıklıyor. Toby ile yeni kitabı hakkında konuştuk ve bu makina öğrenme tekniklerinin Web 2.0 dönemindeki önemini tartıştık.

O'Reilly: Tim O'Reilly, "Collective Intelligence" için "Web 2.0 uygulamaları geliştirmek için ilk pratik rehber" tanımlamasını kullanıyor. Siz bunu yazarken gerçekten de niyetiniz bu muydu? Sizin kitabınız Web 2.0 ile ilgiliolarak programcılara hangi araçları ve teknikleri sunuyor?

Segaran: Kitabın orjinal fikri insanlara makina öğrenme alanındaki fikirleri pratik olarak öğretmek idi. Genellikle makina öğrenme ile ilgili kitaplar bir hayli teoriktir ve pek çok insanın gerçek hayatla ilişkilendirmekte zorlandığı örnekler kullanırlar. Birkaç kişi ile bu fikrim üzerine konuştuktan sonra gördüm ki makina öğrenme algoritmalarını anlatmak için kullanılacak en güzel veri türü hali hazırda web üzerinde insanların oluşturduğu veri. Bu yüzden de kitaptaki örnekleri Internet uygulamalarının topladığı türden verilerle gerçekleştirmeye karar verdim. O'Reilly ile konuşup kitap fikrini onlara da açtığımda Web 2.0 ile bağlantılı bir şeyler yapma fikri hoşlarına gitti, böylece insanlara yeni teknikler öğretmek ve aynı anda da onları "makina öğrenme" terimi ile korkutmamak mümkün olabilecekti.

O'Reilly: Bu konularla ilgili epey teorik ve pek az pratik, hemen uygulanabilir bilgi var. Kolektif zekâ ile ilgili bir kitap yazarken karşılaştığın en büyük zorluklar nelerdi?

Segaran: En büyük zorluk insanların kavrayabilecekleri ve kendilerinin de elde edebilecekleri veri kümeleri bulmaktı. Kendi uygulamasını geliştiren biri kendi verisini toplayabilir ama kitabı okuyacak olanlar bir şekilde bir yerden o veriye ulaşabilmeliler. Arkadaşlarımla bu konu hakkında epey fikir alışverişinde bulundum ve onların kullandıkları sosyal web sitelerini, açık APIleri ve gerçekten hoşa gidebilecek çarpıcı örnekleri inceledim.

Diğer bir zorluk da tabii ki okurun denklemler ve matematikle çok da ilgilenmediği var sayımı ile algoritmaları açıklayabilmek idi. Teorik kitaplardan algoritmaları ve denklemleri alıp bunu sadece sözcükler ve resimlerle anlatmak için epey uğraştım diyebilirim.

O'Reilly: Biraz geriye çekilip bakalım. Acaba "Web 2.0" ve "kolektif zekâ" terimlerini nasıl tanımlarsın? Sence kolektif zekâ Web 2.0 ile ilgili teknolojilerde anahtar rolünde mi?

Segaran: Wow, açıkçası "Web 2.0 tanımı" tartışmasına katılmaktan korkuyorum. Sadece şunu diyebiliri ki Web 2.0'ın kullanıcı tarafından üretilen veri ile alakalı olduğu artık genel kabul görmüş halde. Bu verilerin bir araya getirilmesi yani kolektif zekâ mutlaka Web 2.0'ın da tanımında yer alıyor.

O'Reilly: Amazon.com uzunca bir süre kolektif zekâdan en iyi faydalanan lider şirket olarak kabul edilirdi. Ürün tavsiye mekanizmaları bu övgülerden en çok payı hak eden sistem olsa gerek. Sence Amazon bu alanda günümüzde nasıl, kolektif zekâ bakımından hala en iyi teknolojiyi kullanıyor mu ve lider mi?

Segaran: Amazon'un iç işleyişini bilmiyorum ama ancak bu ölçekte bir ürün tavsiye sistemi kurmuş olmaları gerçekten de takdir edilesi bir durum. Geliştirdikleri tavsiye sisteminin kalitesi yaptıkları satışlar ile ödüllendiriliyor.

O'Reilly: Bize bu anlattığın teknikleri günümüzde kullanan birkaç favori örneğini sıralayabilir misin?

Segaran: En başarılı örnekler arasında tabii ki Amazon ve Netflix'in tavsiye algoritmalarının yanı sıra Google'ın PageRank algoritması var. Ancak bu aralar benim çok daha ilginç bulduğum şey özelleşmiş problemler için bu tür algoritmaları kullanmaya başlayan küçük şirketler, mesela Collective Intellect firması finansal analiz için mesaj panolarından ve bloglardan veri çekip bunlar üzerinden veri madenciliği yapıyor. Bir başka güzel örnek ise Metaweb, bu şirket de kolektif zekânın gücünden nasıl faydalanılabileceğine dair pek çok seçenek sunuyor.

O'Reilly: Metaweb'ı bilmeyenler için ne yaptıklarını ve seni neden heyecanlandırdıklarını biraz anlatabilir misin?

Segaran: Metaweb, web için bir tür semantik veri deposu oluşturuyor ve bu sayede insanlar kolektif olarak şeyler ve o şeyler arasındaki ilişkileri gösteren çizgeler (graflar) inşa edebiliyorlar. Kısa süre önce Economist dergisinde bununla ilgili bir yazı çıktı. Detay isteyenler oraya başvurabilir.

O'Reilly: Neden Python bu tür işler için özellikle uygun?

Segaran: Python seçtim çünkü:
  • Bilim dünyasında da gittikçe yaygınlaşmaya başladı. Bu da NumPy ve MatPlotLib gibi harika ve başarılı kütüphanelerin geliştirilmesine yol açtı. Ben kitabı yazarken istediğim tüm kriterleri barındıran kütüphaneleri olan başka bir dil aklıma gelmedi.
  • Etkileşimli, yani programcı / okuyucu her bir fonksiyonu yazdıkça neler olup bittiğini o anda deneyebiliyor.
  • Kompakt bir sözdizimine sahip. Kitaba koyduğum kaynak kodun sayfalar dolusu olmasını istemiyordum.
  • Diğer dillere alışkın programcıların okumakta ve takip etmekte güçlük çekmeyecekleri bir dil.
O'Reilly: Kitap okurun Python bildiğini mi var sayıyor yoksa daha önce hiç Python dilini kullanmamış programcılar da faydalanabilir mi?

Segaran: Elimden geldiğince Python bilmeyenlere de hitap etmeye çalıştım. Sanırım belli ölçüde başarılı da oldum. Çeşitli bloglarda kitaptaki kodun Ruby, Lisp ve Java'ya çevrilmiş hallerini görebilirsiniz. Kodun yorum satırları iyi yazılmış ve açıklanmıştır dolayısı ile okur kodu yazıp çalıştırmasa bile neler olup bittiğini anlayabilir.

O'Reilly: Kullanıcı verisi toplarken istediğiniz veriye ek olarak epey bir çöplükle de karşılaşabilirsiniz. Belge ve spam filtreleme ne kadar önemli ve bunu yapmak için en iyi yaklaşımlar nelerdir? Bu konuya başlı başına bir bölüm ayırdığını görüyorum.

Segaran: Pek çok insan size "filtrelemenin" modern dünyadaki en önemli kavramlardan biri olduğunu söylecektir. Onlara katılıyorum. Klişe olduğunu biliyorum ama gerçekten de bilginin aşırı zamanın ise kısıtlı olduğu bir dünyada yaşıyoruz. Günde 500 kadar SPAM e-posta alıyorum ancak posta kutuma bunlardan en fazla bir ya da iki tanesi düşüyor. Dolayısı ile spam filtrelemenin başarılı olduğunu düşünüyorum. Günümüzde henüz başarılamamış olan şey ise Internet'te olan ve benim ilgimi çekebilecek bilgiyi otomatik olarak bulabilmek. Bu problemi halletmeye çalışan sistemler olduğunu biliyorum ve pek çoğunu da denedim ama hiçbirini yeterli bulmadım.

Genel olarak, milyarlarca belge ve veri noktası içinden gerekli bilgiyi bulmak ve işlemek bilgi emekçilerinin hala en çok vakit harcadıkları ve kafa patlattıkları konu. Bu alandaki algoritmaları iyileştirmek bizim verimliliğimizi ve etkinliğimizi çok artıracaktır.

O'Reilly: Okurlardan biri Programming Collective Intelligenc'ı "Web verisini Python aracılığı ile istatistik ve yapay zekâ yöntemleri ile işlemek hakkında bir kitap" olarak tanımlamıştı. Bu tanımlama sence doğru mu?

Segaran: Evet, sanırım doğru diyebilirim. Tabii "web verisi" pek çok farklı anlama gelebilir. Kitaptaki ana tema kullanıcı tarafından üretilen veri: eylemler, davranışlar, belirtilen ya da ima edilen tercihler. Ben insanlara sadece yöntemleri öğreten değil aynı zamanda kendi projelerinde kullanabilecekleri yeni yöntemler ve özellikler için de ilham verecek bir kitap yazmaya çalıştım.

Bruce Stewart serbest çalışan bir teknoloji yazarı ve editörüdür.

Çeviren: Emre Sevinç

Kaynak: http://www.oreillynet.com/pub/a/network/2007/11/14/an-interview-with-toby-segaran.html

Görüşler

0
FZ
Ne zamandan beri blogumda Programming Collective Intelligence kitabının bir eleştirisini yazmak istiyordum, belki yaptığım bu çeviri vesile olur (çeviri yapmak özgün eleştiri yazmaktan daha kolay tabii :)).

O zamana dek "machine learning" konuları ile ilgilenen herkese bu kitabı tavsiye ediyorum hararetle. Ağırlığınca altın değerinde ve röportajda belirtildiği gibi kesinlikle pratiğe yönelik ancak işin teorisini öğrenmek isteyenler için de gerekli yönlendirmeleri içeriyor.
0
FZ
Bu aralar FM'de "machine learning" ve "data mining" ile pek ilgilenen yok herhalde? ;-)
0
nec
Olmaz olur mu?

Röportaj zevkle okundu. Hemen kitabın pdf'i satın alındı; Android Developer Challenge projemiz için önemli bir kaynak olarak baş köşeye konuldu.

0
FZ
Zevkle okumanıza ve ardından üşenmeyip yorum yazmanıza sevindim. Programming Collective Intelligence gerçekten de çok değerli bir kaynak. Bu aralar ben de o kitaptan faydalanıp "machine learning" ile ilgili küçük bir proje geliştirmeye çalışıyorum.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Bilgisayar Uzmanlığı kitabı çıktı...

anonim

Hepimizin bildiği gibi, üniversitelerin Bilgisayar muhendisliği bölümlerinden mezun olanlar, ihtiyacı karşılayamadığı için, branş dışı pek çok insan bilgisayar mühendislerine ait görevleri üstlenmeye başladılar. Bu arkadaşların bilgileri genellikle belli bir teknoloji uzerine kurulu ve bilgisayar mühendisliği bolumlerinde okutulan temel bilgilerden yoksun durumdalar.

Bilgisayar mühendisliği bölümlerinde okuyan arkadaşlar ise, öğrendikleri teorik bilgilerin çalışma hayatında nasıl kullanılacağı hatta kullanılıp kullanılmayacağı konusunuda yeterli bilgiye sahip değiller.

LINUXnet 4. Sayı Çıktı

anonim

LINUXnet'in 114 sayfalık 4. sayısını, tam sürüm Fedora Core 4 dağıtımı ve LINUXnet Özel CD'sinden oluşan 5 CD'lik özel setiyle beraber bayilerden edinebilirsiniz.

İçerik hakkında daha detaylı bilgiyi www.linuxnet.com.tr adresinden edinebilirsiniz.

Yeni nesil versiyonlama sistemleri - Subversion

anonim

Büyük olsun küçük olsun tüm şirketlerde, şirket içerisindeki dökümanların akışının ve arşivlenmesinin kontrolü için kullanılan bir sistem vardır. Subversion bu sistemlerden biridir.

Bu amaçla kullanılan bilgisayar programlarına en çok yazılım şirketlerinde rastalanmaktadır. Çünkü yazılımcılar gün içinde sürekli kodlarda ufak değişiklikler yapmaktadırlar. Gerektiğinde dosyaları eski tarihteki versiyonlarına geri döndürmektedirler. Bunları yaparken diğer yazılımcıların etkilenmemesi gerekmektedir. İşte bu anda devreye giren bu programlar bir dosya üzerinde farklı kullanıcılar tarafından aynı anda yapılan değişikliklerin birbirini yok etmesini engeller.

Makalenin tamanını http://www.riskturk.com/obje7/yayin_subversion_1.php adresinden okuyabilirsiniz.

Dilbilim ve Linux Buluşması: Morphix-NLP İncelemesi

FZ

DDİ (Doğal Dil İşleme, NLP - Natural Language Processing) yaklaşık son 40 yıldır önemli bir araştırma disiplini olagelmiştir. Dilbilim ve bilgisayar bilimleri yöntemlerini bir araya getiren bu alanda pek çok değişik uygulama ve çözüm bekleyen önemli problemler mevcuttur. Farklı dillerdeki çok büyük metin dosyalarını incelemek, örüntüleri (pattern) keşfetmek, dönüşümleri gerçekleştirmek, metinleri otomatik olarak sınıflandırmak, konuşma sentezlemek ve konuşmayı anlayıp metne dönüştürebilmek, bilgisayarları bizim anadilimizi anlayabilir hale getirmek yani onlara semantik yetiler kazandırmak, vs. DDİ dalındaki önemli meselelerden sadece birkaçıdır.

Java eKitap

anonim

J2EE 1.4 kurumsal Java teknolojilerine işlediğimiz kitabımızın eKitap versiyonu herkesin kullanımına açılmıştır. KJ eKitap JBoss, Spring, ITracker, JmxMonitor gibi açık yazılım ürünleri üzerinden ve konuları hakkında yazıldı. Performans iyileştirmeleri için teknikler, veri tabanlarının kurulumu, şema yönetimi, ilişkisel model tasarımı gibi konular kitapta mevcuttur. Tarif edilen programlama teknikleri bol örnek kodlarla desteklenmektedir.

eKitap'ı üretmek için LATeX ile yazılan kitabın PDF sürümünden Ghostscript ve biraz Perl ile gördüğünüz sayfalar üretilmiştir.