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

Yabancı Sözcüklerin Dilimize Aktarımı

realist

IRC'de, forumlarda ya da günlük konuşmalarımızda iş gereği, haddinden fazla yabancı sözcük kullanıyoruz. Kurallara uygunluğundan vazgeçtim, galat-ı meşhura razıyken aramızda bütünlük oluşturmayı dahi başaramadığımızı görüyorum.

Bir programlama dilini bilme ölçüsü nedir ?

anonim

LKD listelerinde bir süredir devam etmekte olan bir konu başlığı bu.

Tartışmanın bir yerinde bir arkadaş "Bir programlama dilini bilmek için hiç bir başvuru kaynağı kullanmaksızın program yazılabilmeli " dedi.

Bunun üzerine eski FM'cilerden, Uludag projesi COMAR projesi baş programcısı Serdar Köylü yeni başlayanlar için kılavuz olabilecek nitelikte, makale tadında bir yanıt gönderdi.

Ben de listelerde yazılan herşeyin gayet GPL olduğunu düşünerek kendisine sormadan buraya haber olarak geçiyorum :)

C Programlama Dilinin Evrimi

sametc

Aşağıdaki yazı benim çok ilgimi çekti paylaşmak isterim sanırım herkes benim gibi bu dilin nasıl ortaya çıktığını merak etmiştir.

C'nin tarihini tartışmaya UNIX'ten bahsedilmeden başlanamaz çünkü işletim sistemi ve sistem üzerinde çalışan programların bir çoğu C'de yazılmıştır.

Yazılımbilim - 1. Bölüm

malkocoglu

Teorik yazılımbilim, günümüzdeki bilgisayarların soyut temelini oluştuyor. Bu alanda isimleri tanıdık gelen Turing, Church gibi kimseler olduğu gibi, diğer alanlardan bilim adamları mevcuttur, mesela Kurt Gödel. Tarihçesi belki de ünlü matematikçi Hilbert'in 1900 yılında bir beyan ettiği "açık problemler"'den 10'cusuna kadar giden yazılımbilim, bir problemin çözülebilirliğini ispat etmek için algoritmanın ne olduğundan başlayarak, bazı algoritmaların çözülemeyeceğini bulmak ile devam etti, ve nihai olarak günümuz donanımının altyapısını hazırlayarak önemli bir alan olarak kendini ispat etti.

Google Hikayesi / Çağımızın En Yeni İş, Medya ve Teknoloji Başarısı

darkhunter

Orjinal adı Google Story olan ve Koridor Yayıncılık tarafından yayınlanan kitabın (çeviri: Gökçe Köse) yazarları David A. Vise ve Mark Malseed.

Kitabın içeriği ise şöyle :