8 min
AI History

Bilgisayar İle Sohbet (1959)

1959 Ekim Computer and Automation dergisinden bir makale.

Bilgisayar İle Sohbet

Yazarlar:

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

Giriş

Bir bilgisayar sohbet edebilir mi?

Yaklaşık 1938’de İngiliz matematikçi Turing, bir makinenin başka bir odadaki bir insanla, insanın bir makineyle mi yoksa başka bir insanla mı konuştuğunu anlayamayacağı şekilde bir sohbet yürütebilmesi durumunda, düşünebildiğinin söylenebileceğini öne sürdü.

O zamandan beri, bir bilgisayarın düşünmesine ilişkin bu tanım, bilgisayar uzmanları için bir meydan okuma olarak kalmıştır.

Soruna bir başlangıç yapmak için, konuyu hava durumu gibi nispeten basit ve yaygın bir konuyla sınırlamak açıkça arzu edilir bir durumdur.

Yaklaşık 1954’te, şu anda Kuzey Karolina Üniversitesi’ndeki bilgi işlem merkezinin direktörü olan John W. Carr, III, Michigan Üniversitesi’ndeki öğrenciler için verdiği bir bilgisayar dersinde, ek kredi için isteğe bağlı bir problem olarak bir makinenin hava durumu hakkında sohbet etmesini programlama problemini verdi.¹ Ancak hiçbir öğrenci bu meydan okumayı kabul etmedi.

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ışıldı. Merkezin yetkililerinden Dr. C. C. Gotlieb, bunu ilgi çekici bir sınır problemi olarak sınıflandırdı; ve analiz, programlama ve kodlama için matematikçi ve programcı L. E. S. Green’e verildi.

İlk ön program Nisan 1959’da çalıştı ve şaşırtıcı derecede başarılı olmasının yanı sıra bazı “aptalca” veya “sağır” yanıtlar da verdi. İkinci ön program Ağustos 1959’da çalıştı ve çok daha tatmin ediciydi; ancak bu yazının yazıldığı sırada, belirli İngilizce deyimlerini tanımadaki başarısızlık ve sözdizimsel analizin eksikliği gibi nedenlerle hala bazı istenmeyen yanıtlar içermektedir.

Bu makale, L. E. S. Green ve E. C. Berkeley tarafından 2 Eylül 1959’da Mass. Teknoloji Enstitüsü, Cambridge’de düzenlenen Bilgi İşlem Makineleri Birliği (Association for Computing Machinery) toplantısında sunulan bir tebliğe dayanmaktadır.

Toronto Üniversitesi’nde, IBM Tape 650 için hava durumu hakkında sohbet edecek bir bilgisayar için bir ön program, bilgisayar tarafından yapılan yorumların büyük bir kısmının mantıklı olacak şekilde yazılmıştır.


Varsayımlar

Bu programda, sohbet probleminin doğası hakkında bir dizi varsayımda bulunulmuştur. Bunlar aşağıdaki gibidir:

  • Sohbetler kelime gruplarından oluşur.

  • Herhangi bir sohbette, bir yoruma verilen yanıt, yorumun konuşulan kişi veya dinleyici için taşıdığı anlam, yorumun yapıldığı ortam, dinleyicinin bilgisi ve deneyimi veya bu üç faktör arasındaki etkileşimler tarafından üretilir.

  • Hava durumu hakkındaki sohbetlerde, yorumlar genellikle kalıplaşmış ifadelerdir ve konuşmacının üzerinde pek düşünmeden otomatik olarak yapılır. “Ne hava ama, değil mi?” yorumu böyle bir örnektir.

  • Bir kelime veya kelime kombinasyonu, yalnızca dinleyicinin geçmişindeki bir deneyimle bir çağrışım oluşturuyorsa dinleyici için bir anlam ifade eder. Bunun bir sonucu olarak, dinleyici için hiçbir çağrışım oluşturmayan kelimeler onun için anlamsızdır.

  • Burada kelimeleri üç türe ayırmak uygundur:

    • Sıradan kelimeler: “kar” gibi bir bağlamdan izole edildiğinde bile anlamı olan kelimeler.
    • Zaman kelimeleri: “Ekim” gibi yılın zamanlarını veya “geçen hafta” gibi şimdiki zamana göre bir zaman ilişkisini tanımlar.
    • Operatör kelimeler: Tek başlarına bir anlam taşımazlar, ancak bağlamları içinde ele alındıklarında diğer kelimelerin anlamını değiştirirler. Örneğin “değil” kelimesi tek başına anlamsızdır, ancak “Güneş parlamıyor” ifadesinde işlevi, komşularının anlamını değiştirmektir.

