Nitel uslamlama bilgisayarların daha iyi denklem çözebilmeleri, hakkında
eksik bilgiye sahip olduğumuz yani bütün katsayılarının değerlerini, bütün
fonksiyonlarının kesin biçimlerini bilmediğimiz, hakkında sadece kabaca
bilgiye sahip olduğumuz denklemleri çözmek için insanların bazen
kullandığı "kısa yolları" kullanarak mevcut matematik denklem çözücü
programlardan daha iyi bir şekilde çözüm yapmalarına elverecek algoritmaların
geliştirilmesi ile ilgili bir şey. Ben bu konunun daha çok teorik yönleri
ile ilgilendim yani bu konuda geliştirilmiş birkaç önemli yaklaşım, birkaç
algoritma vardı, ben onları matematiksel olarak inceleyerek çeşitli
eksikliklerini buldum. Son olarak da Levent Akın arkadaşımızla birlikte
onlardan bir tanesinin epey temel yani hiçbir şekilde giderilemeyecek
bir eksikliğini tespit ettik; matematiksel deyimi ile bir tür "eksiklik
teoremi" ispatladık bu konu ile ilgili.
Türkçe doğal dil işleme konusuna gelince, bizim bilgisayar mühendisliği
bölümünde uzunca bir süredir bu konu ile ilgili çalışmalar yapılıyor.
Türkiye´de bu konudaki araştırmaları başlatan ilk bölümlerden biri.
YZnin bu alanında yaptıklarımı özetlemem gerekirse: ALİ (Aritmetik Lisan
İşleyici) diye bir program geliştirdim, Türkçe yazılmış aritmetik problemlerinin
çözümlerini hesaplayıp cevabı da yine Türkçe olarak veren yani aritmetik
açısından değil ama Türkçe dil işleme açısından bir katkı yaptık. Daha
sonra bazı yüksek lisans öğrencilerimle birlikte TOY (Türkçe Okur Yazar)
adını verdiğimiz, yine bilgisayarın insanla olabildiğince az kısıtlı bir
Türkçe alt kümesi kullanarak doğal dilde iletişim kurabilmesine, sorular
sorup sorulan soruları cevaplayabilmesine elveren bir altyapı geliştirdik.
Bu doğrultuda sistemler geliştirmeye ve daha iyi performans
sağlamaya yönelik çalışmalarımız devam ediyor, bunlar birbirlerini takip
ederek, zincirlenerek bir bütün teşkil etmeye başladı.
Son olarak da birkaç aydan beri Türkçe ile ilgili olarak, cep
telefonları üzerinden gönderilen kısa mesajlardaki sık rastlanan Türkçe
hatalarını anlayıp - servis operatörleri kısa mesajları bilgisayar programları
aracılığı ile işliyorlar, burada bir sorun olunca iş uzayabiliyor, hata mesajları
gidiyor falan - bunları istatistiksel yöntemlerle tespti edip servis operatörünün
bu hata giderme sürecini otomatik olarak ve çok daha kısa sürede çözmesine
yardımcı olacak bir istatistiksel doğal işleme yaklaşımı çalışması
gerçekleştiriyoruz.
FZ: Doğal Dil İşleme konusunda dünyada ve Türkiye´deki çalışmalardan
kıyaslamalı olarak bahsedebilir misiniz, hangi noktadan başlandı ve
nereye varıldı? Hangi başarılar elde edildi?
CS: YZnin ilk çıkışı ile birlikte insanların ilk aklına gelen doğal dili
insanlar kadar iyi kullanabilen bilgisayarlar üretebilmekti. Bu hedef
olacak bir şeye benziyordu ilk zamanlarda çünkü tam o dönemlerde Noam
Chomsky´nin meşhur gramer kuramı piyasaya çıkmış. Yani ilk bakışta,
dilin kuralları bilgisayar bir program gibi yazılıp ondan sonra da
bilgisayarın bülbül gibi şakıyacağı var sayılıyor falan... fakat bu
çok derin bir konu, bunun bu kadar kolay olmadığı kısa zamanda anlaşılıyor.
Vaktiyle, herhalde o sırada ABD´nin hükümet kaynaklarından araştırma fonu
alabilmek için en iyi yollardan biri Rusça - İngilizce otomatik çeviri
yapmak olduğu için o konuda çok fazla iddialı birtakım projeler ABD
hükümet kurumlarına sunuluyor, onlar fonları veriyorlar, aradan bir süre
geçtikten sonra bir arpa boyu bile yol alınmadığı anlaşılıyor o yüzden
özellikle makine çevirisi alanında çok olumsuz bir raporun da yayınlamasının
ardından epey bir süre fonlar bir hayli azalıyor; ilk başta sanıldığı kadar
bilgisayara doğal dili bütün zenginliğiyle, bütün esnekliğiyle yani gerçek
hayatta insanların arasında geçen bütün cümlelerin anlaşılabileceği
şekilde öğretmenin öyle de kolay bir şey olmadığı anlaşılıyor.
Yukarıdaki sebeplerden ötürü bu kesin formel yaklaşımlarım muhakkak
başka yaklaşımlarla desteklenmesi gerekiyor, sözgelimi istatistiğin,
örüntü tanımanın, insanlar kendi kafalarının içinde bu işi nasıl yapıyorlarsa
işte o yöntemlerin devereye girmesi gerektiği anlaşılıyor. Halen de çok
değişik açılardan bu konu işlenmeye devam ediyor. Şu anda senin benim gibi
doğal dil kullanabilen bir bilgisayar meydanda yok. Muhakkak senin de bildiğin
gibi konular kısıtlanıyor, mesela sadece hava raporları konusunda konuşan bir
bilgisayar, sadece belli bir konuda denilen cümleleri anlayağı var sayılan
bir bilgisayar ya da bizim ALİ örneğinde yaptığımız gibi üç beş tane
belli sözdizimi örüntüsüne (syntax pattern) cümleler için doğru dürüst
çalışan ötekilerde hiçbir şey yapamayan, bu şekilde dil kısıtlı programlar,
mevcut durum bu.
Türkiye´deki çalışmaların tarihçesine gelince sanırım Hacettepe
Üniversitesi´nde, 1970´li yıllarda bir doktora tezi yapılıyor Türkçenin
morfolojisi ile ilgili ve böylece ilk temel atılıyor ama benim bir araştırmacı
yaşına geldiğim zamanlarda bu iş paralel olarak Bilkent Üniversitesi´nde
bilgisayarlı dilbilimden çok iyi anlayan Kemal Oflazer, Orta Doğu Teknik
Üniversitesi´nde Cem Bozşahin ve bizim bölümde de Türkçenin morfolojisi ile
ilgilenen Selahattin Kuru, Tunga Güngör ve Levent Akın öncülüğünde başlıyor.
Yani bu ekip 1990´ların hemen başında Türkçe dil işleme konusunu canlandırdı.
Şu anda da yine başka üniversitelerimizde de çalışmalar olmakla beraber
esasen yine Sabancı Üniversitesi´nde çalışmalarına devam eden Kemal Oflazer,
ODTÜ´de Cem Bozşahin´le çevresi ve bizde de Tunga Güngör ile ben varız
bildiğim kadarı ile
FZ: YZ ve doğal dil işleme ilgili olarak bir de işin popüler kısmı var;
sözgelimi Loebner yarışması ve bu yarışmada ödül kazanan ALICE, Jabberwocky
gibi yazılımlar, popüler "chatbot"lar, AIML gibi diller, vs. Bunlarla ilgili
görüşleriniz nedir, sizce bunlar birer YZ uygulaması olarak nitelendirilebilir
mi?
CS: Bu Loebner´in yarışması düzgün bir şekilde yani hakikaten insanların
dili anladığı ve hakikaten insanların dili işlediği şekilde bilgisayarları
kurmaksa... Şu anda bunu nasıl yapabileceğimizi bilmiyoruz ama bunun
çok zor olduğunu yani bu sıralarda, önümüzdeki birkaç yıl içinde
pek yapamayacağımızı biliyoruz. Ama Loebner yarışması gibi halihazırda
mevcut en iyi yanıltma performansına sahip bilgisayar programını
ararsanız aslında bu Turing testinin içinde de o sorun var; kazanmak için
yanıltıcı olmak gerekiyor. Yanıltıcı olmak için de, Loebner yarışmasının
şimdiki halinin gösterdiği gibi, en iyi yöntem hakikaten bu işi insanlar
gibi yapıp yapabildiğimiz kadarını yapalım, teorik olarak sağlam, düzgün
bir programımız olsun değil, işte yani insanların yanılma ile ilgili
zayıflıklarını kullanarak, onları psikolojik olarak yönlendirerek,
bir tür göz boyama oyunu yapalım. Yani bizim programımızın içi
hakikaten hiçbir şeye benzemesin yani "anlama" olarak nitelendirebilecek
hiçbir süreç programın içinde olmasın ama büyük bir veritabanından yararlanarak
girilen sorulara çok basit örüntü işleme teknikleri ile en uygun olduğunu
tahmin ettğimiz cevabı doğrudan ekrana göndererek birkaç dakika için
bir illüzyon ortamı yaratalım. İzleyebildiğim kadarı ile bu yarışmayı
kazanan programlar bu nedenle çok eğlendirici oluyorlar ama içlerine
baktığımızda bizim burada verdiğimiz "Natural Language Processing"
dersinde 5 dakikadan fazla vakit harcamamızı gerektiren herhangi bir
şeyle karşılaşmıyoruz. Yani bizim geliştirdiğimiz ama o yarışmaya girse çok
daha düşük puan alacak ama içi tahmin ettiğimiz kadarı ile insanların
beyninin içinde olup biten süreçlere çok daha benzeyen programlarımız var.
YZ ve doğal dil işleme konusunda çalışan araştırmacılar bu sebeplerden ötürü
bu Loebner yarışmasını pek kayda değer bir şey olarak görmüyorlar.
FZ: YZdeki iki ana yaklaşım; yani sembolik mantık ile işleme ve dağıtık
paralel işleme, yapay sinir ağları, vs. arasıdaki temel farklar nelerdir?
Hangisini tercih ediyorsunuz ve neden? Biraz bunlardan bahsedebilir miyiz?
CS: Bunlar arasındaki temel farklar; sembolik işlemenin, 1950´lerde bu YZ
işleri yeni yeni başlarken bilinen bilgisayar mimarisine daha uygun olması
yani 1950 model bir bilgisayar mühendisinin aklına ilk gelecek YZ yöntemi
olması; dağıtık paralel işlemenin ise hem 1950´lerde hem de aslında şimdi
yani masalarımızın üzerindeki bilgisayarların mimarisine benzemeyen ama
insanların kafalarının içindeki mimariye çok benzeyen bir yöntem olması.
Öyle görünüyor ki, insanlar, kafalarının içinde çok sayıda küçük, birbirlerine
bağlı ve bireysel olarak zayıf işlemci bulunduruyorlar ama o işlemcilerin
birlikte çalışmasından daha üst seviyede sanki tek bir işlemciymiş izlenimini
veren bir - teknik terimi ile - sanal makine üretiyorlar. O yüzden, sembolik
yaklaşıma göre yazılmış bir program, insanın daha yüksek diyebileceğimiz
bilişsel işlevlerini, mesela satranç oynama, daha iyi karşılıyor. Öte yandan
daha "alt seviyeli" işleri de mesela görüntü tanıma, bu dağıtık çok sayıda
işlemcinin birbirlerine bağlanması mimarisiyle gerçekleştirilebilecek programlar
karşılıyor. İnsan kafasının içinde bunun ikisi de var. Yani bir tane büyük
işlemci yok ama o milyonlarca küçük işlemcinin oluşturduğu bir adet büyük
sanal işlemci var ve sembolik yapay zekâ ile iyi olur dediğimiz işleri insanlar
o sanal büyük işlemci ile yapıyorlar.
Bunlardan hangisini tercih ettiğime gelince, tabii ki bunlardan ikisini de
tercih ederim. Eğitimimiz nedeniyle ki şu anda tüm dünyadaki bilgisayar
eğitimi böyle, tek işlemcili yapıyı öğrenciler daha önce öğreniyorlar, çok
işlemcili yapı ise çok daha sonra, yaşları ilerlemişken, yeniden öğrenmeleri
gereken yeni bir şey olarak karşılarına çıkıyor. O yüzden çok işlemcili yapı,
kafa karıştırıcı, garip bir yenilik gibi geliyor insanlara. Oysa öyle değil,
anlattığım gibi ikisinin birden eğitimin ilk başından itibaren birleşik
bir perspektif içinde anlatılması gerek. O zaman da hakikaten şimdiki
YZ topluluğunda özellikle yaşlı araştırmacılar arasında olduğu gibi
"ben sembolcüyüm, nöron tanımam" veya "nöron mu, o da ne?" gibi yapay (!)
ayrımlar çıkmaz ileride.
FZ: Araştırmalarınızda, somut projelerinizde kullandığınız yazılım araçları,
programlama dilleri nelerdir? Neden bunları tercih ediyorsunuz?
Kendi adıma en baştan beri YZ ile ilgili işlerde Prolog dilini
kullanıyorum. Neden Prolog da başka bir şey değil? Çünkü az önce de
belirttiğim ayrımın - neyse ki anlamlı olarak - sembol tarafındayım, yani
hem nitel uslamlama hem de benim yaptığım doğal dil işleme problemleri
sembolik yaklaşımla daha kolay bir şekilde modellenebilip çözülebiliyor.
Ancak tabii doğal dil işleme, özellikle tam ölçekli doğal dil işleme için
doğal dil anlama bilgisayarı yapılacaksa bunun sadece sembolik yaklaşımla
olmayacağı artık yavaş yavaş anlaşılıyor ama dediğim gibi ben de resmin
hepsi üzerinde çalışmadım şimdiye kadar. Şu ana kadarki çalışmalarımda da
bu yüzden de Prolog kullandım ve zamanın en iyi Prolog sistemi hangisi ise
onu kullandım.
Ancak bu konuşmayı okuyan arkadaşlar yanılmasınlar, ne kadar çok şey
bilirlerse, alet çantalarında ne kadar çok aletleri olursa bu onlar
adına o kadar iyi bir şey olur.
FZ: Biraz da teknoloji ve felsefe arakesitine bakalım. Bilgisayarlar ve bilinç...
Tartışılan bir konu, ne kadar anlamlı? Bilinç sizce bizim uydurduğumuz bir
yapay bir kavram mı? Sizce her şey mekanik hale getirilebilir mi? Sizce
nasıl bir çerçeve içinde YZ çalışmaları sürdürülmeli?
CS: Bilinç... var olan bir şey. Yani bilincin var olmadığını söyleyemem
herhalde çünkü ne kast ettiğini, birisi bilinç dendiğinde herkes üç aşağı
beş yukarı anlıyor. Ama "böyle bir şey var" demek bilimadamlarına yakışan
bir şey değil, bunu söyleyip orada durmak yani. Bu "şey"in, bu olgunun
nasıl olduğunu, fiziksel açıklamasını bulmamız gerekiyor bütün detayıyla.
Bildiğim kadarıyla binlerce yıl boyunca insanların kafasını çok kötü bir
şekilde karıştıran ve doğru dürüt bir çözüm bulamadıkları bu konuya, bilgisayarlar
icad edileli beri artık insan beyninin içinde bilinci oluşturan sürece ve
yapıya çok benzeyen ve kendi yaptığımız fiziksel bir makina bulunduğu için
çok manalı cevaplar verilebilir hale geldi. Yani, çok basitçe söylemek
gerekirse ki belki de bu kadar basitçe söylememek gerekir, benim bu konuyu
özetleme tarzım insan beyninin temelde bir bilgisayar olduğu ve de bizim
bilinç dediğimiz, algı dediğimiz, duygu dediğimiz bilişsel süreçlerin herbiri
için ne diyorsak bunların hepsinin bu bilgisayarın çalışması nedeni ile
ortaya çıkan süreç ve olgular olduğu yolunda. Bunu demek için iyi nedenlerim
var ama kısaca söylemek için lafı çünkü diye uzatmıyorum, istersen "çünkü"süne
de geçebiliriz...
FZ: İngiliz matematikçi ve fizikçi Sir Roger Penrose´un da bilinç, YZ, vs. üzerine
yazdığı kitaplarda kuantum mekaniğine, kuantum bilgi işleme, beyindeki
mikrotübüllerdeki kuantum seviyesindeki etkileşimlere dair görüşler mevcuttu.
Son yıllardaki kuantum bilgiişlem teorisi ışığında bu konuda neler düşünüyorsunuz?
CS: Kuantum bilgiişlem YZ ile doğrudan ilgili değil, daha çok sıralama problemi,
verilen büyük bir tamsayıyı çarpanlarına ayırma gibi normalde bilgisayar
mühendisliğinde YZ kapsamı altında değil başka -çok daha sıradan işler-
kapsamında algılanan problemleri daha hızlı çözmek için odaklanmış bir
yöntem ancak gerçekten de Penrose, insan beyninde kuantum fiziğine has
yani klasik Newton fiziğine açıklanamayacak birtakım süreçlerin bilinç
gibi olgulara sebep olduğunu iddia ediyor. Kitaplarından anladığım kadarı ile
hem insan beyninde bu klasik fizik değil de kuantum fiziğine özgü işlerin
hakikaten olup olmadığı, hem de eğer oluyorsa bunun gerçekten bilinçle
ilgili bir açıklama yapmak için elzem olup olmadığı bir tartışma konusu.
Tabii o incelemeyi yapmadığım için ki bildiğim kadarı ile henüz kimse
de yapmadı, insan beyninde Penrose'un bahsettiği cinsten, safi kuantum
yani klasik fizikle açıklanamayacak şeylerin olup olmadığını bilmiyoruz.
Ama demin fazla detayına girmediğim bilinç açıklaması yani "insanların
kafaları bilgisayardır, başka tüm bilişsel faaliyetleri de bu bilgisayarın
çalışması sonucu ortaya çıkar" diye özetlediğimiz şimdiki yerleşik teori
ekstra bir kuantum özelliğine gereksinim duymadan bu işi anlatıyor. Yani
ben doğrusu şimdiki teorinin bir de kuantum fiziği öğrenmeyi gerektirmeden
mevcut probleme cevap sağladığı kanaatindeyim. Ama tabii işin içinde
vazgeçilmez şekilde bu kuantum özelliklerinin de olduğu ortaya kesin
şekilde çıkarsa mecburen o detayları da öğrenip bunları en iyi şekilde
teoriye eklemek zorunda oluruz.
FZ: Son olarak sizin eklemek istediğiniz bir şeyler var mı hocam?
CS: YZ tabii çok çekici bir isim. Araştırma yapmak isteyen gençler ya da
herhangi bir nedenden ötürü hem zekâyı, hem bilinci hem de bilgisayarları
daha iyi öğrenmek isteyen insanların hemen ilgisini çeken bir terim. Şu ana
kadar genelde bütün mühendislik projelerinde olduğu gibi başlarda oldukça
nereye gideceğimizi bilemeden, yanlışlar yaparak, hatalardan öğrenerek,
işte yaklaşık bu alanın 50-55 yıllık geçmişinde çok enteresan gelişmeler
oldu ve halen de olmaya devam ediyor. Yani deminden beri dediğim, "bu işin
şöyle olduğu anlaşıldı", "bu iş bence böyledir" gibi eğer kesin bir şeyler
söylediysem, bilimin temel prensipleri çerçevesinde onlarda da yarın aniden
onun öyle olmadığını gösteren bir gelişme olabilir ama zaten dediğim gibi
bu bilimin cilvesidir. Bütün bunları göz önünde bulundurduğumuzda genç
araştırmacılara YZ alanını tavsiye ederim.
FZ: Röportaj için teşekkürler.
CS: Ben teşekkür ederim.
Not: Metnin orjinali http://ileriseviye.org/arasayfa.php?inode=CemSayInterview.html adresindedir.
Boğaziçi Üniversitesi Bilgisayar Mühendisliği öğretim görevlilerinden Dr. Cem Say ile bilgisayar dünyasının popüler ve bir o kadar da zorlu konuları olan yapay zekâ, doğal dil işleme ve kuantum bilgi işlem üzerine söyleştik.
FZ: Hocam, yapay zekânın hangi alanlarında, ne kadar süredir çalışıyorsunuz?
CS: Doktora zamanından beri yapay zekâ (YZ) ile ilgileniyorum. Doktora konum, İngilizcesi "Qualitative Reasoning" olan ve "Nitel Uslamlama" olarak Türkçeye çevirebileceğimiz konu idi, ne olduğunu birazdan açıklayacağım. Demek ki, işte 1980'lerin sonlarından bu yana YZ ile ilgileniyormuşum. Ayrıca yukarıda bahsi geçen konuya ek olarak Doğal Dil İşleme özellikle Türkçe dil işleme ile bir süredir ilgileniyorum. YZ konusunda ilgilendiğim temel iki alan bu ikisi.
FZ: Hocam, yapay zekânın hangi alanlarında, ne kadar süredir çalışıyorsunuz?
CS: Doktora zamanından beri yapay zekâ (YZ) ile ilgileniyorum. Doktora konum, İngilizcesi "Qualitative Reasoning" olan ve "Nitel Uslamlama" olarak Türkçeye çevirebileceğimiz konu idi, ne olduğunu birazdan açıklayacağım. Demek ki, işte 1980'lerin sonlarından bu yana YZ ile ilgileniyormuşum. Ayrıca yukarıda bahsi geçen konuya ek olarak Doğal Dil İşleme özellikle Türkçe dil işleme ile bir süredir ilgileniyorum. YZ konusunda ilgilendiğim temel iki alan bu ikisi.