← Computers & Automation

Natural Language Access to a Large Data Base

B
Bilinmeyen Yazar
1976 · Computers and Automation

Büyük Bir Veritabanına Doğal Dil ile Erişim

Dr. D. L. Waltz
Coordinated Science Laboratory
University of Illinois
Urbana, IL 61801

"PLANES, kullanıcı isteklerini anlayıp açıkça yanıtlayabilen ve kullanıcıyla açıklayıcı diyaloglar sürdürebilen, ayrıca belirsiz ya da iyi tanımlanmamış sorulara yanıt verebilme yeteneğine sahip bir İngilizce dil ön ucu içerir."

Giriş

Bilgisayar kullanmak isteyen teknik olmayan kişiler için başlıca engellerden biri, makineyle iletişim kurmak için ya özel bir dil öğrenme gereksinimi ya da bir aracı yoluyla iletişim kurma zorunluluğu olmuştur. Bilgisayarların, herhangi bir özel bilgisayar dili konusunda eğitim almamış kişiler tarafından kullanılabilecek doğal dil sistemleriyle donatılması için zamanın olgunlaştığını düşünüyoruz.

Bu tür sistemlerin sıradan bir kullanıcı için değerli olabilmesi adına, basit hatalara tolerans göstermeleri, belli bir ölçüde “sağduyu” barındırmaları, ele alınacak konu alanı için görece geniş ve eksiksiz bir kelime dağarcığına sahip olmaları, çok çeşitli dilbilgisel yapıları kabul etmeleri ve elbette kullanıcının talep ettiği bilgi ve hesaplamaları sağlayabilmeleri gerekir.

University of Illinois Coordinated Science Laboratory’deki araştırmacılar, ONR desteği altında PLANES (Programmed LANguage-Based Enquiry System) adlı böyle bir sistem geliştirmektedir. PLANES, kullanıcı isteklerini anlayıp açıkça yanıtlayabilen ve kullanıcıyla açıklayıcı diyaloglar sürdürebilen bir İngilizce dil ön ucu içerir; ayrıca belirsiz ya da iyi tanımlanmamış sorulara yanıt verebilme yeteneğine de sahiptir.

Ayrıca, veritabanı içindeki örüntüleri tanıma ve kullanıcıyı, ilgisini çeken belirli veri örüntüleri ortaya çıktığında uyarma işlevlerini içeren ilişkili programlardan oluşan bir kütüphane de inşa ediyoruz. Bu çalışma, Donanma’ya ait uçak bakım ve uçuş verilerinin yer aldığı Navy 3-M veritabanının bir alt kümesi kullanılarak yürütülmektedir; ancak bu fikirler, hem askerî hem de askerî olmayan diğer kayıt tabanlı veritabanlarına doğrudan uygulanabilir.


Tarihsel Bakış Açısı

Bir veritabanından İngilizce olarak talep edilen bilgileri geri getiren sistemler, uzun zamandır bilgisayar bilimcilerinin ilgi alanı olmuştur. Örneğin, 1961 yılında yazılan BASEBALL, Amerikan Ligi’nde bir yıl boyunca oynanan her maç için ay, gün, yer, takımlar ve skorları içeren beyzbol verileri hakkında soruları yanıtlamıştır.

Bu sınırlı bağlamda, çok küçük bir kelime dağarcığı yeterliydi ve yalnızca görece az sayıda soru türü sorulabiliyordu. Ayrıca, kullanıcının dili ciddi biçimde kısıtlanmıştı. Cümleler yan tümceler içeremez, “and”, “or” ve “not” gibi mantıksal bağlaçlar kullanılamaz, “highest” ve “most” gibi ilişkiler içeren yapılar bulunamaz ve “Red Sox hiç art arda altı maç kazandı mı?” örneğinde olduğu gibi ardışık olgulara gönderme yapılamazdı.

BASEBALL’ın yanıtlayabildiği bazı soru örnekleri şunlardır:

  • Red Sox 5 Temmuz’da kime yenildi?
  • Her takım her ay her sahada en az bir kez oynadı mı?
  • Temmuz ayında 10 maç kazanan takım hangisiydi?

BASEBALL, soruları ayrıştırarak ve ardından ayrıştırılmış soruyu standart bir belirtim listesine dönüştürerek çalışıyordu. Soru-yanıt yordamı, bu kanonik biçimi sorunun anlamı olarak kabul ediyordu. Dolayısıyla, “Red Sox 5 Temmuz’da kime yenildi?” sorusu şu biçime dönüştürülüyordu:

  • Takım (kaybeden): Boston
  • Tarih: 5 Temmuz
  • Takım (kazanan): ?