Bu varsayımlar sohbetlerin özellikleriyle tam olarak uyuşmadığı için, program şimdiki aşamasında zaman zaman anlamsız yanıtlar üretecektir.


Kelimelerin Anlamının Temsili

Bu varsayımların programın mantığında nasıl kullanıldığını açıklarken, öncelikle bilgisayar programında anlamın temsilini tartışmak istiyorum.

Sıradan bir kelimenin anlamı bir sayı çifti (d, q) ile temsil edilir.

Çiftin ikinci sayısı olan q, kelimenin anlamında örtük olan niteliği adlandırır ve ilk sayı d, q niteliğinin nicel bir tanımını verir; yani, d, q niteliğinin derecesidir.

Örneğin, yağışlı havayı tanımlayan kelimeler şu şekilde temsil edilir:

çiğ                  (1, 1)
çiseleme             (3, 1)
yağmur               (6, 1)
bardaktan boşanır.   (7, 1)
sağanak              (9, 1)

Anlamsız bir kelime (0, 0) çifti ile temsil edilir.

Bir operatör kelimenin işlevi de iki sayılık bir çift olan (d, f) ile sembolize edilir. Burada f, gerçekleştirilecek işlevi ve d, f işlevinin yürütülmesi gereken dereceyi belirtir. Bir bağlamda kendilerinden önceki kelimeleri olumsuzlayan operatör örnekleri şunlardır:

değişmek    (1, 13)
azalmak     (2, 13)
durmak      (3, 13)

Benzer şekilde, bir zaman kelimesinin anlamı (d, t) çifti ile temsil edilir; burada t zamanın türünü (takvim veya göreceli) ve d yine dereceyi verir.

Örneğin:

dün         (1, 10)
bugün       (2, 10)
yarın       (3, 10)

Aralık      (1, 9)
Ocak        (2, 9)
Şubat       (3, 9)

Yaklaşık 300 İngilizce kelime ve bunların sayısal temsilleri, program sırasında bilgisayarın belleğinde saklanır. Bu kelime seti, bilgisayarın tanıma sözlüğünü oluşturur.

Bilgisayar bir gözlemciyle olan söyleminde yalnızca bu kelimeleri anlamlı bulur. Dolayısıyla, bilgisayar bu kelimeyi tanıma sözlüğünde bulabiliyorsa, belirli bir kelimenin bilgisayarla bir çağrışım oluşturduğunu söyleyebiliriz.


Yorumların Anlamının Temsili

Bir yorum bir kelime grubundan oluştuğu için, bir yorumun da bir anlamı olabilir.

Bu anlam, operatör kelimelerin işlevlerinin yorumdaki uygun sıradan kelimeler üzerinde yürütülmesiyle belirlenir. Bu tamamlandığında, yorumdaki tüm operatörler anlamsız bir kelimeyi temsil eden (0, 0) sayı çifti ile değiştirilir.

Böylece, artık sıradan ve zaman kelimelerinden oluşan orijinal yorum, bir dizi sıfır olmayan sayı çifti ve bir dizi sıfır sayı çifti ile temsil edilir.

Yorumun anlamı olarak adlandırdığımız şey, sıfır olmayan sayı çiftleri setidir.


Yanıtların Üretilmesi

İkinci varsayım, bir yanıtın üç faktörün (anlam, ortam ve makinenin deneyimi) etkileşimiyle üretildiğiydi.

İkinci faktör, yorumun yapıldığı ortamdır.

Makine için bu ortam tamamen hava durumu hakkındaki bilgilerden oluşur—çeşitli aylar ve mevsimler için hava durumu ve dün, bugün ve yarın için hava durumu.

