Chatbot’lara Genel Bakış ve Bot Framework
Gelecek, geliyor derken robotlar, yapay zeka mahsülü araçlar ve yazılımlar artık hayatımızın tam ortasındalar. Artık futbol oynayan bir robot, eşya taşıyan bir robot veya insanların komutlarını harfiyen anlayıp tepki veren bir yazılım görmek hayatın normal gelişmeleri oluyor. Yapay zeka alanındaki önemli gelişmelerden biri de Chatbot’lar. Bu yazıda Chatbot’ların gelişimi, teknoloji dünyasında edindiği yer ve bu alandaki yatırımlar hakkında bilgiler vereceğim. Son kısımda da Chatbot uygulamaları geliştirebileceğimiz Bot Framework‘ten bahsedeceğim.
Chatbot’lar, kullanıcıdan aldığı bilgiler doğrultusunda mantıklı işlemler yaparak cevaplar üreten yazılımlardır. Adındaki Chat kelimesinden de anlaşılacağı üzere kullanıcılar bu yazılımlarla metin yazışma aracılığıyla veya sesli konuşarak iletişim kurar. Bir soru sorar, chatbot da soruyu çözümleyip yapay zeka algoritmalarını çalıştırarak mantıklı bir cevap üretir.
+ Şu an Ankara’da hava nasıl?
– Ankara’da sıcaklık 14 derece ve hava parçalı bulutlu.
+ Beşiktaş’ın bir sonraki futbol maçına ait bilgileri söyleyebilir misin?
– Beşiktaş’ın sıradaki futbol maçı Olympiakos ile 16 Mart Perşembe günü saat 21’de.
Bu diyalogları şu an bazı chatbot’larla yapmanız mümkün. Soru-cevap diyaloglarının ötesinde, daha gelişmiş yapay zekâ algoritmalarının da işin içine girmesiyle çok ilginç sonuçlar alınabilir. Örneğin aradığınız bir elbise için mağaza mağaza gezmek yerine chatbot’a “Kırmızı renkli ve kareli yaz mevsimine uygun erkek gömlek modelleri önerebilir misin?” dediğinizde yazılım sizin istediğiniz kriterleri anlayıp, internetteki alışveriş sitelerinden bu kriterlere uygun ürün resimlerini bulup size gösterebilir.
Bunlar akla gelen basit örnekler. Sadece gündelik sorular için değil, endüstriyel alanda, eğitimde, sağlık alanında da chatbot’ların birçok işi kolaylaştıracağını söyleyebiliriz.
Görüldüğü gibi bir çok işimizi sadece bir tane chatbot yazılımına yaptırmaya doğru gidiyoruz. Arama, hava durumunu, nöbetçi eczaneyi, maç skorunu, yarınki randevu programımı öğrenme, istediğim ürünleri bulmama yardımcı olması, hatta istediğim ürünü sesli komutla satın alması… Bu da bize gösteriyor ki chatbotların yaygınlaşmasıyla birlikte telefonlarımıza veya tabletlerimize indirdiğimiz uygulama sayısı azalabilir. Chatbot’lar bazı yazılımların geleceği için bir tehdit olabilir.
Telefon ve tabletlere kurulacak chatbot yazılımlarının yanında chatbot’lar karşımıza donanımsal bir ürün olarak da çıkmakta. Teknoloji devi Google, Facebook, Microsoft ve Amazon gibi firmalar chatbotlar için ciddi yatırımlar yapmaktadır. Örneğin Facebook, kendi uygulaması olan Messenger üzerinde özel bot’lar geliştirilmesine olanak sağlıyor. Bunun yanında yine Facebook donanımsal olarak Jarvis adlı yapay zekâ asistanın duyurusunu yapmıştı. Aşağıda Mark Zuckerberg’in Jarvis ile ilgili tanıtım videosu bulunmaktadır.
Smart speaker ya da virtual personal assistant olarak adlandırılan bu donanımsal ürünlerden bugün itibariyle en ön plana çıkanının Amazon Echo olduğunu söyleyebiliriz. Uzun süredir satışta olan ve binlerce kişinin kullandığı Amazon Echo ile ilgili tanıtım videosunu altta bulabilirsiniz.
Bunların dışında Google Google Assistant, Microsoft ise Xiaoice isimli ürünlerin üzerinde çalışmalar yürütmektedir.
Teknoloji devlerinin Chatbot pazarına çıkardığı donanımsal ürünlere göz attıktan sonra tekrar Chatbotlar konusuna dönelim. Bu kısımda da bir chatbot uygulaması geliştirmek için nasıl bir yol izlememiz gerektiğine değineceğim kısaca.
Bot Framework ile Chatbot Geliştirme
Microsoft’un geliştirdiği ve yazılım geliştiricilere açtığı Bot Framework ile chatbot uygulamaları geliştirebilirsiniz. https://docs.botframework.com adresinde dokümantasyonu ve örnekleri bulunuyor. Bot Framework’ün Node.js ve .NET Framework desteği bulunuyor, ayrıca REST API’si ile farklı ortamlardan da bu kütüphaneyi kullanmanız mümkün.
Bot Framework ile Visual Studio‘da demo uygulamayı nasıl çalıştırabileceğimize adım adım bakalım:
1. Adım: Visual Studio için bu adresten proje şablonunu indirmeniz gerekiyor. İndirilen dosyayı bilgisayarınızın %USERPROFILE%\Documents\Visual Studio 2015\Templates\ProjectTemplates\Visual C#\ dizinine kopyalayın. Kurulumu tamamladıktan sonra Visual Studio’da yeni bir Bot Application uygulaması oluşturabileceksiniz.
2. Adım: Normal şartlarda yayına almak istediğiniz bir bot uygulaması için Bot Framework’ün sitesindeki “Register a bot” menüsünden kayıt yaptırmanız gerekiyor ama test amaçlı çalışmalar için Bot Framework Emulator’ünü kullanabilirsiniz. Bu emülatörü https://emulator.botframework.com/ adresinden indirebilirsiniz. Emülatörü indirip bilgisayarınıza kurun.
3. Adım: 1. adımda anlatılan proje şablonunu doğru dizine kopyaladıktan sonra Visual Studio’yu açın. Yeni bir proje oluşturun, seçeneklerde Bot Application gelecektir, bu seçeneği seçmeniz gerekiyor. Projeniz oluştuysa ve bir hata almadıysanız projenizi çalıştırın. Web tarayıcısındaki adresin sonuna api/messages ekleyip URL’ye erişip erişmediğinizi kontrol edin. Ardından kurduğunuz emülatörün giriş ekranına projenizin messages API url’sini yazın. Örneğin bende oluşan URL http://localhost:3979/api/messages şeklinde. Altta yer alan Microsoft App ID gibi alanları boş bırakarak CONNECT butonundan bot uygulamanıza bağlanın. İşlem bu kadar, artık uygulamanızla mesajlaşabilirsiniz.
4. Adım: Uygulamanızda neler olduğunu görmek isterseniz projenizin Dialogs klasörü altındaki RootDialog class’ında MessageReceivedAsync metoduna bir breakpoint koyarak emülatörden bir mesaj gönderebilirsiniz. Halihazırde gelen mesajlaşma kısmında basit olarak gönderilen mesajın kaç karakterden oluşturulduğu bilgisi dönülmektedir.
Alttaki resimde MessageReceivedAsync metodundaki kodlar ve gelen mesaj görünüyor:
Alttaki resimde de gönderdiğimiz mesaj ve bot uygulamasından gelen yanıt var. Sağ kısımdaki Log alanında da bağlantı ve mesaj gönderim durumlarıyla ilgili bilgiler var.
Bot Framework ile yapılmış daha gelişmiş örneklere Github’daki https://github.com/Microsoft/BotBuilder/tree/master/CSharp/Samples adresinden ulaşabilirsiniz.
1 Comment
erkem
29 Nisan 2017 at 03:51çok güzel bir sistem