Uzmanlık alanı içindeki dilbilgisel sınırlamalarının yanı sıra, BASEBALL’ın aşağıdaki sınırlamaları vardı:

  1. Yalnızca kapsamlı yeniden programlama yoluyla yeni alanlara genişletilebilirdi.
  2. Bir cümleyi ya tamamen anlar ya da hiç anlamazdı; kısmen anlaşılan cümle bölümlerini kaydetmeye ya da kullanıcıyla etkileşime girerek açıklayıcı sorular sormaya yönelik herhangi bir düzenleme yoktu.
  3. Zamir gönderimini anlayamazdı.
  4. Bildirime dayalı bilgileri kabul etme yeteneği yoktu; "Red Sox, 10 Temmuz'da Yankees’i yendi." diyerek veri tabanına ekleme yapmak mümkün değildi.
  5. Bir kullanıcı yordam bilgisi ekleyemezdi; dilsel yeteneğini artırmak mümkün olmadığı gibi, herhangi bir biçimde ona tavsiye vermek de mümkün değildi.
  6. Söylem evreni son derece sınırlı olduğundan, BASEBALL’ın yazarlarının belirsiz isteklerin ele alınması konusunda endişelenmelerine hiç gerek kalmamıştı.

Buna karşılık, günümüzde BASEBALL’ın sahip olmadığı bu yeteneklerin tümünü—en azından bir dereceye kadar—sergileyen programlar bulunmaktadır.


Woods’un LUNAR Sistemi

William Woods ve Bolt, Beranek, and Newman, Inc.’deki çok sayıda çalışma arkadaşı tarafından yazılan LUNAR sistemi, Ay kayaçları ve toprak örneklerinden oluşan oldukça büyük bir veri tabanı hakkında soruları yanıtlar. Veri tabanı yalnızca az sayıda veri türü içerse de, LUNAR sistemi, özellikle dilsel yeteneği bakımından, BASEBALL’dan çok daha esnektir.

İç içe geçmiş bağımlı yan tümceler, karşılaştırmalı ve üstünlük dereceli sıfat biçimleri ve bazı türde artgönderimsel referanslar içeren, dilbilgisel olarak karmaşık cümleleri kabul edebilir. Örnek olarak, Woods’un sistemi aşağıdaki soruların tümünü yanıtlayabilir:

  • Yüksek alkali kayaçlarda alüminyumun ortalama derişimi nedir?
  • Analcit minerali herhangi bir Ay örneğinde tanımlanmış mıdır? Bunlar hangi örneklerdir?
  • Ay ince tanelerine ait tüm modal analizleri ver.
  • Kromit ve ulvöspineli içeren kayaçları listele.
  • Ay örneklerinde hangi mineraller tanımlanmıştır?
  • 510034 numaralı kayada La derişimi nedir?

LUNAR, projeye başlandıktan yalnızca altı ay sonra bir jeoloji konferansında gösterilmiştir. Sistem, dinleyicilerden gelen soruların %78’ini yanıtlayabilmiş ve program kodunda kalan hatalar dışında, %90’ını yanıtlayabilecek durumda olduğu değerlendirilmiştir.

Woods’un sistemi, cümleleri ayrıştırmak için genişletilmiş bir geçiş ağı (ATN) kullanır ve ardından cümledeki her bir ifadeyi temsil eden kod parçalarını bir araya getirerek biçimsel bir sorgu üretir.


Winograd’ın SHRDLU’su

MIT Yapay Zekâ Laboratuvarı’nda Terry Winograd tarafından 1971’de tamamlanan SHRDLU adlı bir program, bloklar dünyasında görsel bir sahneyi temsil eden basit bir veri tabanı hakkında—bazıları oldukça karmaşık olan—soruları yanıtlayabilir.

SHRDLU, dünyasını bir CRT ekranda gösterebilir ve kendi "eli" ile dünyadaki blokların manipülasyonunu simüle edebilir. Sorulara ek olarak, SHRDLU bildirime dayalı cümleleri (örn. "Piramitleri severim"), emir cümlelerini ("Kırmızı bir küpü al") ve yordam ifadelerini (örn. "Bir kule, iki yeşil blok ve bir piramit içeren bir yığındır") anlayabilir.

SHRDLU hedeflerinin ve alt hedeflerinin bir kaydını tutar; böylece aşağıdakine benzer diyalogları yürütebilir:

