Türkçe İçin Doğal Dil İşleme  Çalışmaları – 3

(Bilgisayar Türkçe Metinleri Anlayabilir mi?)


Doğal Dil İşleme çalışmalarının yıllardan beri amaçlarından biri, doğal dilde söylenenlerin ne anlatmak istediğini anlamaktır. Bilgisayarın doğal dille ifade edilenleri anlaması; bilgisayara sağlanan bilgiyi başka sözcüklerle açıklayabilmesi veya kendisinden istenenleri yapması, yapamıyorsa sebep bildirmesi şeklinde düşünülebilir.

Aşağıda bu tür çalışmalardan birinde gözlenmiş olan insan ile bilgisayar diyaloğu görülmektedir:

     İnsan: Köpeği bu sabah gezintiye çıkardım.

     Bilgisayar: Anladım.

     İnsan: Yağmur yağıyordu, dolayısıyla şemsiyemi aldım.

     Bilgisayar: Anladım.

Bu diyalogdan sonra insan “Bu sabah ne yaptım?” diye sorduğunda bilgisayar “Köpeği gezintiye çıkardın” şeklindeki bir cümleyi söylemiştir [1].

Bilgisayarların insan sözlerini anlayabilmesinin en uygun yolu, dilin gramerlerini öğrenmesidir. Feigenbaum’a göre; “Dilin grameri, dilin izin verdiği cümlelerin tespitini, bu cümlelerin oluşturabileceği söz dizimsel yapıyı içerir.”

Bugüne kadar yapılan çalışmalarda Doğal Dil İşleyiciler (DDİ) için değişik sınıflandırmalar gerçekleştirilmiştir.  

Hendrix ve Sacerdoti Sınıflandırması: Hendrix ve Sacerdoti üç seviyeli DDİ sistemi gerçekleştirmişlerdir. Bu sistem, sistemin dışındaki bilgi miktarına göre seviyelenir. Bu üç seviye;

A tipi: Bilgisayarla insan diyaloğunda cümle analizinde sözdizimi ve semantiği beraber kullanır. Sözdizimsel birimlerin anlamları, onu oluşturan parçaların anlamından türetilir. Bu tür sistemler daha çok belirli veritabanı sorgu sistemlerinde etkili olarak kullanılırlar. Weizenbaum’un ELİZA sistemi bu tiptedir. ELİZA akla uygun diyalog oluşturabilen bir sistemdir, ancak gerçek anlamları anlama testinde başarısız olmuştur. A tipi işleyicilerin gerçek dünyadan akıl yürütebilecek haberi yoktur.

B Tipi: Bu tipte bilgi, semantik ağ, çerçeve veya alfabe (script) şeklindedir. Bu durum kullanıcı verisinin durumlarla ve fiziksel kısıtlamalarla anlaşılmasına izin verir. Bu tipte ne kadar çok bilgi sisteme eklenirse performans o kadar artar. Winograd’ın SHRDLU sistemi ve Cullingford’un Script Applier Mechanism (SAM) sistemi bu tipe örnektir. B tipindeki bilgi bahsedilen nesnelerin açık modellerini kapsar, nesneler arasında ilişkiler kurar, nesneler ve ilişkiler arasında işlemleri açık olarak tanımlar.

C Tipi: Bu tipte yavaş yavaş insanlar arasındaki iletişimde var olan inançlar, amaçlar, planlar gibi unsurlar açığa çıkmaktadır. İnsan davranışları, mesajın nasıl algılanacağı ve yorumlanacağı konusunda filtre gibi rol oynarlar. Hendrix ve Sacerdoti, sınıflamalarında insan iletişimindeki doğal durumu şöyle bir örnekle gösterirler:

Babaanne, anneye çocuğun doğum gününde sorar: “Mumları ne zaman yakayım?” Anne cevaplar: “Pastayı çocuklar ellerini yıkar yıkamaz keseceğiz.” Buradan babaanne, bu işin beş dakika kadar süreceğini anlar. Annenin şartlı cümlesine göre babaanne bu sonuca nasıl ulaşmıştır?

1. Çocuklar pasta istedi.

2. Annenin babaanneye olan cevabı, çocukları pasta yemek için tek engelin elleri yıkamak olduğu konusunda bilgilendiriyor.

3. Bunu bilerek ellerini yıkıyorlar ve bu iş beş dakika kadar sürüyor.

Babaanne mumları beş dakika içinde yakacağını biliyor çünkü yukarıda belirtilen koşulları biliyor ve annenin de bunları bildiğini biliyor. Ayrıca anne de babaannenin bunları bildiğini biliyor. Halen bu düzeyde  bir DDİ sistemi gerçekleştirilmemiştir.

Görüldüğü üzere insan ile bilgisayar diyaloğunu sağlamak için bir program yazmak kolay, ancak söylenenleri anlayan bir program yazmak çok zordur.

Doğal dilin yapısal özelliklerinden dolayı bilgisayara sunulan bilginin depolanma şekli; özellikle Türkçe gibi morfolojik özelliklerin cümle anlamına çok etki ettiği dillerde çok belirgin önem taşır.

