Web Üzerinde Tanımlı Akıllı Arabirim Murat YILMAZ murat@sfl.metu.edu.tr Öz Sanalus bilgi modelleme ve çözümleme konusunda Türkiye’de geliştirilmiş bir yazılım sistemidir. Sistem bilgi kaynaklarının metin tabanlı biçimlerden alınarak tüm dünyanın kabul ettiği bilgi teknolojilerine dönüştürülmesi ile oluşacak sayısal bilgi ve ses bankalarının akıllı ara yüz ve yapay zeka algoritmaları yardımı ile kullanıcıya sunulmasını hedefler.Bu sayede kullanıcının bir yazılım ile konuşması sağlanarak istediği bilgiye günlük konuşma dili ile erişebilmesi hedeflenmiştir.Sanalus temelde iki birimden oluşmaktadır.Bu birimlerin iki farklı özelliği bulunmaktadır.Bu özellikler cümle seviyeli kelime işleme kabiliyeti ve semantik ağ parçacıklarının çözümlenebilmesi olarak nitelendirilebilir .Sanalus XML ayrıştırıcılarının yardımı ile cümle seviyeli çözümleme yapabilmektedir.Sistem bileşenleri yardımı ile Türkçe dil yapısının işlenmesini ve insanbilgisayar etkileşiminin oluşması sağlanır. 1 Figür 1. Sanalus Akıllı Birim Tasarım Modeli Sanalus Akıllı Arabirim Modeli Anlama Modülü : Anlama modülü örüntülü tanıma algoritması kullanır.Bir Türkçe metni bilgi bankasındaki metinle eşleştirir.Metin semantik ağ üzerinde kurallı olarak tanımlanmış veya örüntülü olarak tanımlanmamış olabilir.Bu durumda yapılan sorgulama hibrit bir algı ve arama algoritması ile taranır ve sistemde kayıtlı olan bilgi ile eşleşir.Cümle üretim alt birimi gerekli cevabı hazırlar ve kullanıcıya sunar. Kullanıcıdan alınan bilgi Türkçe dilbilgisi kurallarına uygun olarak hazırlanmış çekirdek parçalarla ayrılarak örüntülerle eşleşir ve sistem tarafından tanınabilecek hale getirilir.Sistem anlatımsal olarak tanımlanmış yapılar oluşturur. Bu oluşum sayesinde Türkçe sözdizimsel yapılar kullanıcının girdi verileri ile eşleşir. 2 Cümle bir semantik ağ üzerinde daha önce oluşturulan metin indeksleri yardımı ile üç ana etmen üzerinde izlenir.Cümlenin hangi konu içerisinde ele alındığı ve bu konunun sistem tarafından bilinip bilinmediği sorgulanır.Bu sorgu sisteme anlatılmış olan ifade kurallarına uygun olarak işlenmiş ise <konu ilişki nesne> üçlü anlatım kurallarına uygun olarak nitelendirilir.Bu sayede bilgi sistemi kullanıcının ifadelerini belli kategoriler içerisinde izleyebilme yetisine sahip olur. Sıfat, özel isim veya edat tanımlarının sistemde tanımlı özel ifadeler yardımı ile ayırt etmesi üçlü anlatım kurallarına bağlı olarak incelenebilir. (Örnek 1) Ahmet, Ayşe’nin verdiği cevaba çok şaşırdı. Bilgisayar çözümlemesi : <Şaşırmak> <Ahmet> <Ayşe> <Cevap> <Vermek> <Cevap Ahmet’le ilgili olmalı> <Ayşe’nin yaptığı bir eylem tanımı yapılmış> <Şaşırmak eylemi gerçekleşmiş> Diğer çözümlemeler içinde zarf ve cümledeki yeri,cümlenin zamanı,kısaltmalar ve zıtlıklar sistem tarafından incelenerek geçmiş adı altında anlatımsal bir yapı modeli olarak saklanır.Bilgi tabanındaki üçlü anlatım yapıları yeni gelen verileri inceleyerek kendi ile ilgili bölümleri işaretler.Bu sayede yeni ilişkiler oluşturulur. Sindirilmiş yeni bilgiler Türkçe’nin sözdizimsel yapı kurgularına benzetilmeye çalışılır.Karmaşık cümlelerin sistem tarafından anlaşılabilmesi için üçlü anlatım birimleri birbirilerini özne veya nesle olarak kullanarak cümleyi çözümlemeye çalışacaktır.Sanalus karmaşık ve birbiri içine gömük cümleleri inceleyip çözümleme yetisine sahiptir.Bu yetisi sayesinde devrik diye tabir edilen cümleleri de anlayabilmektedir.Sistemden istenen cümleler üçlü 3 anlatım birimlerine çevrilerek çözümlemektedir.Sistemde tanımlı kalıplar birbirileri ile ilişkilendirerek oluşturulan semantik ağ üçlü anlatım birimleri ve ileri arama döngüleri ile karar mekanizmasını oluşturmaktadır.Sistemde sayısal bir enzim gibi çalışan bu birim gelen soruları sistem için anlaşılır kılar. (Örnek 2) Kimleri söylediği cümle ile şaşırttı Ali ? Bilgisayar cümleyi özneyi başa alarak tekrar yaratır. Hareket transformasyonu: Ali kimleri söylediği cümle ile şaşırttı? Dil anlama sisteminin üçlü birimleri cümlede bir akış kontrol algoritması ile kendi anlayacağı hale sokar.Üçlü anlatım birimleri örüntü çözümleyicileri aktive olmadan önce cümleyi tanımlamaya çalışır. <Ali kimleri> söylediği cümle ile şaşırttı> <cevap Ali ile ilgili olmalı> Üçlü birim eşleme değişkenini belirler.Sistem sorgu parametrelerini kabul eder.Sonra semantik ağ tabanı üzerinde eşleşen etmenler belirlenir.Örüntülü çözümleyiciler üçlü birimler örtüşen bilgileri bulur ve sistem bilgi bankasındaki izleri inceleyerek örtüşenleri belirlerler.Sonunda cevap mekanizması(üçlü birimler) devreye girerek Türkçe bir cevap oluşturur. (Örnek 3) Ali cevabı ile Ayşe’yi şaşırttı mı? Bilgisayar Evet, Ayşe çok şaşırmıştı. Figür 2.Bir Üçlü Birimin Eğitim Simülasyonu 4 S-kural dizisi Sanalus sistemi <konu ilişki nesne> izlerine göre sistem kurgusu yapar.Sistem kendi gömü düzeni içerisinde Türkçe dil sisteminin hiyerarşi düzenini taklit ederek dilin karakteristik özelliklerine paralel kalmaya çalışır.Dil tabanlı bir bilgi sistemi bir çok avantaja sahip bir sistemdir.Sistem kendini açıklama yetisine sahip ve kullanılması çok kolay bir yapı oluşturur.Üçlü birimlerinin oluşturduğu kendine özgü bir sembolik gösterim,çözümleme ve üretim sayesinde sistem bir us sahibi olmaktadır.Bu sayede doğal metinlerini bir insan gibi kendine özgü kuralları ile okuyarak belli anlamlar çıkartması mümkün olmaktadır. Sanalus Türk dilinin kendine özgü hiyerarşi dil yapısını taklit ettiği halde bazen istenmeyen durumlar oluşması kaçınılmazdır.Yüzeysel kullanış ölçülerinde aynı olan cümle ve yapılar sistem tarafından farklı olarak algılanabilmektedir. (Örnek 4) Ali Ayşe’nin cevabına çok şaşırdı. <Ali Ayşe’yi şaşırttı> cevap ile> <cevap Ali ile ilgili> (Örnek 5) Ali’nin cevabı Ayşe’yi çok şaşırttı. <cevap Ayşe’yi şaşırttı> <cevap Ali ile ilgili> Şaşırma eylemi ve bu eylemin kimin tarafından yapıldığı ve duygusal bir reaksiyon olduğu bilgisayarın anlayabileceği bir hal almıştır.Bilgisayar bu bilgileri kendine gelen bilgiye göre yorumlamaktadır.Bilgisayara sorulan soru şaşırmak eyleminin bir çok şeklini içerebilmektedir.Bu durum üçlü birim için bir karışıklık oluşturacak bir hal alabilir.Soru bir kim veya kimi gibi kişi belirten bir çok değişik şekilde sisteme sorgu olarak gönderilebilir. (Örnek 6) Kimin cevabı Ayşe’yi şaşırtmıştı Türkçe konuşabilen her hangi bir kişi bu soruya rahatlıkla cevap verebilecekken üçlü birim üzerinde çalışan sistem konuşmayı izleyemediği zaman veya üçlü birim yorumlama işlemi sırasında olabilecek bir anlama güçlüğü çıkarsa oluşturulacak dönüştürme işlemlerinde bir sorun yaşanabilmektedir. <cevap Ayşe’yi şaşırttı> 5 <cevap Ali ile ilgili> Bu durum üçlü birimler dışında tanılanmış çeşitli Türkçe fiillerin sözdizimsel ve anlamsal olarak izlenmesini sağlayan kurallarının tanımlanmasını gerektirmektedir.Şaşırma örneğinde verildiği gibi sistem fiil çekimleri ve dil içinde hal ve durum gösteren durumlar hakkında bilgi sahibi kılınmalıdır. A B’yi C ile şaşırttı. A’nın C’si B’yi şaşırttı. Şimdi şaşırmak için tanımlı bir s-kuralı geliştirelim. Şaşırmak- (S-Kuralı) Eğer <<özne şaşırtırsa kişi(nesne1)> kişi2(nesne2) ile> Karar : Nesne1 nesne2 yüzünde şaşırdı. S-kuralları kendi içinde oluşturulan bir kural dizisi içermektedir.Her kural dizisi üçlü birim için bir şablon görevi görebilmektedir.Bu kalıp sistemi içerisinde sistem tarafından çözümlenmiş değişkenleri parametre olarak kabul edebilen bir yapı kurgulanmıştır.Şaşırmak skuralı sadece şaşırma işini çözümleyen üçlü birimleri yardımı ile ilişkilendirilmektedir. Tetiklenen kural,düğüm ağı üzerinde ileri veya geri hareket edebilmektedir.Bu hareket sayesinde üçlü birimler kural ağındaki akıllı düğümler tarafından durdurulabilir.Bu düğümler ilişkili oldukları üçlü birimleri silme yazma veya yenileme hakkına sahiptir. <Ali Ayşe’yi şaşırttı> <cevabı ile> Üçlü birim sorgusu: Ayşe’yi şaşırtan ne? <Cevap> Cevap kimin ile ilgili <Ali> Üçlü birim : Şaşıran kim <Ayşe> Büyük çözümlemeler sırasında sisteme yapılacak geri besleme üçlü birimlere çevrilmeyen cümleler için gerçeklenmez.Üçlü birimlerin sisteme sorduğu sorular ise bilgisayarın hesaplama hızını ve semantik ağ düğümlerini üzerindeki hareketi yavaşlatmamaktadır.Sonuçta sisteme soru sorulamadan s-kural setinin tamamı aktive olamamakta sadece üçlü birimler aktif olarak hafızada tutulmaktadır. 6 SANALUS Sözlüksel Veri Tabanı Türkçe bir cümle çözümlemesi yapılırken Sanalus bu cümle ile ilgili morfolojik, sözdizimsel ve anlamsal bilgiye sahip olmalıdır.Sistemin sahip olduğu tüm kelimeler sözlüksel bir bilgi bankasında saklanmaktadır.Bu dizilim semantik bir ağ yapısı şeklinde saklanmaktadır.Sistemdeki kendini bilen her birim bu veri sözlüğü yardımı ile işlem yapabilmektedir.Kural sisteminin genelleştirilmesi semantik bir sınıf içinde oluşturulabilecek olan bir fiil üyelik sistemi ile mümkün olabilmektedir.Üçlü birimler semantik ve sözdizimsel bağımsızlıklar karşısında bir yaklaşım geliştirerek s-kural zincirlerinin girdileri anlamasını kolaylaştırmaktadır. Şaşırmak eylemine özgü tanımlanacak bir s-kuralı mümkün olsa bile tüm fiillere özgü bir s-kuralı tanımlamak iyi bir sistem kurgusu olmaktan çok uzaktır.Türkçe’de bir çok benzer kelime aynı veya yakın anlamlı olarak kullanılabilmektedir.Bu problemin çözümü için mülkiyet ayrışım değiştiricileri tanımlamak gereklidir. Üzülmek, sevinmek, kırılmak, bozulmak, korkmak, etkilenmek korkmak gibi çeşitlendirile bilecek kelimeler duygusal reaksiyonları göstermektedir.Sistem üzerinde tanımlı bir duygusal reaksiyonlar sınıf elemanı tüm ilintili fiilleri içerebilmektedir.Mülkiyet ayrışım değiştiricileri yapılan tanımlama sonucunda her fiil için ayrıca bir sözcüksel giriş veya fiile özel bir s-kuralı geliştirmeye gerek kalmamaktadır.Fiilin sözcüksel girişi artık oluşturulan çeşitli duygu tanım sınıfları içerisine alınabilecektir. Mülkiyet ayrışım değiştiricileri S-kuralı Eğer <<özne fiil nesne1> ile nesne2> Sonra <nesne2 fiil nesne1> açılım duygusal-reaksiyon sınıfı Düzeltilmiş s-kuralı açılım yan tümcesi içermektedir.Bu sayede kural dizisi üzerinde çeşitli yasaklamalar ve kontrol mekanizması kurgulanmaktadır.Bu kural ilişkilendirildiği tüm birimlere aynı şekilde uygulanabilmektedir. Üçlü birim <cevap şaşırttı dinleyiciyi> 7 Ali’nin cevabı Ayşe’yi şaşırttı. Ali cevabı ile Ayşe’yi şaşırttı. Bazı koşullarda yapılmamış olan sınıf ayrımı sistemin kavrama kapasitesini düşürebilmektedir.Açılım yan tümcesi olmadığı bir durumda sistemin girdi cümle duygusunu anlamaması söz konusu olabilmektedir. Ayşe Ali’ye bir hediye sundu. <Ali’ye bir hediye sunuldu> <Üçlü birim sunma> + <hediye> Açılım duygusal-reaksiyon sınıfı Ali verdiği cevapla herkesi şaşırttı. Ali verdiği cevapla seyredenleri şaşırttı. Açılım sınıfının oluşturulmadığı bir kural dizisi hediye sunulması gibi eylemleri algılayamaz.Şaşırmak örneği semantik sınıf üyelik sisteminde aynı tip anlam taşıyan fillere uygulanabilecek bir algı farkındalığı yaratacaktır. Semantik ağ üzerinde oluşturulacak bu özel düğümler çözümleme ve sistem akışkanlığını sağlayarak modüler bir yapı oluşturacaktır.Aynı sınıf elemanlarının üzerine uygulanacak kural dizileri sistem içinde uygun olanın seçilmesini kolaylaştıracaktır. 8 Hedefler Bu bölüme kadar yapılan tüm tartışma tek bir Türkçe cümlenin çözümlenmesi üzerine odaklanmıştır.Türkçe dilbilgisi kuralları,ileri sözlüksel anlam bilgisi ile genişletilmiş veri sözlüğü (sınıf üyelik bilgi bankası) ve bir sonuç motoru (s-kuralları) ve üçlü anlatım birimleri ile Türkçe anlama ve cevaplama sağlanabilmektedir.Dil bütünlüğü içinde yer alan ortak sezgi, aynı şeyleri değişik ifade şekilleri (deyim veya atasözü) uzun metin dosyalarının incelenmesi gibi konuları zorlaştırmaktadır.Tek cümle anlamak ile bir paragrafı anlamak arasında bilgi işlem yöntemleri arasında büyük farklar bulunmaktadır.Bu oluşum süreçlerinin modellenmesi için daha gelişmiş bir semantik ağ oluşturulmasını zorunlu kılmaktadır. Aşağıdaki metin içinde yapılacak bir inceleme düşünelim. Neptün matematik kullanılarak keşfedilmiştir.1845 yılından önce Uranüs en uzak gezegen olarak biliniyordu.Astronomlar ise Uranüs’ü incelerken gezegenin nedense her zaman bulunmasını bekledikleri yerde olmadığını fark ettiler.Bu sayede astronomlar bize uzak başka bir gezegenin bu gezegenin yörünge düzeni üzerinde bir çekim etkisi olduğuna karar verdiler. 1845 yılında John Adams isimli bir İngiliz bilimadamı daha uzak bir gezegenin olası yerini hesapladı.Bir Fransız matematikçisi olan Urbain Leverrier bu hesaplamadan bağımsız olarak benzer bir hesaplama yaptı.Berlin’de bulunan Uranüs izleme istasyonu 1846 yılında John G. Galle, Heinrich d'Arrest John ve Urbain adlı bilim adamlarının yerini iddia ettikleri yeni gezegeni gözlemlemeyi başardılar.23 Eylül 1846 yılında bulunan yeni gezegene Neptün ismi verildi.İtalyan astronom Galileo 1613 yılında gezegeni gördüğü halde bunun bir gezegen olduğuna ihtimal vermemişti. 9 Sanalus öğrenme yeteneğini kullanarak aşağıdaki sonuca varması hedeflenmektedir. Öğrenme hedefi : John Adams Neptün’ü matematik kullanarak keşfetmiştir. Kullanıcının olası soruları. Neptün’ü kim keşfetti? Neptün’ü Adams’mı keşif etti? Neptün nasıl keşif edildi? Neptün matematik ile mi keşif edildi? Bana Neptün gezegeninin keşif yöntemini anlat. Anlatılan çözümleme yöntemleri kullanılarak yapılan çözümlemeler sonucunda sistem bildiği soru şekilleri ile pasif cümle dönüştürme ilkelerini kullanarak veri tabanına bilgi aktarımını gerçekleştirilebilir. Üçlü dönüştürme birimi örneği <Kim keşfet Neptün> Sanalus kelime seviye işlem yapmasının yanında yapı seviye işleme yeteneği sayesinde s-kuralları ve fiil sınıf üyelik kuralları ve anlama modülünün eşleme birimi yardımı ile kullanıcının bilinen Türkçe soru kalıplarını anlayabilmektedir. Basit etkileşim algoritmaları semantik ağ üzerinde tanımlı üçlü birim tarafından işlenebilen düğüm noktaları başarılı bir eşleme yeteneği oluşturmamızı sağlamaktadır. 10 Sonuç Sanalus Türk dili kullanılarak kullanıcıdan gelen her tür soruya cevap vermek için tasarlanmıştır.Sanalus kendisine sorulan soruları küçük ve anlamlı birimlere parçalar ve ayrıştırma yapılarak bir ağaç yapısı oluşturur.Alınan bilgi sistem bileşenleri tarafından XML tabanlı bir ağ yapısında aranır.Sanalus güçlü bir bilgi arama,eşleme ve anlama sistemidir.Anlama modülü sayesinde sistem kullanıcıdan gelen bilgiyi alır elindeki bilgi bankası ile karşılaştırır.Cümle seviyesindeki doğal dil çözümleme yeteneği sayesinde kullanıcının basit veya karmaşık sorularına rahatlıkla cevap bulabilir. Ocak 2003 yılı itibarı ile Sanalus Türkiye’de üretilmiş ilk doğal dil anlayabilen sistem olma özelliğine kavuşmaktadır.WWW üzerinde kullanıcılarla kuracağı çeşitli diyaloglar yardımı ile Sanalus her gün her saat her dakika daha fazla bilgiye sahip olması hedeflenmiştir. Üzerine zaman içinde eklenecek bilgi bankaları ile anlama ve anlatma kabiliyetlerini arttıracak olan sistem oluşturulacak ortak bir protokol yardımı ile benzer veya eş sistemlerle etkileşim haline girerek bilgi gücünü arttıracaktır. Sanalus toplayacağı bilgilerle çok kısa sürede bir çok kurum ve kuruluşta hizmet vermeye başlayabilecektir. 11 Kaynakça Metcalf, J. & Shimamura A. (Eds.) (1994) Metacognition; Knowing about knowing. MIT,Amerika. B. Katz and P.H. Winston, 1983, "A Two-way Natural Language Interface," in Integrated Interactive Computing Systems, F. Delano and E. Sandewall, Hollanda, Amsterdam. Prepositional Semantic Network," in The Knowledge Frontier, N. Cercone and G. McCalla, Springer-Verlag, N.Y.,Amerika Van Osteen, J., 1980, "Subjects, Topics and Agents: Evidence from Property-factoring," Proceedings of the Berkeley Linguistics Society 6, Berkeley, CA, Amerika Winston, P.H., 1992, Artificial Intelligence, Addison-Wesley, Dohi and Ishizuka, 1996, H. Dohi and M. Ishizuka. "A Visual Software Agent: An Internet-Based Interface Agent with Rocking Realistic Face and Speech Dialog Function". Working Notes of AAAI-96 Workshop on Internet-Based Information Systems, sayfa 35-40,Tokyo,Japonya Walker et al., 1994,J.H. Walker, L. Sproull, and R. Subramani. "Using a Human Face in an Interface". Proc. CHI'94 Human Factors in Computing Systems, sayfa 85-91,Kaynak WWW “Can a Machine Think?”- 2002,Clinton W. Kelly,Kaynak WWW Abella GorinAbella Gorin,Construct algebra: An analytical method for dialog management In Proceedings of Thirty Seventh Annual Meeting of the Association for Computational Linguistics.,Kaynak WWW Brieman, Friedman, Olshen, StoneBrieman,1984 Classification and Regression Trees. Kaynak WWW David Flanagan, 1996, “Java in a Nutshell.'' O'Reilly and Associates, Inc. Douglas Kramer, 1996 ,“The Java Platform.'' JavaSoft Michael O'connell, 1995, “Java: The Inside Story.'' Ron I Resnick, 1996, “Distributed Objects to the World Wide Web.'' Dan Harkey,1997 ,Programming With Java and Corba Robert Orfali Brian Morgan, 1998 ,CORBA & Java; Where Distributed Objects Meet the Web (Java Masters) 12