← Computers & Automation

Giriş

B
Bilinmeyen Yazar
1959 · Computers and Automation

Bir Bilgisayarla Konuşma

L. E. S. Green — KCS Limited, Toronto, Kanada
E. C. Berkeley — Berkeley Enterprises, Inc., Newtonville 60, Mass.
C. C. Gotlieb — Hesaplama Merkezi, Toronto Üniversitesi, Toronto, Kanada

Bir bilgisayar bir konuşmayı sürdürebilir mi?

Yaklaşık 1938 yılında İngiliz matematikçi Turing, bir makinenin, başka bir odadaki bir insanla, insanın karşısındakinin bir makine mi yoksa başka bir insan mı olduğunu ayırt edemeyeceği biçimde bir konuşmayı sürdürebilmesi durumunda düşünebilme yeteneğine sahip sayılabileceğini öne sürmüştür. O zamandan bu yana, bir bilgisayarın düşünmesine ilişkin bu tanım, bilgisayar alanındaki kişiler için bir meydan okuma olarak kalmıştır.

Probleme bir başlangıç yapmak için, onu hava durumu gibi görece basit ve yaygın bir konu ile sınırlamanın açıkça arzu edilir olduğu görülmektedir. Yaklaşık 1954 yılında, şu anda Kuzey Karolina Üniversitesi hesaplama merkezinin yöneticisi olan John W. Carr, III, Michigan Üniversitesi’ndeki öğrenciler için verdiği bilgisayarlar dersinde, ek kredi için isteğe bağlı bir problem olarak, bir makinenin hava durumu hakkında bir konuşmayı sürdürebilmesini sağlayacak bir program yazma problemini vermiştir. Ancak hiçbir öğrenci bu meydan okumayı üstlenmemiştir.

Aralık 1958’de problem (dil, fikirler ve bilgisayarlar üzerine bir çalışmanın parçası olarak E. C. Berkeley tarafından ifade edilip analiz edildiği şekliyle) Toronto Üniversitesi Hesaplama Merkezi ile tartışılmıştır. Merkezden Dr. C. C. Gotlieb, bunu ilgi çekici bir sınır problemi olarak sınıflandırmış; problem, analiz edilmesi, programlanması ve kodlanması için matematikçi ve programcı E. S. Green’e verilmiştir.

İlk ön program Nisan 1959’da çalıştırılmış ve şaşırtıcı derecede başarılı olduğu, ancak bazı “aptalca” ya da “sağır” yanıtlar verdiği görülmüştür. İkinci ön program Ağustos 1959’da çalıştırılmış ve oldukça daha tatmin edici olmuştur; ancak yazının kaleme alındığı tarihte, belirli İngilizce deyimleri tanıyamama ve sözdizimsel çözümlemenin eksikliği gibi nedenlerle hâlâ bazı istenmeyen yanıtlar içermektedir.

Bu makale, E. S. Green ve E. C. Berkeley tarafından 2 Eylül 1959’da Cambridge’deki Massachusetts Institute of Technology’de düzenlenen Association for Computing Machinery toplantısında sunulan bir bildiriyi temel almaktadır.

Toronto Üniversitesi’nde, IBM Tape 650 için, bilgisayarın hava durumu hakkında konuşabilmesini sağlayan bir ön program, bilgisayarın yaptığı yorumların büyük bir bölümünün anlamlı olacak şekilde yazılmıştır.


Alıntı

John W. Carr, III tarafından yazılan ve Computers and Automation’ın Şubat 1955 sayısında (Cilt 4, Sayı 2, s. 6–8) yayımlanan Problems For Students of Computers adlı eserden alıntı:

21. Sınırlı Konuşma

MIDAC’ın belirli bir konu (örneğin hava durumu) hakkında makul ölçüde açık bir konuşma yapıyor gibi görünmesini sağlayacak bir program tasarlayın.

[Şu ana kadar hiçbir öğrenci, gerçekten zor bir problem olan 21. problemi denememiştir (A. M. Turing’in bir makinenin “düşünmesi” tanımına yaklaşmak için açık bir meydan okuma); ancak bu problem, sınıf üyeleri arasında çok sayıda yoruma ve tartışmaya yol açmıştır. Birkaç geçici taslak şema şimdiden önerilmiştir.]


Varsayımlar