Türkçe’nin anlamsal analizi üzerine yaptığım çalışmada bilgisayara sunulan veriler, anlamsal ağlar (semantic networks) şeklinde saklanmaktadır. Bu ağ, yazılan bir yazılımla oluşturulmakta, ağın alt yapısında çekirdek kabul edilen bir bilgi tabanı (information base) kullanılmaktadır. Yazılım bu bilgi tabanını güncelleyebilmekte ve geliştirebilmektedir.

Anlamsal ağların doğasında bir takım nesneler ve bu nesneleri birbiriyle ilintilendiren ilişkiler vardır. Anlamsal ağın bir bilgi tabanı olarak saklanması; nesneler, nesnelerin ilişkili oldukları diğer nesneler ve  ilişki türleri şeklinde saklanmasından ibarettir. Aşağıda örnek bir anlamsal ağ yapısı görülmektedir.

Şekil1 : Anlamsal Ağ yapısı

Çalışmamda ilköğretim okullarında 2. ve 3. sınıflarda okutulan matematik kitaplarında  yaklaşık üç yüz problem üzerinde yapılan araştırmada, sorulan problemlerden seçilen sorular tespit edilmiş ve bu sorular gruplandırılmıştır. Daha sonra her grup için yazılan program modüllerine problem metinleri girdi olarak verilmiş ve yazılımın başarım düzeyi tespit edilmiştir.

Çalışmada Anlamsal Analiz aşağıda ifade edilen alt modüllere ayrılmış ve belli bir hiyerarşiyle sonuca ulaşılmaya çalışılmıştır.

Bilgi Tabanı: Bilgi tabanında kelime düzeyinde analiz için bir takım ekler ve kelimelere ilişkin kurallar tanımlanmıştır.

Burada eklerin kelimelere katacakları anlamlar belirtilmiş, (örneğin “evde” kelimesinde “-de” eki “bulunma” anlamı katmaktadır) bazı isim ve fiil türündeki kelimelerin ifade ettiği anlamlar tanımlanmıştır (“var” kelimesi, “sahiplik” anlamında; “almak” kelimesi, “eklemek” anlamında”; “daha” kelimesi, “eklemek veya azalmak” anlamında, “vermek” kelimesi  “azalmak” anlamında tanımlanmıştır). Anlamlar ilişkileri oluşturur. Bilgi tabanında tanımlı kelimeleri yüklendikleri anlam bakımından özel anlam yüklü kelimeler olarak isimlendirmek mümkündür. Özel anlam yüklü kelimelerin sayısı artırılabilir, burada uygulama programını sınırlamak için az kelime seçilmiştir.

Kelime düzeyinde analiz modülü: Bu modülde giriş modülündeki metin kelime kelime incelenir ve morfolojik analizde tespit edilmiş olan ekler ile birlikte bu kelimelerin ifade ettikleri anlamlar araştırılır.

Yorumlama modülü: Bu modülde kelimelerin bilgi tabanında tanımlanan özel anlam yüklü kelimelerden olup olmadıkları kontrol edilir. Eğer kelime tabanda tanımlanmamış ise program kullanıcıya metinde geçen fiilin ifade edebileceği alternatif anlamları sunar. Kullanıcının kelime için uygun anlamı seçmesiyle ilgili kelimenin anlamı bilgi tabanına geçici olarak eklenir. Çünkü, Türkçe’de kelimeler kullanıldıkları cümlelere göre farklı anlam kazanabilirler. Yani bir başka giriş metni için aynı kelime bir başka anlam ifade edebilecek, bu da anlamayı zorlaştıracaktır.

Şekil2 – Sistemin sorulan soruya cevap verme modülü

Anlamsal ağ modülü: Bu modül, cümlelerin anlamının belirlenmesinde en önemli modüldür, çünkü kelimelerin birbirleriyle ilişkilendirilmeleri ve bu ilişkilerin türleri bu modülde belirlenir. Bu modülde kelimelerine uygun anlamlar yüklenmiş metin, anlam yüklü cümlelere bölünür ve cümlelerin anlamsal ağları oluşturulur. Verilen ve istenen bilgiler ayrıştırılıp, programın istenen bilgiyi tam olarak elde etmesi sağlanır. Artık sıra istenen cevabı vermeye gelmiştir. Cevap verme modulü ile program kendisine sorulan soruya uygun cevabı verir.

Yapılan bu çalışmayla doğal dili, özellikle anlamaya yönelik modellemede bir çok etkenin sorun olarak karşımıza çıktığı görülmekte, ancak elde edilen sonuçlarla Türkçe’nin modellenmesinin mümkün olabileceği sonucuna ulaşılmıştır.

Sonuç olarak, Türkçe’nin anlamsal analiz alanında yapılacak çalışmalar Türkçe’yi bilgisayar tarafından anlaşılabilir bir dil haline getirecek, ve bilişim sektöründe bir çok donanımın Türkçe’yi rahatlıkla kullanabildiği ve günlük yaşantıda bu tür donanımların kullanımın arttığı görülecektir.

Kaynaklar :

 [1] Alan, Y., Robotik Kültür, Çağlayan Basımevi, İzmir, 1994

 

Ünal Çakıroğlu

 

Bu yazıyla ilgili görüş ve yorumlarınızı yorum@teknoTurk.org ve unalts@hotmail.com adreslerine yollayabilirsiniz.