Kullanıcı: Neden yeşil bloğu aldın?
SHRDLU: Ondan kurtulmak için.
Kullanıcı: Neden bunu yaptın?
SHRDLU: Kırmızı bloğu alabilmek için.
Kullanıcı: Neden bunu yaptın?
SHRDLU: Çünkü bunu yapmamı istedin.


Naval Research Reviews, Ocak 1976’dan izin alınarak yeniden basılmıştır.

Ayrıca, bildirime dayalı bilgileri, bu bilgileri ya soruları yanıtlamak ya da talimatları yerine getirmek için kullanmasına olanak tanıyan bir biçimde kaydeder. Böylece, bir kullanıcıya bir kulenin ne olduğu söylendikten sonra (yukarıda olduğu gibi), kullanıcı "Şu anda masanın üzerinde herhangi bir kule var mı?" diye sorabilir; SHRDLU da, veri tabanında bir kule örneği olup olmadığını denetlemek için yordam bilgisini kullanarak uygun şekilde "evet" ya da "hayır" yanıtını verir. Alternatif olarak, kullanıcı "Bir tane yap" diyebilir; bu durumda SHRDLU, aynı tanımı kullanarak yapının inşasını gerçekleştirecek bir program oluşturur ve bunu uygular.

SHRDLU, belirsizliği gidermek için kullanıcıyla bir diyalog yürütebilir. Örneğin, kendisine "Kırmızı bloğun üzerinde herhangi bir mor piramit var mı?" diye sorulursa, her iki durumda da yanıt "hayır" olmadığı sürece, kullanıcıya "(1) doğrudan üstünde mi yoksa (2) tarafından destekleniyor mu demek istiyorsun?" diye sorabilir.

Son olarak, bu bölüm boyunca gösterildiği gibi, SHRDLU zamir ve ifade gönderimini (örn. "Neden bunu yaptın?" "Bir tane yap.") ele alabilir ve keyfi derecede karmaşık cümle yapılarını kabul edebilir (örn. "En uzun piramidin desteğinin desteklediği en kısa şey yeşil olan herhangi bir şeyi destekliyor mu?").

SHRDLU bunu, tüm cümleleri daha sonra yürütülen yordamlar (yani programlar) olarak yorumlayarak yapar; bu yordamlar veri tabanını aramak, blok manipülasyon programlarını çalıştırmak ya da yeni programlar üretmek için kullanılır. Özellikle (GOAL (?X IN BOX)) gibi bir hedefi karşılayan öğeleri bulmayı kolaylaştırmak amacıyla tasarlanmış bir programlama dili olan MICROPLANNER /5/ kullanır; bu, ya kutunun içinde olan bir ?X öğesini bulmak için veri tabanında arama yaparak (örüntü yönelimli veri tabanı araması) ya da sahneyi ve veri tabanını değiştirerek kutunun içinde bir ?X öğesi bulunmasını sağlayacak programları çağırarak (örüntü yönelimli yordam çağrımı) gerçekleştirilir. MICROPLANNER ayrıca otomatik geri alma olanakları içerir; böylece değişkenlere geçici değerler atanabilir ve bunlar işe yaramazsa daha sonra geri alınabilir.

Dolayısıyla, aşağıda gösterilen MICROPLANNER programı, İngilizce "Kutudaki ve bir piramidi destekleyen herhangi bir sarı bloğu al" cümlesini temsil eder; program, tüm hedefleri karşılamayı başarıncaya ya da ?X ve ?Y için olası tüm seçimleri tüketinceye kadar otomatik olarak ?X ve ?Y için çeşitli değerleri dener.

(GOAL (?X IN BOX))
(GOAL (?X IS-A BLOCK))
(GOAL (COLOR ?X YELLOW))
(GOAL (SUPPORTS ?X ?Y))
(GOAL (?Y IS-A PYRAMID))
(GOAL (PICK-UP ?X) (USE FUNCTION-PICK-UP))

PLANES Sistemi

LUNAR gibi, PLANES /6/ de gerçek bir veri tabanı üzerinde çalışmak üzere tasarlanmıştır; ancak PLANES, daha geniş bir söylem evrenine sahip çok daha büyük bir veri tabanı üzerinde çalışır. Buna ek olarak, PLANES çok daha karmaşık veri tabanı işlemleri gerçekleştirebilir ve arama sırasında strateji kullanma yeteneğine sahiptir.