Bu programda, konuşma probleminin doğasına ilişkin bir dizi varsayım yapılmıştır. Bunlar aşağıdaki gibidir:

  1. Konuşmalar sözcük gruplarından oluşur.
  2. Herhangi bir konuşmada, bir yoruma verilen yanıt; yorumun, konuşulan kişi ya da dinleyici için taşıdığı anlam, yorumun yapıldığı çevre, dinleyicinin bilgi ve deneyimi ya da bu üç etken arasındaki etkileşimler tarafından belirlenir.
  3. Hava durumu hakkındaki konuşmalarda, yorumlar çoğunlukla klişedir ve konuşmacı tarafından çok az düşünme ile otomatik olarak yapılır. “Ne havalar ama, öyle değil mi?” yorumu buna bir örnektir.
  4. Bir sözcük ya da bunların birleşimi, dinleyici için ancak dinleyicinin geçmişindeki bir deneyimle ilişki oluşturuyorsa bir anlama sahiptir. Buna bağlı olarak, dinleyici için hiçbir çağrışım oluşturmayan sözcükler onun için anlamsızdır.
  5. Burada sözcükleri üç türe ayırmak uygundur; bunlara sıradan sözcükler, zaman sözcükleri ve işlemci sözcükler diyeceğiz. Sıradan sözcükler, “kar” gibi, bağlamdan yalıtılmış olduklarında bile anlam taşıyan sözcüklerdir. Zaman sözcükleri, “Ekim” gibi yılın zamanlarını ya da “geçen hafta” gibi şimdiye göre zaman ilişkilerini tanımlar. İşlemci sözcükler ise burada, tek başlarına alındıklarında anlam taşımazlar; ancak bağlam içinde ele alındıklarında diğer sözcüklerin anlamını değiştirirler. Dolayısıyla bunların bir anlamdan ziyade bir işlevi vardır. Örneğin, “not” sözcüğü tek başına anlamsızdır; ancak “The sun is not shining” ifadesinde işlevi, komşu sözcüklerin anlamını değiştirmektir.

Bu varsayımlar konuşmaların özellikleriyle bütünüyle örtüşmediğinden, program mevcut aşamada zaman zaman anlamlı olmayan yanıtlar üretecektir.


Sözcüklerin Anlamının Gösterimi

Bu varsayımların programın mantığında nasıl kullanıldığını açıklarken, önce bilgisayar programında anlamın nasıl temsil edildiğini ele almak istiyoruz.

Bir sıradan sözcüğün anlamı (d, q) sayı çifti ile temsil edilir. Çiftin ikinci sayısı q, sözcüğün anlamında örtük olan niteliği adlandırır; birinci sayı d ise bu nitelik q’nun nicel bir betimini verir; yani d, q niteliğinin derecesidir. Örneğin, ıslak havayı tanımlayan sözcükler şu şekilde temsil edilir:

  • dew — (1, 1)
  • drizzle — (3, 1)
  • rain — (6, 1)
  • cats and dogs — (7, 1)
  • downpour — (9, 1)

Anlamsız bir sözcük (0, 0) çifti ile temsil edilir.

Bir işlemci sözcüğün işlevi de (d, f) biçiminde iki sayılı bir çift ile simgelenir. Burada f, gerçekleştirilecek işlevi belirtir; d ise f işlevinin ne ölçüde uygulanması gerektiğini gösterir. Bağlam içinde kendilerinden önce gelen sözcükleri olumsuzlayan işlemcilere örnekler şunlardır:

  • change — (1, 13)
  • abate — (2, 13)
  • stop — (3, 13)

Benzer biçimde, bir zaman sözcüğünün anlamı (d, t) çifti ile temsil edilir; burada t, zamanın türünü (takvim ya da göreli) belirtir ve d yine dereceyi gösterir. Örneğin:

  • yesterday — (1, 10)
  • today — (2, 10)
  • tomorrow — (3, 10)
  • December — (1, 9)
  • January — (2, 9)
  • February — (3, 9)

Program sırasında yaklaşık 300 İngilizce sözcük ve bunların sayısal gösterimleri bilgisayarın belleğinde saklanmaktadır. Bu sözcük kümesi, bilgisayarın tanıma söz dağarcığını oluşturur—bilgisayar, bir gözlemci ile söyleşisinde yalnızca bu sözcükleri anlamlı bulur. Dolayısıyla, bilgisayarın bu sözcüğü tanıma söz dağarcığında bulabilmesi durumunda, belirli bir sözcüğün bilgisayarda bir çağrışım oluşturduğunu söyleyebiliriz.


