Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Yapay Zeka ve Konuşan Bot

Konu, 'Oyun Geliştirme' kısmında PiYoNASP tarafından paylaşıldı.

  1. PiYoNASP

    PiYoNASP Aktif Üye

    Kayıt:
    30 Temmuz 2004
    Mesajlar:
    485
    Beğenilen Mesajlar:
    0
    Merhaba Arkadaşlar,

    Yapay zeka ve konuşan botlar üzerine bir takım çalışmalar yapmaktayım.

    Daha önce bu konularda düşünmüş olan ve fikirleri olanlar var mıdır?

    Ayrıca bu tarz çalışmalara yönelik Türkçe (ki olduğunu sanmıyorum) ya da İngilizce kaynaklar, anlatımlar görmüş olanlar ya da bilenler var mıdır?

    Değerli fikirleriniz için şimdiden teşekkür ederim.

    Not: Lütfen konudan bağımsız/alakasız cevaplar vermemeye özen gösterelim.
     
    Son düzenleme yönetici tarafından yapıldı: 23 Ekim 2010
  2. Scientius

    Scientius Daimi Üye

    Kayıt:
    17 Kasım 2009
    Mesajlar:
    581
    Beğenilen Mesajlar:
    0
    Meslek:
    Öğrenci; ancak PHP de olacak diyebiliriz...
    Şehir:
    tinç
    Bu konuda forumda onlarca konu. Ancak bir tane bile düzenli konu yok. Arkadaşların çabası Mysql ve Php ile yapay zeka yapmak. Bunun en iyi örneği A.L.I.C.E (bağlantı hatırlamıyorum) ki o bile chatbot olarak geçiyor.

    Yapay zeka yalnızca tanımlatıcı (declarative) dillerle yapılır. Bu şu demektir:
    http://en.wikipedia.org/wiki/Declarative_programming
    Örneğin LISP, Haskell, Prolog, Sheme gibi...
    Örneğin A.L.I.C.E'nin mucidi AI Markup Language'yi bulmuş (ki hiç kullanıldığını görmedim) buradan da anlıyoruz HTML, XML, XHTML, SVG, WAP, CSS gibi diller de tanımlatıcı. Tabii bir insan HTML ile bugün bu saniye yapay zeka yapmaya başlasa torunlarının torunlarının torunlarının en en en büyük torunları bile tek sözcük öğretemez, o ayrı konu...



    Şimdi başlık adını okudum, hele konuşan bot yapımı, daha zor. Önce bir robot yapılacak, sonra filmlerdeki gibi konuşturulacak. Bence bunu yapmak şu anda imkansız. Şu günde yalnızca verilen verileri belli bir mantığa göre sayısal ve kavramsal veriler üreten sistemler yapılabilir; diye düşünüyorum, bilmiyorum doğru mu yanlış mı? Keşke biri çıkıp beni yalancı durumuna düşürse, konuşan bir yazılım ürettim dese. :D Bir de bu kişi cevizden çıksa, Türk olsa. Göğsümüz kabarır, fena mı?

    Benim bildiğim bir kaynak yok. Çok meraklıysanız (ki ben eskiden öyleydim, gerçek bir yapay zeka yapabileceğime inanıyordum; şimdi anladım böyle bir şey günümüz teknolojisi ile olmaz, umarım ileride biri (ya da ben, biz, cevizden biri) bunu yapar) Prolog ya da LISP öğrenin. LISP dökümantasyonu var mı bilmiyorum (hiç bakmadım); ancak SWI-Prolog az da olsa bilgi veriyor. Prolog gerekli düzeyde yeterli. Ancak istediğiniz bir işlem için yıllarca kıran kırana bir çalışma, iyi bir Prolog bilgisi ve bir gruba ihtiyaç var. Zor iş; ancak imkansız değil. Bu başlık devam etsin derim ben...
     
  3. warekurt

    warekurt Daimi Üye

    Kayıt:
    21 Şubat 2010
    Mesajlar:
    2,759
    Beğenilen Mesajlar:
    0
    Şehir:
    Çikolata,Kek :D
    TextToSpeech denen bir teknoloji ile yazılı metinler anlaşılabilecek yeterlilikte sesli hale getirilebiliyor. Yani asıl iş yapay zeka kısmı ve yazı şeklinde iletişim kurulabilecek bir bot. Gerisini bir TTS APIsi ile halledebilirsiniz bir şekilde :)

    Nasıl çalıştığını bilmesem de HOSSOHBOT'un önceden kaydedilmiş ses kullanmak yerine TTS ile konuştuğunu sanıyorum.
     
  4. PiYoNASP

    PiYoNASP Aktif Üye

    Kayıt:
    30 Temmuz 2004
    Mesajlar:
    485
    Beğenilen Mesajlar:
    0
    Galiba "konuşan" kısmı yanlış anlaşılmalara neden olmuş..

    Sesli olarak değil yazılı olarak, yazılanlara cevap veren bir bot olarak düşündüm..

    Şu anda Türkiye'de bunu yapan sadece bir firma bulunmakta onun da "yapay zeka" ile çok fazla ilişkili olmadığını söylenmekte...

    En azının o reddeye getirebilmek ve ondan sonrası için işin içine "yapay zeka" kısmını dahil etmeyi planlıyorum.
     
  5. Scientius

    Scientius Daimi Üye

    Kayıt:
    17 Kasım 2009
    Mesajlar:
    581
    Beğenilen Mesajlar:
    0
    Meslek:
    Öğrenci; ancak PHP de olacak diyebiliriz...
    Şehir:
    tinç
    Bence bu doğru. Şimdi bunu nasıl yapıyorlar:
    Kod:
    if(merhaba_dediyse())
     {
     gülümse();
     }
    else if(güle_güle_dediyse())
     {
     el_salla();
     }
    else
     { 
     ...
     }
    Bu çok gereksiz bir söz dizimi. Bu yapının bir şeyler öğrenmesi imkansız.

    Bunu nasıl yaparsınızı bilmiyorum; ancak bence yapabilirsiniz.

    dediğim gibi tanımlatıcı bir dil inceleyim. Çağdaşlığı bakımından Prolog, Sheme, Haskell'den biri olabilir; ancak esas yapay zeka dili prolog'dur...
     
  6. Okan Akyüz

    Okan Akyüz Daimi Üye

    Kayıt:
    8 Mart 2009
    Mesajlar:
    998
    Beğenilen Mesajlar:
    1
    Meslek:
    Makine Yüksek Mühendisi
    Lisp ile ilgili benim kişisel sitemde bir iki kod var ama türkçe başka kaynak bulacağınızı sanmıyorum. İlerde ben kitap yazacak kadar öğrenmezsem tabi :)
    Prolog yerine lisp öneririm. Haskell ile de uğraşmış biri olrak en yetkin dil sanırım bu. Yapay zeka ile ilgili en iyi kaynak PAIM ve AIMA ama kesinlikle PAIP'e bakılmalı (Şu sıralar üzerinde olduğum kitap.) Nitekim PAIPde Lisp ile prolog yazmayı da gördükten sonra proloğa gerek kalmaz sanırım. On Lisp kitabındaki mantıkla Lisp ile Lisp yazıp sonra lisp ile prolog yazıp sonra prolog ile Expert System yazmak AI değil tabiki. Maxima ile uğraşyorum. (PAIP anlattı) böyle şeyler lazım tabi. Metaheuristic ve AI çok dirsek temaslı. Haberler kısmına eklediğim kitabı da okudunuz mu tamamdır (Özelliklr genetic programing üzerine kafa yorup bilgisayar programı yazan bilgisayar programı yazmak noktasında ilerlenebilir)
     
  7. warekurt

    warekurt Daimi Üye

    Kayıt:
    21 Şubat 2010
    Mesajlar:
    2,759
    Beğenilen Mesajlar:
    0
    Şehir:
    Çikolata,Kek :D
    Bence bu yapay zeka, yapay sohbet gibi konularda iş yok :D Bir sürü var ortalıkta, "farklı" ve "çok gerçekçi" hatta "resmen düşünen" bir şey yapmak ise günümüzde bence imkansız. Onun yerine resim/ses algılama konularına yoğunlaşmanızı tavsiye ederim. Mesela WebCam'e yapılan hareketleri algılayarak bilgisayarı kontrol etme projesi çok daha iyi olur. Veya konuşma ile bilgisayarı kontrol etme.

    Demek istediğim bilgisayar makinedir ve henüz bu makineye yapay da olsa "gerçek zeka" kazandırabilecek seviyede değiliz. Yani ona bir düşünme imkanı sunamayız. Beynimizin tam olarak nasıl çalıştığını, kendi düşünme mekanizmamızı çözmeden bu işi kodlar ile nasıl "taklit edebileceğiz"?

    Onun yerine yıllardır yaptığımız gibi makineye sadece emir verme konusunda yeni yollar üretmek daha yerinde olur. Mesela WebCam ile el hareketlerimizle WiiMote kullanırcasına oyun oynayabilmek daha mümkün. Windows ses algılama APIsi ile girişimim olmuştu, WarCraft strateji oyununda bazı şeyleri kontrol edebiliyordum, mesela "seç bir" diyordum seçili üniteler 1.gruba atılıyordu. Daha sonra "bir", "iki" diyerek grupların kontrolünü alıyordum. Veya "işçi" deyince boştaki işçi seçiliyordu falan, klavye olmadan oynuyordum ne güzel :D
     
  8. killaruna

    killaruna Aktif Üye

    Kayıt:
    8 Mayıs 2007
    Mesajlar:
    414
    Beğenilen Mesajlar:
    0
    eskide asprehberi forumda bir arkadas yapmıstı haysiment miydi neydi ole birsey adam kelime hazınesini mysql db den sorgulatırıordu. kelıme mysql de bulunmadıysa googlede bunumu demek ıstedın sistemini kullanıordu ondanda cevap alınmadıgı zaman üzgünüm bu sorunuza cevap veremiorum google amcaya sorabılırsınız dıye bır lınk cıkartıordu.
     
  9. bulbay

    bulbay Üye

    Kayıt:
    26 Aralık 2008
    Mesajlar:
    128
    Beğenilen Mesajlar:
    0
    Konuşması gerekmiyor ama ben de böyle bir şey arıyorum. Sorulan sorulara kendi veritabanındaki sorularla eşleştirip cevap verecek. Daha kesin bir ifadeyle karşı tarafın yazdıklarından, veritabanındaki hangi soruyu sorduğunu anlamaya çalışıp sorunun cevabını getirecek.

    Tam anlamıyla ne dediğini çözüp sohbet etmesi gerekmiyor
     
  10. Scientius

    Scientius Daimi Üye

    Kayıt:
    17 Kasım 2009
    Mesajlar:
    581
    Beğenilen Mesajlar:
    0
    Meslek:
    Öğrenci; ancak PHP de olacak diyebiliriz...
    Şehir:
    tinç
    Son birkaç haftadır (bir ay olmadı pek) felsefe ile uğraşuyorum, ilgimi epey çekti. Gödel, Frege, Sokrates okuyorum işte. Prolog'un oluşturulma gerekçesi açık, yapay zeka. Anlaşılmayan bir şey var. Yapay zeka işi, mantıksal bir iş. Programcı arkadaşlar ya da bu işi en azından bilen arkadaşlar (benim gibi) mantıksal ifadeleri bilirler. C türevi dillerde şunlar vardır: ! , || , && , ^; yani sırasıyla, not , or , and , xor. Ancak bilmediğimi (genel olarak) XNor, Ror, Nor gibi bir çok or kapısı (bağlacı) var. Biz iki tanesini (or ve xor) kullanabiliyoruz. Elbette Gödel'in matematiksel kuramı ile bunlar matematiğe vurulabilir... Ancak çeşitli şeyler (örneğin bulanık mantık) bu tip dillerde daha karmaşık yapıdadır.

    Gerçek yapay zeka, yapay sinir ağları ile yapılır. Yapay zeka yapmak istiyorsanız, Lisp, Haskell, Scheme, Common Lisp, Emacs Lisp, Prolog (swi-gnu) öğrenmek gerek. Bir de biraz felsefik plan olmalı, en azından basit ifadeleri (Es -> ÖxÖs) gibi Venn şemasına dökmek gerek, tabii örneği attım benim de iyi derecede bir bilgim yok... Biraz da mantık nedir, bulanık mantık, çelişmezlik yasası, kesinlik ilkesi, üçüncü durumun olanaksızlığı, tasım gibi şeyler bilmek gerek...
     
  11. Okan Akyüz

    Okan Akyüz Daimi Üye

    Kayıt:
    8 Mart 2009
    Mesajlar:
    998
    Beğenilen Mesajlar:
    1
    Meslek:
    Makine Yüksek Mühendisi
    Yapay sinir ağları sadece ilişkili sınıflandırma yapan fakat önemli bir teoridir. Şuan için model beyni tam olarak modelleyemiyor. O nedenle bunla yapılır demek yanlış olacaktır. Holografic model üzerindeki çalışmalar sanırım bu öğrenme sürecini (Verinin saklanması) noktasında başkaca güzel bir model. Hesaplaması mümkün (furier serileri) . Oysa şahsen YSA ile farklı şekillerde de uğraşmış biri olarak geri besleme algoritmasının süreksizliği gibi sebeplerle ileri yönelimli (katmanlı ağların) başarısızlıkları her ne kadar graf tipli ağlar ile ses ve görüntüyü sınıflandırabilmeye olanak versede YSA ile bu iş yapılır demek bir miktar yetersiz literatür taraması demek oluyor (bol bol science direct okumak ve elsevier journal takip etmek gerekir böyle bir idda için).

    Lisp haskell bilmek elzemdir demek de yanlış olacaktır evet bu diller yapısı gereği daha müsaittir (genetic programing örneğin) fakat bu kadar kesin cümleler kurmak da yanlış olacaktır. Lisp Prolog vb diller AI şemsiyesi ile sıralı notasyon dillerden de ayrılarak kendini lisp machineler dünyasında bıraktı. Farklı araçlar ile bugun zaten pek çok şey genel diller ile yapılabilmekte. Ama evet lisp bilmek biraz farklı bir statü sağlıyor.

    Venn şemalarına ne gerek olduğunu anlamadım. Hem bu işi AI ile halletmek lazım demek hemde akabinde bunu algoritmik sınıflama teremi olan Venn (kümeler guruplama vs) ile ifadelendirmenin ilişkisel mantığını göremedim. Demin eleştirdiğim ANN kavramınızı sadece sınıflandırmaya yarıyor zaten diyerek eleştirmiştim demekki sınıflandırılmış veri önemli veri değil o kadar. (Proloğun temel mantığındaki hata da budur. Sınıflandırılmış veriler üzerinde çalışır.)
     
  12. msn561

    msn561 Yeni Üye

    Kayıt:
    3 Şubat 2015
    Mesajlar:
    3
    Beğenilen Mesajlar:
    0
    Kod:
    if(merhaba_dediyse())
     {
     gülümse();
     }
    else if(güle_güle_dediyse())
     {
     el_salla();
     }
    else
     { 
    yada ses dosyası emped kodu gib
     }