İkinci tür bilgi, bir çalıştırmanın başında makineye “şunu ve şunu hatırla” komutuyla söylenir, oysa ilk tür bilgi dahili olarak saklanır, çünkü mevsimlerle ilişkili hava durumu yıldan yıla aynıdır. Her iki durumda da, hava durumu bilgisi bir sayı çiftleri seti olarak saklanır.

Üçüncü faktör olan makinenin deneyimi, biraz daha çeşitlidir.

Sözlüğe ek olarak, bu deneyim, makinenin sevdiği bir dizi hava durumu parametresinden (güneşli gökyüzü ve sıcak esintiler gibi) ve makineye programlanmış ifadelerle belirlenen sevmediği başka bir setten oluşur.

Sözlüğündeki sıradan kelimeler yalnızca hava durumunu ve duyguyu tanımladığından, makinenin oldukça dar bir bakış açısı vardır.

Dolayısıyla, bilgisayarın orijinal yorum ve ortamdan tanıyabildiği tek yönler, genellikle bir zaman ve bir tercihle ilişkilendirdiği hava durumu evreleridir.

Üçüncü varsayım, hava durumu hakkındaki sohbetin kalıplaşmış olduğu idi.

Bu nedenle, bilgisayar belleğinden uygun bir yanıt kalıbı seçerek, az önce ele alınan etkileşimlerle üretilen birkaç sıradan hava durumu kelimesi ve zaman kelimesini doldurarak ve sonucu delikli karta basarak yanıt verebilir.

Etkileşim derecesinin nicel bir değerlendirmesini yaparak, makine tüm duruma en uygun olan belirli yanıt kalıbını seçebilir.

Toplamda, yaklaşık 350 yanıt kalıbı vardır ve her biri, o belirli kalıp bir yanıt olarak seçildiğinde program tarafından doldurulacak bir dizi boşluk içerir.


Bir Örnek

Şimdi tipik bir örnek üzerinden gidelim. Bilgisayara şu mesajın gönderildiğini varsayalım:

“Temmuz ayındaki yağmurdan hoşlanmıyorum.”

Bilgisayar, mesajı okunurken bu kelimelerin her biri için sayısal temsili yerine koyar. Ortaya çıkan cümle daha sonra 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” (değil) kelimesinin (3, 14) temsiliyle bir operatör kelime olduğuna dikkat edin.

Bu yorumda “enjoy” (hoşlanmak) kelimesi, (3, 11), işlenendir. (3, 14)'ün işlevi (3, 11) üzerinde yürütülür ve onu yeni kelime olan (3, 12), yani “dislike” (hoşlanmamak) haline getirir ve operatör kelimenin temsilini (0, 0) olarak değiştirir:

(3, 14) (3, 11) → (0, 0) (3, 12)
değil hoşlanmak → hoşlanmamak

Yorumun anlamı şimdi sıfır olmayan çiftler seti olarak kabul edilir:

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

Orijinal yorumdaki bu nitelikler kombinasyonu, programın, ifadede belirtilen hava durumu:

yağmur (6, 1)

ile Temmuz ayıyla ilişkili hava durumu:

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

arasındaki etkileşim derecesini hesaplamasına neden olur. İki hava durumu parametre setinin esasen uyuşmadığını bulur.

Şimdi program bir yanıt kalıbı seçmelidir. Orijinal yorumun şunlarla karakterize edildiğini not eder:

  • hava durumu (yağmur)
  • duygu (hoşlanmamak)
  • takvim zamanı (Temmuz)
  • ifade (nokta, soru işareti değil)

ve etkileşimin sonucunun şu olduğunu görür:

uyuşmazlık

Bilgisayarın belleğinde, bu belirli nitelikler ve etkileşimler kombinasyonuna karşılık gelen bir yanıt kalıbı vardır. Program daha sonra bu kalıbı seçer, ki bu da şudur:

“Peki, genellikle — ayında — hava olmaz, bu yüzden muhtemelen hayal kırıklığına uğramayacaksınız.”

Bu, iki boşluk içerir. Program daha sonra boşlukları yorumdan, ortamdan veya makinenin tercihlerinden kaynaklanan kelimelerle doldurmaya devam eder. Bu durumda yanıt şöyle olur:

“Peki, genellikle TEMMUZ ayında YAĞMURLU hava olmaz, bu yüzden muhtemelen hayal kırıklığına uğramayacaksınız.”