Yorumların Anlamının Gösterimi

Bir yorum bir sözcük grubundan oluştuğuna göre, bir yorumun da bir anlamı olabilir. Bu anlam, yorumdaki işlemci sözcüklerin uygun sıradan sözcükler üzerinde işlevlerini yerine getirmesiyle belirlenir. Bu işlem tamamlandığında, yorumdaki tüm işlemciler, anlamsız bir sözcüğü temsil eden (0, 0) sayı çifti ile değiştirilir. Böylece, artık sıradan ve zaman sözcüklerinden oluşan özgün yorum, sıfır olmayan sayı çiftlerinden oluşan bir küme ve sıfır sayı çiftlerinden oluşan bir küme ile temsil edilir. Sıfır olmayan sayı çiftlerinden oluşan kümeye, yorumun anlamı adını veriyoruz.


Yanıtların Üretilmesi

İkinci varsayım, bir yanıtın üç etken arasındaki etkileşim tarafından üretildiği yönündeydi: anlam, çevre ve makinenin deneyimi.

Makinenin ortamı bütünüyle hava durumuna ilişkin bilgilerden oluşur—çeşitli aylar ve mevsimler için hava durumu ile dünün, bugünün ve yarının hava durumu. İkinci tür bilgi, çalıştırmanın başında makineye “şunu bunu hatırla” komutuyla bildirilirken, birincisi dahili olarak saklanır; çünkü mevsimlerle ilişkili hava durumu yıldan yıla aynıdır. Her iki durumda da hava durumu bilgisi, sayı çiftlerinden oluşan bir küme olarak saklanır.

Üçüncü etken, makinenin deneyimi, biraz daha çeşitlidir. Söz dağarcığına ek olarak bu deneyim, programlanmış ifadelerle makineye belirlenen; güneşli gökyüzü ve ılık esintiler gibi makinenin hoşlandığı bir dizi hava durumu parametresi ile hoşlanmadığı başka bir diziden oluşur. Söz dağarcığındaki sıradan kelimeler yalnızca hava durumu ve duyguyu betimlediğinden, makinenin bakış açısı oldukça dardır. Bu nedenle bilgisayarın özgün ifadenin ve ortamın tanıyabildiği tek yönleri, genellikle bir zaman ve bir tercih ile ilişkilendirdiği hava durumu evreleridir.

Hava durumu üzerine konuşma kalıplaşmış olduğundan, bilgisayar belleğinden uygun bir yanıt çerçevesi seçerek; az önce ele alınan etkileşimlerce üretilen birkaç sıradan hava durumu sözcüğünü ve zaman sözcüğünü boşluklara yerleştirip sonucu çıktılar. Etkileşim derecesinin nicel bir değerlendirmesini yaparak, makine tüm duruma en uygun belirli yanıt çerçevesini seçebilir. Toplamda yaklaşık 350 yanıt çerçevesi vardır ve bunların her biri, o çerçeve yanıt olarak seçildiğinde program tarafından doldurulacak bir dizi boşluk içerir.


Bir Örnek

Tipik bir örnek üzerinden ilerleyelim. Bilgisayara şu ifadenin söylendiğini varsayalım:

“Temmuz ayında yağmurdan hoşlanmam.”

İfade okunurken bilgisayar bu kelimelerin her biri için sayısal gösterimi yerine koyar. Ortaya çıkan cümle bilgisayarın içinde şu şekilde görünür:

(0, 0) (0, 0) (3, 14) (3, 11) (6, 1) (0, 0) (8, 9)

not sözcüğünün (3, 14) gösterimine sahip bir işleç sözcük olduğuna dikkat ediniz. Bu ifadede enjoy sözcüğü (3, 11) işleçte kullanılan öğedir. (3, 14)’ün işlevi (3, 11) üzerinde uygulanır; onu yeni sözcük olan (3, 12), dislike’a dönüştürür ve işleç sözcüğün gösterimini (0, 0)’a değiştirir:

(3, 14) (3, 11) → (0, 0) (3, 12)

İfadenin anlamının artık sıfır olmayan çiftlerin kümesi olduğu söylenir:

  • (3, 12)
  • (6, 1)
  • (8, 9)

Bu nitelikler birleşimi, programın ifadede geçen hava durumu—yağmur (6, 1)—ile Temmuz ayı ile ilişkilendirilen hava durumu arasındaki etkileşim derecesini hesaplamasına neden olur:

  • sıcaklık — (7, 5)
  • mavi gökyüzü — (6, 3)