Uzun vadeli hedeflerimiz hakkında bir fikir vermek amacıyla, sistemimizin nihai olarak ulaşmasını umduğumuz çalışmaya ilişkin örnek bir senaryo aşağıda verilmiştir:

Kullanıcı:
Nisan 1975’te kaç Phantom planlı olmayan bakım gerektirdi?

PLANES:
Otuz Phantom. Görmek ister misiniz?

Kullanıcı:
Hayır. Bunlardan herhangi biri radar bakımı gerektirdi mi?

PLANES:
Evet, üçü. Görmek ister misiniz?

Kullanıcı:
Evet.

PLANES:
Phantom 159829 yeni bir radar ekranı gerektirdi.
Phantom 159772 yeni bir güç kaynağı gerektirdi.
Phantom 158336 radar arızası sonucunda düştü.

Kullanıcı:
Başka uçaklar da düştü mü?

PLANES:
Nisan 1975 sırasında demek istediğinizi varsayıyorum. İki uçak daha düştü: bir Phantom ve bir P3.

Kullanıcı:
Her iki durumda da Nisan uçuşlarının gövde üzerindeyken gerçekleştiği doğru mu?

PLANES:
Sorunuzu anlayamıyorum. Dilbilgisel değil ve anlamsız.

Kullanıcı:
Her iki Phantom’un da aynı filodan olduğu doğru mu?

PLANES:
"fron" yerine "from" demek istediğinizi varsayıyorum. Evet, her iki uçak da aynı filodandı.

Kullanıcı:
İki uçak arasında ortak olan başka bir şey var mı?

PLANES:
Evet, her ikisine de 24 Nisan’da HEBRON FMFPAC bakım grubu tarafından servis verilmiştir.

Aşağıdaki bölümler, senaryonun gerçekleştirilmesi için çözülmesi gereken sorunlara ilişkin veri tabanını ve kaydettiğimiz ilerlemeyi açıklamaktadır; buna sağduyu bilgisinin ve yordamların temsiline ilişkin ilerlemeler, zamir gönderimi ve kısmi sonuçların saklanmasıyla ilgili sorunlar, belirsiz ya da kötü tanımlanmış soruları yanıtlayabilme yeteneği ve sistemin, isteklerin anlamsız ya da yanıtlanamayacak kadar kötü biçimlendirilmiş olduğunu fark edebilme yeteneği dahildir.

PLANES Veri Tabanı

Navy 3-M Data Base for Aircraft, Mechanicsburg, Pa.’dan, zaman içinde uzanan uçak bakım ve uçuş bilgilerine ilişkin ayrıntılı kayıtlar içeren bir veri tabanı elde ettik. Bir uçağa her servis verildiğinde, bakımın zamanı ve süresi, kimin tarafından yapıldığı, hangi işlemin uygulandığı, hangi parçaların kullanıldığı ya da başka uçaklardan alındığı, bu parçaların üreticileri, servisin planlı mı plansız mı olduğu gibi bilgileri içeren bir kayıt oluşturulur. Her uçak için uçuş sayısı ve havada geçirilen saat sayısına ilişkin kayıtlar da tutulur.

Veri tabanında yaklaşık otuz farklı kayıt biçimi bulunmaktadır; her biri on ile yirmi arasında ayrı "alan" içerir ve her alan, işlemin tarihi, uçak türü, uçağın seri numarası, arıza türü, servisi yapılan bileşen, bakımı gerçekleştiren iş istasyonu gibi bilgileri kodlar. Kayıtları ve alanları çıkarmaya yönelik bir arama yordamları kütüphanesi derlenmiştir /7/.

Zamir Gönderimi

Zamirler ve gönderimsel ifadeler sistem tarafından aşağıdaki şekilde ele alınabilir. Sistem, zamana ("Nisan 1975" gibi) ya da bir uçak türüne (örn. "A7") atıfta bulunan bir ifadeyi her eşleştirdiğinde, bu bilgiyi bağlam yazmaçlarında saklar. Zamirler ortaya çıktığında, sistem bu zamirin işaret edebileceği öğe (ya da öğe) türünü belirler ve öğe türü tekil ise, ilgili bağlam yazmacının değerini zamirin yerine koyar.

Sistem, bir zamirin hangi tür öğelere gönderimde bulunabileceğini, cümleyi önceden saklanmış istek biçimleriyle eşleştirerek belirleyebilir. Daha önceki soruların yanıtları için de bağlam yazmaçları tutulur; böylece sistem aşağıdaki gibi takip sorularını yanıtlayabilir:

  • (S1) Nisan 1975 boyunca A49283 numaralı Phantom’da kaç motor bakımı yapıldı?
  • (S2) Bunlardan kaçı plansızdı?

