This paper describes the START Information Server built at - Inet-tr

advertisement
Web Üzerinde Tanımlı Akıllı
Arabirim
Murat YILMAZ
[email protected]
Ö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
Download