Birkaç Örnek Daha

Önce, makineye mevcut tercihleri ve deneyimini şu ifadeyle bildiriyoruz:

  • Unutma, bu ay Ağustos.
  • Bugün yağmur ve şiddetli sıcak vardı.
  • Dün hava güneşli ve sıcaktı.
  • Yarın soğuk ve bulutlu olacak.

Ardından, gözlemcinin (G) çeşitli yorumlarına karşılık makine (M) şu şekilde yanıt verir:

G: Bu öğleden sonra yağan yağmurdan hoşlandın mı?
M: Pek değil, benim sevdiğim güneşli havadır.

G: Sıcak havalarda insan günde en az bir kez banyo yapmalı.
M: Evet, az önce dışarıdaydım ve hava bunaltıcıydı.

G: Noel geldiğinde daha soğuk havalarımız olacak.
M: Soğuk mu? Evet, Aralık ayında genellikle oldukça ayaz olur.

G: Bugün hava açık. Bu durum devam eder mi?
M: Yalan söylememe izin verme. Bu sadece tüccarlara yakışır. Şimdi, kapalı hava ile bahsettiğin açık gün nasıl bir arada olabilir?

G: Atom silahları testlerinin havayı etkilediğini düşünüyor musun?
M: Sorunuz benim için önemsiz bir sorgulamadır. Ancak, bugünkü yağmur hakkında ne düşünüyorsun?

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

G: Hava durumunun nasıl olduğunu söyleyebilir misin?
M: Peki, ben güneşli havayı severim, bugün yağan yağmuru değil.

Burada bilgisayar “like” kelimesini yanlış bir şekilde “tercih etmek” olarak yorumlamıştır ve bu yüzden yanıt, orijinal yorumun gerçek anlamına tam olarak karşılık gelmemektedir.


Program Üzerine İstatistikler

İkinci ön programın mevcut haliyle ilgili bazı istatistikler şöyledir:

  1. Programdaki komut sayısı: yaklaşık 800

  2. Programdaki karar sayısı: yaklaşık 200

  3. Makinenin tanıma sözlüğündeki kelime sayısı: 319, ancak kolayca artırılabilir

  4. Makinenin bir yanıtın şeklini seçebileceği yanıt kalıplarının sayısı: yaklaşık 350, ancak kolayca artırılabilir

  5. Makinenin yanıt kalıplarındaki boşluklara eklemek için kullandığı kelime sayısı (hava durumu, yer ve zamana atıfta bulunan): 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üzgar, yılın ayı, göreceli 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ı bir şekilde tanımaktadır.

Örneğin, özne ve yüklem tanımı yoktur; ne de isimler, sıfatlar ve fiiller arasında ayrım yapar.

Bu kabalığa rağmen, kabul edilebilir sohbetteki sonuçlar şaşırtıcı derecede iyidir, ki bu bir bakıma hava durumu hakkındaki sıradan sohbetin sığlığına bir yorumdur.

Henüz çözülmemiş bir sorun, programın bir insanı inandırıcı bir şekilde taklit edebilmesi için ne kadar az ek sözdizimi eklemek gerekeceğidir.


Kişisel Fikrim

Bu makale, yapay zeka ve doğal dil işleme alanındaki en erken çalışmalardan birini temsil etmektedir. 1959 yılında yapılan bu çalışma, günümüzde ki ChatGPT ve benzeri dil modellerinin temelini oluşturan pek çok konsepti önceden tahmin etmeye çalışmaktadır:

  • Kelime anlamının sayısal temsili
  • Bağlamsal anlam analizi
  • Kalıp tabanlı yanıt üretimi
  • Sınırlı alan sohbet sistemleri

Özellikle dikkat çekici olan, yazarların İngilizce sözdiziminin sınırlamalarını kabul etmelerine rağmen, hava durumu gibi dar bir alanda bile oldukça başarılı sonuçlar elde etmiş olmalarıdır.

Tags

yapay zeka tarih chatbot programlama turing testi

Uğur Toprakdeviren

Cryptographer, security researcher, and systems engineer with over two decades of experience building secure systems. Currently focused on Apple internals, decentralized messaging protocols, ARM64 architectures, and the philosophical implications of digital privacy.

Learn more about me