Şekil 2, önceden saklanmış istek ağının bir bölümünü, Şekil 3 ise Şekil 2’deki ağ ile ilişkili önceden saklanmış istek biçimini göstermektedir. Zamir gönderiminin nasıl ele alındığını göstermek için, aşağıdaki isteğin programa verildiğini varsayalım:

  • (S3) Lütfen A49283 numaralı Phantom’un Nisan 1974 boyunca herhangi bir motor bakımı olup olmadığını söyle.

Bu istek, önceden saklanmış istek biçimi 1’e giden düğümlerle eşleşecek ve bağlam yazmaçlarını şu şekilde ayarlayacaktır: specific-planes için ((planetype F4)(tail-number A49283)), maintenance-actions için ((type-equipment engine)(type-maintenance any)) ve *time-period için (time-period April 1 1974 April 30 1974).

Ardından istek anlamı iskeleti somutlaştırılacak ve kullanıcıya şu ileti yazdırılacaktır:

  • (S4) Kuyruk numarası A49283 olan F4’ün 1 Nisan 1974 ile 30 Nisan 1974 arasında herhangi bir motor bakımı olup olmadığını bilmek istediğinizi varsaymak doğru mu?

Kullanıcı "evet" yazarsa, program somutlaştırılmış arama işlevi iskeletini yürütecek ve yanıt iskeletinin boşluklarını doldurarak aşağıdakine benzer bir çıktı üretecektir:

  • (S5) Evet, F4 numarası A49283 üzerinde üç motor bakımı yapılmıştır; biri 6 Nisan 1974’te, biri 10 Nisan 1974’te ve biri 27 Nisan 1974’te.

Şimdi, (S1) cümlesini aşağıdakinin izlediğini varsayalım:

  • (S6) Herhangi bir plansız iniş takımı bakımı var mıydı?

Bu, (S1) cümlesinin eşleştiği önceden saklanmış istek biçimiyle aynı biçimle eşleşecektir; ancak bu durumda "it", specific-planes ile eşleşecek ve specific-planes için geçerli bağlam yazmacının içeriğinin bu cümle için de geçerli olduğu varsayılacaktır.

Örneği tamamlamak için, program istek anlamı iskeletini doldurmaya çalıştığında (bkz. Şekil 3), time-period için bir değere ihtiyaç duyulduğunu fark edecek ve bunu time-period bağlam yazmacından da alacaktır. Elbette, her zaman olduğu gibi, program devam etmeden önce kullanıcının anlamını doğru yorumladığından emin olmak için kullanıcıyla kontrol edecektir.

"Sağduyu"

Belirli türdeki "makul olmayan" istekleri, gerçekten bir veri tabanı araması yapmadan yakalamak istiyoruz. Örneğin, aşağıdaki istekler:

  • (S7) Ağustos 1973 boyunca herhangi bir Phantom’da 500’den fazla motor bakımı yapıldı mı?
  • (S8) Geçen ay herhangi bir Skyhawk üçten fazla kez düştü mü?

şüphelidir. Bir istek biçimi bir sayı ile karşılaştırma içerdiğinde, bakım türleri için adam-saat sayısı, ortalama arıza sıklığı oranları ve belirli olayların—örneğin kazaların—genellikle belirli bir uçak için yalnızca bir kez gerçekleştiği bilgisi gibi öğeler için büyüklük mertebesi tahmini veren basit tablolar kullanılarak istek biçimine bir denetim eklenebilir.

Önceden Saklanmış İstek Biçimi 1

  1. İstek anlamı iskeleti:
(IF *SPECIFIC-PLANES HAD *MAINTENANCE-ACTIONS *T-P)
  1. Veri tabanı arama işlevi:
(FOR ALL X
  (*SPECIFIC-PLANES (*P-TYPE *MAINT *T-P))
  (MEMBER (MAINT-FIELD) *MAINTENANCE-ACTIONS)
  (RETURN (LIST (TAIL-NUMBER) (MAINT-FIELD) (DATE))))
  1. Yanıt iskeleti:
((NOT (NULL ANSWER))
 (LIST "YES" (LENGTH ANSWER)
       *MAINTENANCE-ACTIONS "WERE PERFORMED ON"
       *SPECIFIC-PLANES
       (ENUMERATE ANSWER "ONE ON")))
