Yapay Zeka – 1

 

Dün Facebook’un kurucu Mark Zuckerberg’in Iron Man filmindeki asistan Jarvis gibi bir yapay zeka yapmak istediği haberi vardı.

 

Benim elimin altında 100’lerce zeki mühendis yok. Ancak bu benzer bir yapay zekayı tasarlamak nasıl olur sorunusu yanıtlamamıza engel değil.

 

Sorulara yanıt arayarak başlayabiliriz.

 

Yapay zeka nedir?

Filmden hatırlarsak Tony Stark’ın çeşitli konularla ektileşime geçtiği ve kendine karar kalabilen –izin verildiği ölçüde- bir yapı olarak özetleyebiliriz.

 

Detaya inersek:

  • Kişinin komutlarını (sesli veya yazılı) yorumlayıp veritabanından uygun işlemi bularak geri bildirim yapabilmeli.
  • Kurgulanan düşünme yapısına göre verdiği yanıtlar arasından doğru seçeneği seçebilmeli. Hata yapabilme riski olabildiğince insan davranışı ekleyecektir.
  • Ortamda yer alanla iletişime geçebilmeli ve kişiye bildirim yapıp istenilen işlemi yapabilmeli.

 

Nasıl düşünmeli?

Bu soruyu cevaplarken kendimizi düşünelim. Temel insan davranışı yıllar içerisinde aile, sosyal çevre vb. kişisel deneyimlere ile elde edilir. Ancak yapay zekanın bu kadar zamanı ve imkanı yok. Bu nedenle yönetilecek en temel soruyu bile anlayıp cevaplandırabilmesi için programatik olarak bunun yazılmış olması gerek.

 

Örneğin “merhaba” sorusuna cevap verdiğinizi düşünün. O anki modunuz yada kişiliğinize göre vereceğiniz “merhaba. Nasılsın?” yanıtı için belki 100’lerce yanıt bulacaksınız.

 

Bu nedenle Facebook gibi milyonlarca insanın her gün düzenli olarak etkileşime geçtiği bir yapıda bu olasılıkları bulmak çok zor değil. Hali hazırda anlık sohbet programı WhatsApp’ı da bu kervana eklerseniz aslında bu veriyi elde etmenin basit bir veritabanı sorgusu olduğunu görmek zor olmayacaktır.

 

İstenilen cevaplar için sadece facebook ve whatsapp bile yeterli başlangıç bilgisini verebilir. Üstelik hemen her dilde!

 

Programlama

Basit bir konsol uygulaması olarak yapay zekamızı kodlamaya başlayabiliriz.

 

Yapay zekanın adımınız bildiğini varsayıyorum.

  • Merhaba Behran!
  • Nasılsın?

 

Verilecek cevap için birçok seçenek var değil mi?

 

Günlük kullanımımızdan birkaç cevap türetelim.

“İyiyim. Sen nasılsın?” , “İyidir abi sen nasılsın?”, “iyi abi ne olsun? Senden naber?”

 

Örneğin Facebook’ta bu işi yapıyor olsam hazırlayacağım sorgu (TSQL) şöyle olurdu

“Select messages from dbMessages where parentMessageText like ’Nasılsın?’ ”

(Mantıksal olarak böyle. Tabiki parametreler vs. farklıdır : ] )

 

Listeyi uzatmak mümkün. “İyiyim. Sen nasılsın?” cevabını veriyorum.

 

Burada duralım. Bir insanla bu dialog kişiye göre sonsuz olasılıkla devam edebilir. Bu nedenle yapay zekamıza bir kişilik katmak istiyorsak belirli parametrelere göre yanıt üretebilmeli.

 

Birkaç parametre üretelim.

 

  • Sosyallik ( konuşkan bir yapay zeka bazen sıkıcı olabilir : ] )
  • Mutluluk
  • Üzgünlük

 

Yapay zekanın vereceği yanıt için bu parametrelerle bir bağlantı olması gerek. Kullandığımız emojiler ne güne duruyor! (bunu ben uydurdum. Belki işe yarıyordur kimbilir)

 

Evet temel olarak yapay zeka üzerine kaba taslak bir yapı oluşturduk. İkinci yazı ile biraz daha detaya ineceğim.

 

Görüşmek üzere.

Leave a Reply

Your email address will not be published. Required fields are marked *