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

Yapay Öğrenim - Bir Özet

anonim

Yapay öğrenim (machine learning) konusunda faydalı olacağını umduğumuz bir makaleyi ekte sunuyoruz. Makalede, yapay öğrenimi karşılaştırmalı olarak tanıtmaya çalıştık. Regresyondan başlayarak, grafik modellere giden bir yelpazede YÖ nedir, matematiksel temeli nelere dayanır, ve hangi uygulamalar için kullanılır sorularının cevabını irdeledik.

GNU/Linux üzerinde LaTeX ile yazılmıştır. Penguenlere duyrulur.

http://www.bilgidata.com/pdfs/ml-tr.pdf

Kitap paylaşmanın eğlenceli yolu..

dasgin

"Amacımız, basit, tüm dünyayı kütüphaneye çevirmek."

"BookCrossing.com size kitaplarınızı dünyayla paylaşmak ve sonsuza kadar izlediği yolu takip edebilmek için basit bir yöntem sunuyor."

Okuduğunuz ve diğer insanlarla paylaşmak istediğiniz kitapları "www.bookcrossing.com" adresinden temin ettiğiniz bir kimlik numarası ile kayıt altına alıyorsunuz. Sonra mı?

Da Vinci Şifresi Deşifre Oldu

malkocoglu_2

Şimdiye kadar bu kitaptaki kadar, "gerçeklere dayandığını" beyan edip gerçeği bu kadar "esneten" az kitap okumuşumdur. Daha başta "açık anahtar şifrelemeyi Da Vinci nin bulduğu" lafı ile uyandım. Google'da "Da Vinci Code mistakes" kelimelerini kullanarak arama yapınca binlerce sonuç geri geldi.

E-bergi Şubat 2009 Sayısı Okuyucularını Selamlar

ilke444

Yeni yıla çok güzel bir başlangıç yapan aylık bilgisayar bilimi ve özgür yazılım derginiz e-bergi, Şubat 2009 sayısıyla da yine çok konuşulacak.

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 :)