(T '(NO))

Bu araştırmanın uzun vadeli hedeflerinden biri, aşağıdaki gibi belirsiz biçimde formüle edilmiş soruları sistemin yanıtlayabilmesidir:

  • (S9) Geçen ay düşen iki Phantom’un bakım geçmişlerinde ortak herhangi bir etken var mı?

Bu tür soruları yanıtlayabilmek için sistemin "ortak etkenlerin" ne olduğunu anlaması gerekir: benzer olaylar ya da olay dizileri, aynı atölyeler tarafından servis verilmesi, periyodik servislerin atlanması, aynı alt sistemlerin arızalanması vb. Açıkça, sistemin aşağıdaki gibi bir yanıt vermesini istemiyoruz:

  • (S10) Her iki uçağın da seri numaralarının dördüncü hanesi 7’dir.

Arama Stratejileri

Veri aramalarını daha verimli hâle getirmek için basit stratejiler kullanma yeteneğini ekleme sürecindeyiz. Sistemin "makul olmayan" istekler durumunda aramaları durdurmasına olanak tanıyan aynı gerçekleri kullanarak, sistem arama yordamlarını en hızlı çalışmaya göre sıralayabilir.

Örneğin, PLANES’e aşağıdaki soru sorulduğunu varsayalım:

  • (S11) Mayıs ayında düşen Phantom’lardan hangilerinde Nisan’da motor bakımı yapılmıştı?

Üç olası strateji vardır:

Strateji 1:
Nisan’da motor bakımı yapılan tüm Phantom’ların kümesini bul, ardından Mayıs’ta düşen tüm Phantom’ların kümesini bul ve iki kümeyi kesiştir.

Strateji 2:
Nisan’da motor bakımı yapılan Phantom’ların kümesini bul, ardından Mayıs verilerine bak; düşen her Phantom için, motor bakımı kümesine ait olup olmadığına bak.

Strateji 3:
Mayıs’ta düşen Phantom’ların kümesini bul, ardından Nisan verilerine bak; motor bakımı yapılan her Phantom için, düşenler kümesine ait olup olmadığına bak.

Açıkça, Strateji 3 en iyisidir; eğer hiç uçak düşmediyse, Nisan ayındaki motor bakımı verilerine bakmamıza bile gerek yoktur.

Ayrıca, bir kullanıcının programa etkileşimli olarak strateji belirtmesine izin verme yöntemlerini ve programın, kullanıcı hakkında sahip olduğu bilgileri (örn. yönetici mi yoksa mühendis mi olduğu) kullanarak kullanıcı girdisini ve sorularını yorumlamaya yardımcı olma yollarını da inceliyoruz.

Uyarıcılar ve Örüntü Tanıma

Araştırmakta olduğumuz özel bir arama stratejisi türü, verideki "ilginç" örüntülerin belirlenmesini ve bu tür örüntülerin ortaya çıkışını izleyen programların kurulmasını içerir. (Örüntüleri izleyen programlara genellikle "demonlar" denir.)

Bu alandaki çalışmamız şimdiye kadar veri analizine yoğunlaşmıştır; öncelikle hangi tür örüntülerin ve ilişkilerin var olduğu ve hangilerinin ilgi çekici olduğu konusunda iyi bir fikre sahip olmak istiyoruz. Bu amaçla, Virginia, Norfolk’taki Naval Safety Center’dan mekanik arızaları içeren ciddi uçak kazalarına ilişkin ayrıntılı açıklamalar talep ettik ve aldık. Bu açıklamalar, kazalara ilişkin takip soruşturmalarının bir anlatımını içerir ve kısmen ilgili uçakların bakım kayıtlarına dayanarak kazaların nedenlerini belirlemeye çalışır. Bu açıklamaları, sistemimizin otomatik olarak gerçekleştirebilmesini istediğimiz eylem türü için bir model olarak kullanıyoruz.

Sorunlara yol açan örüntüleri belirleyip karakterize edebildiğimizde, bu tür örüntülerin ortaya çıkışını izleyebilecek ve potansiyel olarak tehlikeli bir durum mevcut olduğunda bir kullanıcıyı uyarabilecek demonları araştırmayı ve programlamayı amaçlıyoruz. Uzun vadede, veri tabanı boyunca "gezinebilecek", yeni neden-sonuç ilişkileri arayabilecek ve olası sorunları izlemek üzere kendi demonlarını otomatik olarak kurabilecek sistemler programlamak istiyoruz.

Şekil 4, sistemimizin genel organizasyonu için bir blok diyagramı göstermektedir. Hem stratejiler hem de örüntü tanıyıcılar/uyarıcılar, "Interpreter (Standard Functions—Different Realizations)" olarak işaretlenmiş kutu ile ilişkilidir. PLANES içindeki stratejiler, aynı mantıksal isteğin yalnızca farklı arama gerçekleştirimleridir.

Diğer Çalışmalarla İlişki

Çalışmamdan bir mühendislik yaklaşımı olarak söz ettim; çünkü geleneksel dilbilimin sınırlarının dışında kalmaktadır. Sistem tarafından "anlaşılan" sözcüklerin büyük bir bölümü için sözlük girdisi yoktur; genel olarak sözcükler, önceden depolanmış istek ağında yer aldıkları her bir örüntü içinde örtük olarak tanımlanır. Dönüşümler kullanılmaz; örneğin, isteklerin hem etken hem de edilgen biçimleri önceden depolanmıştır.

Tümce türleri için eşleştirme programlarının içinde bir miktar ayrıştırma yeteneği mevcuttur. Tümce türleri genel olarak ya edat öbekleri ya da ad öbekleridir ve Winograd’ın ad öbeği çözümlemesinden /3/ doğrudan alınmış bir biçimde analiz edilir. Bazı diğer dilbilimsel mekanizmalar da Winograd’ın çalışmasına dayanmaktadır.

İsteklerin anlamlarının (yani önceden depolanmış istek biçimlerinin) saklanma biçimi, Woods’un LUNAR programında /2/ anlamların saklanma biçimine çok benzemektedir. Genel olarak, Woods’un programı amaç ve işleyiş bakımından en benzer öncü çalışmadır; ancak kullandığımız veri tabanı ve sistemimizde sorulabilecek soru çeşitliliği çok daha fazladır.

Bu sistemin insan dilini anlama sürecinin iç mekanizmalarını modellemeye çalışmadığı açık olmalıdır; bu, yalnızca kesinlikle gerekli olandan daha fazla mekanizma kullanmadan, büyük bir veri kümesini doğal dil aracılığıyla erişilebilir kılma sorununu çözmeye yönelik bir girişimdir. Programın ortamı, genel bir dil anlama sisteminin ortamından oldukça uzaktır. Soruların tümü ya geçmiş zaman ya da şimdiki zamandadır ve şimdiki zaman yalnızca diyaloğa ya da her zaman doğru olan şeylere atıfta bulunmak için kullanılır. Programın söylem evrenindeki nesnelerin, olayların ve ilişkilerin sayısı kolayca listelenebilir. Programın kullanıcıya göre rolü her zaman bir veri getirici olmaktır.

Buna karşın, genel bir anlama sisteminin karşılaşması gereken bazı ortak konular vardır. Özellikle ilgili bir konu, uygun bilgi biriminin ne olduğu sorusudur. Sözcükler, sözlük tanımlarında olduğu gibi açıkça mı tanımlanmalıdır, yoksa bu sistemde olduğu gibi örtük mü? Dünya bilgisi ile dilsel bilgi ayrı ayrı mı saklanmalıdır, yoksa bu sistemde olduğu gibi birleştirilmeli midir? Genel bir dil anlama sisteminin bu makaledeki bazı fikirlerden yararlanabileceğine inanıyorum.

Önceden depolanmış istek ağında yer alan bilginin erişilebilir olabilmesi için, ona benzer bir şeyin kurulmuş olması gerekir. Elbette, "Uçaklar bakım gerektirir" gibi olgular, "uçak", "gerektirmek" ve "bakım" sözcüklerinin yalıtılmış sözlük tanımlarının art arda getirilmesinden ortaya çıkmaz; bu olguların bir şekilde bu ya da ilişkili tanımların parçası haline getirilmesi gerekir (yani makineler bakım gerektirir ve uçak bir makinedir).

Benzer şekilde, veri tabanı arama işlevlerinin artımlı olarak kurulabildiği (SHRDLU /3/’da olduğu gibi) ve aynı zamanda anlamsız isteklerin yakalanabildiği bir program yazmak, bizimkinden daha büyük ve daha yavaş bir program yazmadan mümkün değildir.

Girdi tümcelerinin tümünü, dünya bilgisi depolama alanından tasarruf etmek için kanonik bir biçime dönüştürmenin mi, yoksa tüm yüzey biçimlerinin doğrudan eşleştirilmesinin mi tercih edilmesi gerektiği çok daha tartışmalıdır; ancak yüzey biçimlerinin depolanması, dilbilgisel olmayan ya da kısmi girdi tümcelerinin kolayca tolere edilmesine olanak tanır.

Veri Tabanı Soru Yanıtlama Sistemleri için Avantajlar

Bu makalede tanımlanan sistem türünün bazı belirgin avantajları vardır.


Waltz (23. Sayfadan Devam)

  1. Deyimler son derece düzenli ve kolay bir biçimde ele alınabilir.
  2. Sistem çok hızlı çalışabilir ve asla geri izleme yapmak zorunda değildir.
  3. Önceden saklanmış istek ağı, zamir göndermelerinin sezgisel olarak açık görünen ve uygulanması basit bir şekilde ele alınmasını sağlar.
  4. Karmaşık arama işlevleri, onları çağırmayı amaçlayan cümlelerle düzenli bir biçimde ilişkilendirilebilir.
  5. Belki de en önemlisi, sistemin yazılması basittir; her ne kadar yazım süreci zaman alıcı olabilse de ve her yeni veri tabanına uygulama, önemli miktarda yeniden yazım gerektirse de.

Özet

Önceki bölümler, PLANES üzerindeki çalışmamızın, bir kullanıcıyı büyük bir veri tabanıyla daha akıllı ve kullanıcı odaklı bir sistem aracılığıyla buluşturmayı hedefleyen, birbirine paralel ve ilişkili birçok bölümünü tanımlamıştır.

Belirli bir Deniz Kuvvetleri uçakları veri tabanı ile çalışıyor olsak da, geliştirdiğimiz fikirlerin ve programların hem askerî hem de askerî olmayan uygulamalarda geniş bir değere sahip olabileceğini düşünüyoruz.

Kaynaklar

  1. B. F. Green ve diğerleri, "BASEBALL: An Automatic Question-Answerer," Feigenbaum ve Feldman (der.), Computer and Thought, McGraw-Hill, New York, 1963.
  2. W. A. Woods ve diğerleri, "The Lunar Sciences Natural Language Information System," Bolt, Beranek, and Newman, Inc., Cambridge, Mass., Rapor No. 2378, 1972.
  3. T. Winograd, Understanding Natural Language, Academic Press, New York, 1972.
  4. W. A. Woods, "Transition Network Grammars for Natural Language Analysis," Communications of the ACM, Cilt 13, ss. 591–606, 1970.
  5. G. J. Sussman ve diğerleri, "MICRO-PLANNER Reference Manual," MIT AI Lab Memo 203A, Cambridge, Mass., Aralık 1971.
  6. D. L. Waltz, "Natural Language Access to a Large Data Base: An Engineering Approach," Advance Papers of the Fourth International Joint Conference on Artificial Intelligence, Tiflis, Gürcistan, SSCB, Eylül 1975 (MIT AI Lab., Cambridge, Mass.’tan temin edilebilir).
  7. P. Rutter, "Navy Data Base Read Package," Advanced Automation Group Working Paper 3, Coordinated Science Lab., Illinois Üniversitesi, Şubat 1975.

İlgilenen Okuyucu için Bir Bibliyografya

D. Bobrow ve A. Collins (der.), Representation and Understanding, Academic Press, New York, 1975.

E. F. Codd, "Seven Steps to Rendezvous with the Casual User," Proceedings of the IFIP TC-2 Working Conference on Data Base Management Systems, Cagese, Korsika, Nisan 1974, North-Holland Publishing Co., Amsterdam.

R. Gerritsen, "The Application of Artificial Intelligence to Data Base Management," Advance Papers of the Fourth International Joint Conference on Artificial Intelligence, Tiflis, Gürcistan, SSCB, Eylül 1975 (MIT AI Lab., Cambridge, Mass.’tan temin edilebilir).

G. E. Heidorn, "Natural Language Inputs to a Simulation Programming System," Naval Postgraduate School Report NPS-55 HD 72101A, Monterey, Calif., Ekim 1972.

C. H. Kellogg ve diğerleri, "The CONVERSE Natural Language Data Management System: Current Status and Plans," Proceedings of the ACM Symposium on Information Storage and Retrieval, Maryland Üniversitesi, College Park, 1971.

M. L. Minsky (der.), Semantic Information Processing, MIT Press, Cambridge, Mass., 1968.

M. L. Minsky, "A Framework for Representing Knowledge," Winston (der.), The Psychology of Computer Vision, McGraw-Hill, New York, 1975.

R. C. Schank ve K. M. Colby (der.), Computer Models of Thought and Language, W. H. Freeman, San Francisco, 1973.