|
Doğal Dil İşlemeye Genel Bir Bakış ve Biçimbilimsel Çözümleyiciler - 1 |
|
Biraz felsefe... 20. yüzyılda bilim ve felsefenin daha önceki zamanlarda hiç olmadığı kadar birbirine yaklaşmış olduğu düşünülür. Soyutun temsilcisi felsefe ile somutun bayraktarı olan bilim, özellikle matematik ve fizikteki iki önemli gelişmenin doğurduğu sonuçlarla birbirlerini kucaklamış görünüyor. Fizik
alanında, Einstein’ın uzay, zaman ve madde kavramlarını değiştiren
izafiyet teorisinin açıklanmasında bir dizi denklem ve
hesaplamalardan daha çok işin altyapısındaki felsefi yaklaşım önem
kazanmıştır. Özellikle ‘zaman’ kavramını yüzyıllardır tartışan
felsefe (‘Zaman geçmişten geleceğe bir bütün müdür, yoksa anların
birleşiminden oluşan bir zincir midir?’ sorusu gibi...), görelilik
teorisi ile bu tartışmalarının somut düzleme aksetmesini yoğun bir
ilgiyle karşılamıştır. Matematik
sahasındaki gelişme ve bu gelişimin etkilerini ise, bir anlam da
bilgisayar devriminin temelleri saymak çok da abartılı bir ifade
olmaz. Esasen felsefe ve matematik daha eskilerden beri ‘mantık’
bilimi ortak paydasında bir birlikteliği sürdürüyorlardı.
Elektronik devrim ve sonucundaki bilgisayarların, yani 0 ve 1’lerin dünyasının
keşfi, yine soyut önermelerin somut karşılıklarının oluşmasının
ilk sinyalleri sayılabilir.
Fakat kanımca, felsefe ve
matematiğin buluşma noktası olan ‘mantık’, esas itibarını
yapay zeka (YZ) çalışmalarının başlamasıyla oluşturmaya başlamıştır.
Yapay zeka konularında her şeyin öncesinde ulaşılmak istenilen
hedefin mantıksal olarak sağlam temeller üzerine oturtulması ve
modellenmesi gereklidir. Dikkat edilirse daha çok YZ alanında kullanılan
Prolog benzeri programlama dillerinin yazım kuralları (syntax) çok
basit olmasına rağmen, esas zorluğu çözülecek problemi sağlam, kaçağı
olmayan önermelerle ifade etmektir. YZ alanında kısa sayılabilecek
bir zaman öncesinde başlayan araştırmalar çok da uzak olmayan
tarihlerde vereceği sonuçlarla insan hayatını birebir değiştirecek
ve önümüzdeki yüzyıla damgasını vuracaktır. Biraz
tarih... Tarih
boyunca bilimin gelişmesinin iki ana sebebi olmuştur. Tıp ve savaşlar...
Birincisinin insan hayatını kurtarmaya yönelik, ikincisinin ise bunun
tam tersine bir amaç gütmesi ne kadar da garip bir tezattır. İkinci
dünya savaşında Almanlar'ın şifreli haberleşmesini kırmaya yönelik
çalışmalar dahilinde Alan Turing’in çalışmaları, sonlu durum
tekniklerinin (finite state machines) temeli olan Turing makinesi ve ilk
programlanabilir bilgisayarın yapılması, muhteşem ilerlemeler ifade
ediyordu. Bu gelişmeler savaştan sonra bilgisayar biliminde önemli
basamaklar oldular. Turing’in çalışmalarının yapay zeka alanında,
özellikle de YZ’nın da Doğal Dil İşleme (Natural Language
Processing) konusunda, belki de en temel taşları oluşturduğu düşünülebilir.
Bu savın dayandığı temel noktaların izahı yazının ileriki bölümünde
biçimbilimsel çözümleyiciler (morphological analyzers) bahsinde
ifade edilecektir. Bilim
ağacının her dalı belli bir problemi çözmek üzere uç verir ve bu
yeni sürgünden ana problemin alt sorunlarını halletmek üzere yeni
dallanmalar, budaklanmalar olur. Bu bağlamda yapay zekanın ulaşmak
istediği nokta neresidir? Hedef; taklidin orijinalinden fark
edilemeyecek kadar iyi olması... Bu
amaç 1950 yılında Alan Turing tarafından ‘telefonda konuştuğunuz
kişinin kanlı canlı bir insan mı yoksa bir bilgisayar mı olduğunu
ayırt edememek’ şeklinde ifade edildi. 1966 yılında Joseph
Weizenbaum‘un yaptığı ELIZA adlı program çok basit kalıpları
tanıyarak (template recognition) kullanıcısına psikolojik terapi
uygulayabiliyordu. İlkel bir uygulama olmasına rağmen ELIZA projesi
insanla bilgisayar arasında normal bir iletişim kurulabileceğine dair
araştırıcılara güç verdi. Başlangıçta YZ’nın küçük bir
kolu kabul edilen doğal dil işleme, kısa sürede genişleyerek başlı
başına bir disiplin oldu. Günümüzde artık telefon konuşmalarında
anında çeviri yapabilen sistemler pilot uygulama aşamasına gelmiş
bulunuyor. İngilizce ve Japonca konuşan iki insan telefonda karşılıklı
kendi anadillerinde iletişim kurabiliyor. Biraz
teknik... Makinelerle
aramızda bir duvar var sanki. İnsan ve onun yaptığı makine değişik
dillerde konuşuyor. Herhangi bir işi yaptırmak için belirli düğmelere
basmamız, belirli komutları belirli formlarda girmemiz, yani kendi oluşturduğumuz
sistemde o sistemin kurallarıyla hareket etmemiz gerekiyor. Oysa
bilim-kurgu filmlerindeki tipte bilgisayarlar gerçek olsa da direk
kendi ana dilimizde ve kendi sesimizle işlerimizi halledebilsek ne
kadar büyük bir kullanım kolaylığı oluşur. Yani oturup kahve içerken
‘ZET, bana İnternet'ten en büyük on akıllı kart üreticisi firmayı
bul ve bunların içinden de X ürünü bazında fiyat sıralamasını
yap.’ deyip, sonuçları birkaç saniye sonra sesli dinleyebilsek,
hatta ZET bize daha efektif çözümler için önerilerde bulunabilse,
veya farklı dilleri konuşanlar birbirlerinin dillerini öğrenmek
zorunda kalmadan otomatik çeviri sistemleriyle anlaşabilse, veya çağrı
merkezlerindeki bilgisayarlarla konuşarak anlaşabilsek.... Bunlara
benzer örnekleri çoğaltmak sadece insanın hayal gücü ile sınırlı.
İşte en uç noktasıyla dil ve ses teknolojilerinin yapay zeka ile ulaşmaya
çalıştıkları hedef dünyadan birkaç portre... Şimdi, insan ve bilgisayar arasındaki bu tip iletişimleri sağlayabilecek sistemlerin mimarisine biraz yakından ve biraz da teknik olarak bakalım. Evvela işin ses işlemesi ve dil işlemesi olarak iki ana ayağı mevcut. Başlı başına ayrı bir konu teşkil eden ses teknolojileri çok genel bir ifadeyle dilin fonolojik özelliklerinin incelenerek sesten yazıya ve yazıdan sese çevrimler yapılması olarak özetlenebilir. Dil işleme tekniklerini ise dört ana basamak halinde açıklamak mümkün. Kelimeden
hareket ederek cümleye ve oradan da anlam çıkarmaya yönelik bu
basamakların ilki sözcük oluşumunu ele alan biçimbilim
(Morphology). Bu basamaktaki en temel amaç analiz edilen kelimenin kökünü
ve eklerini doğru olarak tespit ve tasnif edebilmek. Bu amaç için
programlanan biçimbilimsel çözümleyiciler (morphological analyzers)
dil işleme tekniklerinin de en temel motorunu oluşturmakta. Zira
bundan sonraki basamaklar bu çözümleyicilerin sonuçlarını girdi
olarak kabul edip ona göre çıktılar vermekte. Bir sonraki kısımda
daha derinden inceleyeceğimiz bu morfolojik analiz programlarının tek
başlarına kullanım sahaları da mevcut. İkinci
basamak sözcüklerin birleşmesi ile oluşan cümlelerin analizi.
Sentaks (Syntax) olarak adlandırılan bu kısımda cümlenin oluşturulması
veya bir cümlenin ana bileşenlerine ayrılması (parse) amaçlanmakta.
Yani tamlama gruplarını, sözcük öbeklerini tespit etmek. Dilin cümle
oluşum gramerini temel alan bu çalışmalar sonucunda gelinen aşama
biçimbilimsel çözümleyici ile analiz edilen kelimelerin birleşerek
oluşturdukları öbekler ve onların da tekrar birleşerek oluşturduğu
cümleler. Üçüncü
basamak olan anlam incelemesi (semantics) esas
olarak cümlelerin beynimizde şekillenerek bir mana ifade etmesi
noktası olarak algılanabilir. Çözümlenmiş kelimelerin ve ayrıştırılmış
cümlelerin gerçek dünyadaki yankılanması olan bu basamak daha
evvelki basamaklarda ortaya çıkan birden çok çözümün anlam
irdelenmesi yapılarak teke indirilmesini ihtiva eder. Yani bir çeviri
sisteminin A dilinden B diline çeviri yapması için A dilindeki
girdinin son biçimlenme ve B dilinde anlamlandırılma aşaması
denilebilir. Son
olarak cümlelerin birleşerek oluşturduğu ifadelerin (context) bütünü
içerisinde de birbirine işaret
eden kısımların da ilişkilendirilmesi ve anlam bütünlüğü açısından
irdelenmesi gerekir (pragmatics). Esasen üçüncü ve dördüncü
basamaklar arasında çok derin bir ayrım bulunmamakta ve bu bağlamda
bazı araştırmacılarca bir arada değerlendirilmektedir. Sonuç olarak en temel kavramları ile açıklamaya çalıştığımız doğal dil işleme “ana işlevi doğal bir dili çözümleme, yorumlama, anlama ve üretme olan bilgisayar sistemlerinin tasarımını ve gerçekleştirilmesini konu alan bilim ve mühendislik dalı” olarak tanımlanmaktadır.
Bu yazının haftaya yayınlanacak ikinci bölümünde biçimbilimsel çözümleyiciler ve pratik kullanım alanlarına değinilecektir. Yazıyla ilgili görüş ve yorumlarınızı yorum@teknoTurk.org ve kulekci@uekae.tubitak.gov.tr adreslerine yollayabilirsiniz.
|