İki hava durumu parametreleri kümesinin esasen uyuşmadığını bulur.

Program daha sonra bu duruma karşılık gelen bir yanıt çerçevesi seçer:

“Şey, ----- ayında genellikle --- hava olmaz, bu yüzden muhtemelen hayal kırıklığına uğramazsınız.”

Boşluklar doldurulduğunda şu sonuç elde edilir:

“Şey, Temmuz ayında genellikle yağmurlu hava olmaz, bu yüzden muhtemelen hayal kırıklığına uğramazsınız.”


Birkaç Örnek Daha

Önce makineye şu talimatı veririz:

Bu ayın Ağustos olduğunu hatırla. Bugün yağmur ve şiddetli sıcak vardı. Dün güneşli ve sıcaktı. Yarın soğuk ve bulutlu olacak. Hepsi bu.

Ardından gözlemcinin (O) çeşitli ifadelerine makine (M) şu şekilde yanıt verir:

  • O: Bu öğleden sonra yaşadığımız yağmurdan hoşlandın mı? M: Pek sayılmaz, benim hoşlandığım güneşli havadır.

  • O: Sıcak havalarda insanın günde en az bir kez banyo yapması gerekir. M: Evet, az önce dışarıdaydım ve bunaltıcıydı.

  • O: Noel geldiğinde biraz daha soğuk hava olacak. M: Soğuk mu? Evet, Aralık ayında genellikle oldukça ayaz olur.

  • O: Bugün hava açık. Sürecek mi? M: Yalan söylemeyeyim. Sonunda hiçbiri kalmaz, yalnızca tüccarlar kalır. Peki, kapalı hava ile sözünü ettiğin açık gün nasıl bir arada var olabilir?

  • O: Atom silahı denemelerinin hava durumunu etkilediğini düşünüyor musun? M: Sorunuz benim için önemsiz bir sorgulamadır. Ancak bugünkü yağmur hakkında ne hissediyorsunuz?

Mevcut modelin neden olduğu bir hata örneği şöyledir:

  • O: Bana havanın nasıl olduğunu söyleyebilir misin? M: Şey, ben güneşli havayı severim, bugün yaşadığımız yağmuru değil.

Burada bilgisayar “like” sözcüğünü yanlış biçimde “tercih etmek” anlamında yorumlamış ve bu nedenle yanıt, özgün ifadenin gerçek anlamına yeterince karşılık vermemiştir.


Programla İlgili İstatistikler

Şu anki haliyle ikinci ön programla ilgili bazı istatistikler aşağıdaki gibidir:

  1. Programdaki komut sayısı: yaklaşık 800
  2. Programdaki karar sayısı: yaklaşık 200
  3. Makinenin tanıma söz dağarcığındaki sözcük sayısı: 319, ancak kolayca artırılabilir
  4. Makinenin yanıt biçimini seçebileceği yanıt çerçevesi sayısı: yaklaşık 350, ancak kolayca artırılabilir
  5. Makinenin yanıt çerçevelerindeki boşluklara yerleştirmek için kullandığı (hava durumu, yer ve zamana ilişkin) sözcük sayısı: yaklaşık 75, ancak kolayca artırılabilir
  6. Makinenin en azından kısmen tepki verebildiği anlam parametrelerinin sayısı (sıcaklık, nem, yağış, rüzgâr, yılın ayı, göreli zaman, yer, duygusal tercih vb.): 17
  7. Bir yanıt üretmek için gereken süre: yaklaşık 20 saniye

Mevcut Programın Sınırlamaları

Mevcut programın dayandığı matematiksel model, İngilizce sözdiziminin birçok bölümünü yalnızca çok sınırlı ölçüde tanır. Örneğin, özne ve yüklem tanıması yoktur; ayrıca isimler, sıfatlar ve fiiller arasında ayrım yapmaz. Bu kabalığa rağmen, kabul edilebilir konuşmalarda elde edilen sonuçlar şaşırtıcı derecede iyidir; bu da bir bakıma hava durumu üzerine sıradan konuşmaların yüzeyselliğine dair bir yorumdur. Çözüme kavuşturulmamış bir sorun, programın bir insanı makul biçimde taklit edebilmesi için ne kadar az ek sözdiziminin dahil edilmesi gerektiğidir.

Research Society of America, Huntington Sheraton Hotel, Pasadena, Calif.