Microsoft Bot Framework V4 Serisi-1
Merhabalar kısa bir süre ara vermiş olduğum yazılarıma Microsoft Bot Framework V4 yazı serisi ile devam etmek istiyorum. Tahminimce 5 ya da 6 seri olacak bu anlatımlarda serinin sonunda kendi chatbotumuzu yapabiliyor olabileceğiz .Bu seride Bot nedir ?Microsoftun çıkarmış olduğu Bot Framework nedir ? Ve son olarakta V3(version 3) ->V4(version 4) geçişte ne değişti avantajları nelerdir Koda girmeden kısaca bunlardan bahsedeceğim.
Bot nedir?
Bir bot, otomatik bir görevi yerine getirmek için tasarlanmış bir bilgisayar programıdır .Bu otomatik görevler alarm ayarlama, hava durumunu bildirme veya çevrimiçi arama ya da insan konuşmalarını simüle etmek için kurulmuş bir yapı(chatbot) olarak kullanılabilir. Basit bir senaryo ile anlatmak gerekirse karşınızda insan olmadan fakat insanla konuşuyormuş gibi bir şipariş numarsı ile pizza şiparisi verdiğinizi ya da başka bir örnek vermek gerekirse yıllık izin almak için ik ile konuşuyormuş gibi soru cevap(QnA Bot) şeklinde bilgilerinizi girerek insanla konuşmadan yıllık izin işlemlerinizi hallettiğinizi düşünün işte botlar bu ve bunun gibi daha fazlasını yapabilen uygulamalardır. Diğer bot teknolojileride hemen hemen herkesin bildidiği, kullandığı Siri ve Cortanadır bunlarda sesli komutlarla çalışan botlardır.
Microsoft Bot Framework
Botun ne olduğu tanımını öğrendik. Şimdi ise biz yazılımcılar tarafından olayın işleyişine ve microsoftun geliştirmiş olduğu bot framework yapısına bir göz atalım.
Bir tarafta kullanıcı diğer taraftada da bot var. Bot ile kullanıcının iletişim kurmasını sağlayan orta katmanda(Channel) türkçe adıyla kanal bulunur. Bir botta birden çok kanal olabilir. Bu kanal dediğimiz yapılar facebook messanger, skype, slack, whatsapp ya da web kanalı gibi bot ile iletişim kurabileceğimiz ortamlar olarakta tanımlanabilir. Orta katmanda yani kanal katmaında iletişim api aracılığı ile olur. Her kanal kendine has unique bir json döndürür . Kullanıcı klavyeden birşeyler girer girdiği mesaj (recipient message) hangi kanaldan yazıyorsa o kanal aracılığı ile kullanıcının yazdığı mesajı bota iletir bottan tekrar kullanıcıya bir cevap (send message) döner. Bu anlattıklarım kısaca bir botun işleyişi Hi-Level Bot Mimarisidir .
Botun Gelişimi
1- Simplest Bot: Sadece bir kanal üzerinden yanlızca text mesajı ile iletişim sağlandığı bot türüdür.
2-Moderate Bot: İletişim için birden çok kanalın kullanıldığı mesajlarda buton, link, çoktan seçmeli seçeneklerinde olabilidiği bot türüdür.
3-Hardest Bot: Çok kanallı, Zengin mesaj içerikli ve bunlara ek olarak Doğal Dil İşleme mekanizması bulunduran botlardır.
V3 vs. V4
State Management(Durum Yönetimi)— V4 de yeniden düzenlenmiş state yönetimi vardır. Bu yeniden düzenlemeyle bot statelerimizi (dialog,konuşma,kullanıcı) gibi daha otomatize bir şekilde yapmamızı sağlıyor ve bize bir Sate Management Object ve Propertileri sağlıyor.
New Dialogs(Yeni dialog kütüphanesi)— Dialog yönetimi V4 de yeni gelen dialog kütüphanesi ile dialoglar arası geçişler ve yönetim daha kolay bir şekilde yönetilebiliyor hale gelmiş.
Bot Adapter— Yeni bir özellik bot adapter. Bir bot adapter, Activity yani etkinlik işleme yığınıdır. Peki bu yıgın ne yapar botun kimlik doğrulamasını ,bir kanal ile botunuzun arasındaki gelen ve giden trafiği, konuşmaları yani hemen hemen her türlü işlevi handle etmemizi sağlayan bir özelliktir.
.Net Core — V4 ‘ün artılarından biride .net core desteği tabikide :)
Microsft Bot Framework V4 yazısınınn ilk serisinin böylelikle sonuna gelmiş olduk. 2. Seride Kodlamaya giriş yapıcaz görüşmek üzere.