• Twitter
  • Instagram
  • slack-icon-black_edited_edited_edited
  • development_düzenlendi_düzenlendi
  • Gri LinkedIn Simge

© 2020 by mobiler.dev

Google Sesli Asistan ve Action Geliştirme

En son güncellendiği tarih: 19 Eyl 2019

Geçtiğimiz aylarda Bursa’da düzenlenen bir konferansta Yüksel Tolun’un -kendisine tekrar teşekkürler- Google Asistan üzerine yaptığı bir konuşmayı dinlemiştim. Konu çok ilgimi çekti. İçerisinde “Diyalog Tasarımı”, “Kullanıcı Deneyimi Tasarımı”, “Yapay Zeka (doğal dil işleme)” ve “Kod Yazma” gibi işler barındırıyor. Ve platform Türkiye’de henüz çok bakir durumda. Bu da insanın öğrenme hevesini arttırıyor. (Yakın zamanda Google asistan ile geliştirilen çok sayıda yeni ürün görebiliriz.)


Peki nedir bu Google Asistan? Aslında daha da derine inersek nedir bu “Ses Devrimi”? Biraz geçmişe baktığımızda görüyoruz ki bilgisayar dünyası 10 yılda 1 köklü bir değişim geçirmiş. Bu değişimlere baktığımızda en önemli konunun kullanıcı deneyiminin değişmesi olduğunu görüyoruz. Mesela Mainframe sistemlerde ev büyüklüğünde bilgisayarlar kullanılıyordu. Daha sonra masaüstü bilgisayarlar geldi ve teknolojiyi kullanma şeklimiz büyük ölçüde değişti. Artık bilgisayarı odamızdaki ufak bir masanın üzerinde bile kullanabilir hale geldik. Bu ciddi bir devrimdi. Daha sonra dokunmatik ekranlı akıllı telefonlar yaygınlaştı. Avucumuzun içerisindeki bir cihazla bilgisayarlarda yapabildiğimiz bir çok işlemi yapabilmeye başladık. Bu kullanım tarzı değişikliği de teknolojide yeni bir devrime yol açtı.


Bu kullanım kolaylığının varabileceği uç nokta ise: “Kullanıcıya, bir bilgisayarla etkileşime geçtiğini unutturacak kadar rahat ve doğal bir deneyim sunma” noktası. Mesela Iron Man filmindeki ana karaketerin evindeki bilgisayarla konuşma şekli neredeyse bu seviyede. (Bu yaklaşım Ambient Computing olarak isimlendiriliyor. Bu da çok ilginç ve gelecek vaat eden bir konu bence.)


Peki Google Asistan bu konuların neresinde. Google asistan, üzerinde Türkçe olarak geliştirme yapılabilen ve kendi özelliklerinizi eklemenize olanak sağlayan bir dijital asistan olarak 2016 yılında Google tarafından piyasaya sunuldu. Türkiye’deki lansman filmini aşağıdaki linkten izleyebiliriz:



Google Asistan’ın sesinin mekanikliği sizi yanıltmasın. Sesteki bu mekaniklik insanların asistanı kullanma hevesini pek kırmıyor. Yapılan araştırmalar gösteriyor ki, kullanıcılar ve kullanıcıların sesli iletişime geçtikleri arayüzler (ekran, telefon, hoparlör vs.) arasında duygusal bir bağ oluşuyor. (Mekanik sese rağmen! Ayrıca bu mekanik ses, Google Asistan data topladıkça gerçek insan sesine daha çok benzemeye başlayacak.)


Google Asistan’ı güçlü yapan önemli özelliklerden bir tanesi de offline olarak çalışabiliyor olması. (Bu tamamen yeni bir özellik. Geçtiğimiz aylarda Google I/O’da duyuruldu.) Google Asistan’ın offline moddayken yanıt verme hızı çok daha iyi seviyelere geliyor. Bu da onu daha güçlü bir asistan haline getiriyor. Google I/O’da yapılan sunumu (ya da şovu demeliyim belki de:) aşağıdaki linkten izleyebiliriz:



Şimdi bir kaç konuyu netleştirelim: Google Asistan hali hazırda çalışan kendi başına bir ürün aslında. Ve yukarıdaki videolarda da görebileceğimiz gibi pek çok konuda bize yardımcı oluyor. Ama yetenekleri sonsuz değil. Üstesinden gelemediği bazı konular var. Dolayısıyla da geliştirilmesi gerekiyor. Tam bu noktada Google, Actions On Google adında bir platform sunuyor. Google Asistan’a istediğiniz herhangi bir yeteneği kazandırabiliyorsunuz. Örneğin, ben Google Asistana, Türkiye Milli Futbol takımının önceki maçlarıyla ilgili sorular sorduğumda bana doğru yanıtlar vermesini istiyorum. Bu konuyu içeren yeni bir Action geliştirip yayına aldığım takdirde, Google Asistan bu konuyla ilgili beceriyi de kazanmış oluyor. Bir başka örnek: Diyelim ki bir avm’ye girdiğimde aradığım mağazanın kaçıncı katta, hangi blokta olduğunu Google Asistan’a sorup öğrenmek istiyorum. Bu konuyla ilgili bir Action geliştirip yayına alırsam, artık Google Asistan avm’lerdeki mağaza yerleri konusunda bana yardımcı olabilmeye başlıyor. Son kullanıcı gözünden bakacak olursak sistem şu şekilde çalışıyor: (Kullanıcı ve Google Asistan arasında yaşanabilecek bir diyalog örneği):


Kullanıcı: Okey Google. Bana X mağazasının yerini söyler misin?

Google Asistan: Bu tarz soruların ya da isteklerin için geliştirilmiş olan “Mağazalar Nerede” action’ı var. İstersen seni ona yönlendirebilirim. İster misin?

Kullanıcı: Evet, lütfen.


Bu aşamadan sonra artık sizin geliştirdiğiniz action aktif hale geliyor ve kullanıcı “X mağazası nerede?” sorusunun yanıtını doğru bir şekilde alabiliyor.


Yani aslında biz developerlar olarak Google Asistan’ın gelişmesine katkıda bulunuyoruz. Bunu da yeni action’lar yazarak yapıyoruz. Günün sonunda kullanıcılar kendi cihazlarında Google Asistan’ın tüm yeteneklerini istedikleri zaman kullanabiliyorlar.


Peki Actions On Google nedir? Biz bunun üzerinde nasıl geliştirme yapabiliriz? Actions On Google üzerinde geliştirme yapmanın birden fazla yolu var. Basitten zora doğru gideceğiz. Ve bu yazıda nispeten basit bir yöntem olan template’lerden bahsedeceğiz. Template’ler başlangıç seviyesi için güzel bir yöntem. Peki nasıl oluşturuluyor? Google size bir tane excel dosyası veriyor. Siz bu excel dosyasının içerisindeki yazıları değiştirerek action’ınızı tasarlayabiliyorsunuz. Bu basitlik avantajının yanında bir de dezavantajı var. Template’lerin türü sınırlı. Template kullanarak 4 farklı türde action geliştirebiliyorsunuz:


Personality Quiz’ler: (Ben hangi Game Of Thrones ejderhasıyım ya da, hangi film karakteriyim gibi testleri yapmak için kullanabiliyoruz)

Flash Card’lar: (Bir şeyleri ezberlemek için kullandığımız, önünde ve arkasında farklı şeyler olan kartların tasarımında kullanabiliyoruz)

Trivia: (Bilgi yarışmalarında kullanabiliyoruz.)

How-to Video: (Diyelim ki YouTube’ta bir videonuz var ve insanlara bir şeylerin nasıl yapıldığını anlatıyorsunuz. Bu tarz videolardaki yapım aşamaları genelde bölümlere ayrılmış oluyor. Mesela: “00:24 -> Malzemelerimizi hazırlıyoruz” “01:10 -> X malzemesini Y malzemesine monte ediyoruz” buna benzer şekilde, hangi adımların hangi dakika ve saniyede anlatıldığı belirlenmiş oluyor. Bu template’i seçtiğinizde açılan excel dosyası sizden bir YouTube linki ve o aşamaların YouTube videosundaki dakika ve saniyesini istiyor. Bunları doldurup action’ınızı oluşturduğunuzda, “How To” videonuz Google Asistan’dan sesli komutlar vasıtasıyla kullanılabilir hale geliyor. “Bir önceki aşamayı göster”, “Bir sonraki aşamayı göster”, “Son aşamayı göster” gibi sesli komutlar vasıtasıyla etkileşime geçebiliyorsunuz.


Şimdi biraz işin mutfağına girelim ve Actions Console üzerinde bir Action geliştirmeye çalışalım. Yapmak istediğimiz action, sinema filmlerinin gösterime girdiği yıllarla ilgili bir bilgi yarışması olsun. Bunun için öncelikle https://console.actions.google.com sayfasına giriş yapmamız ve “New Project” butonuna tıklayarak yeni bir proje oluşturmamız gerekiyor.

Projeyi oluşturduktan sonra hangi konuya odaklanacağımızı soran bir sayfa karşımıza çıkıyor. Bu sayfada nispeten kolay bir yöntem olan Templates seçeceğini seçebiliriz. (Daha önce de belirttiğim gibi Template’lerle geliştirme yaparken 1 satır bile kod yazmamıza gerek kalmıyor. Google’ın bize sunacağı excel tipindeki taslaklar sayesinde geliştirme yapabiliyoruz.)

Sonraki sayfada ise template’in tipini seçebileceğimiz seçenekler listeleniyor. Bir bilgi yarışması yapmak istediğimiz için Trivia seçeceğine tıklayıp devam edebiliriz.

Bir sonraki sayfada artık development ortamını görmeye başlıyoruz. Karşımıza ilk çıkan sayfa 4 adımdan oluşuyor. Ve 1. adımda bizden bir personality seçmemiz isteniyor. Bu şu anlama geliyor: Bizim kendi geliştirdiğimiz action, Google Asistan üzerinde çalışmaya başladığında kendine has bir ses tonu, kendine has müzik efektleri vs. kullanacak. Google bu noktada bize 3 tane hazır personality seçeceği sunuyor. Bunlardan 1 tanesini seçip yola devam edebiliriz. Ben Mr. Montgomery’i seçiyorum. (Sesli asistanlarda “Personality” kavramı aslında çok önemli bir kavram. Sonraki yazılarda bu konuya da detaylı girebiliriz.)

2. adımda Google bize bir excel taslağı sunuyor. Bu excel linkine (Trivia Template yazan kısım) tıklayıp açıyoruz. Açılan sayfada Kopya Oluştur butonuna tıklayarak dokümanın bir kopyasını açıyoruz. Açılan excel dosyasında Google’ın örnek olarak hazırladığı bazı soru-cevapları görebilirsiniz. Biz, buradaki formata uyacak bir şekilde kendi soru-cevaplarımızı (aynı doküman üzerine) yazacağız. Yazma işlemini tamamladıktan sonra Ctrl+S ile kaydedebiliriz. Sonrasında bu sayfanın URL’ini 2. Adımdaki “Upload Content" bölümüne yapıştırıp “Upload” butonuna tıklayabiliriz. Bu adım da tamamlandıktan sonra aynı ekran üzerinde bulunan Create App butonuna tıklayabiliriz. 

Google'ın sunduğu excel taslağı

Kendi action'ımız için yazdığımız diyaloglar

Bundan sonra, eğer istersek 3. adımdaki “Go to simulator” butonuna tıklayarak geliştirdiğimiz action’ı simülatör üzerinde test edebiliriz. Simülatör sayfası açıldığında sayfanın solunda aşağıdaki(yukarıdaki) gibi bir simülatör göreceksiniz. “Talk to my test app” yazıp -bu cümle simülatörde hazır yazılı bir şekilde gelecektir- enter’a bastığınızda, geliştirmiş olduğunuz action aktif hale gelecektir ve “Hoşgeldiniz” benzeri cümlelerden sonra yarışma sorularını sormaya başlayacaktır.


Şimdi gelelim action’ımızı yayına alabilmemiz için doldurmamız gereken bilgilere. Bunun için üstteki menüden “Deploy” butonuna, sonrasında soldaki menüden “Directory Information” butonuna tıklayoruz. Açılan ekranda bizden bazı bilgiler isteniyor. Burada ilgimi çeken iki bilgi oldu. Bir tanesi Sample Invocations: Kullanıcılar Google Asistan üzerinde sesli bir komutla sizin action’ınızı aktif hale getirebilir. Sample Invocations alanı sayesinde bu sesli komutun ne olacağını belirliyorsunuz. Mesela "Talk to Movie Trivia Quizzes” cümlesini kullanabiliriz. Bir diğer madde Privacy Policy: Google sizden mutlaka bir gizlilik politikası istiyor. Ama belli ki sizi çok uğraştırmak da istemiyor. O yüzden hazır bir taslak sunmuş. O taslağı açıp içerisindeki yönlendirmeleri adım adım takip ettiğinizde bu işlemi de tamamlayabiliyorsunuz. Bilgileri doldurduktan sonra sağ üstteki Save butonuna tıklayabilirsiniz. 


Son olarak sol üstteki “Overview” sayfasında bulunan Quick Setup bölümündeki “Decide how your Action is invoked.” bölümünü de doldurmamız gerekiyor. Bu bölüme tıklayıp açılan sayfadaki Display Name alanına action’ınızın ismini yazabilirsiniz. Daha sonra sağ üstteki Save butonuna tıklamak gerekiyor.


Artık action’ımız yayına almaya hazır durumda. Üst menüdeki Deploy butonuna, sonrasında soldaki menüden Release butonuna tıklıyoruz. Açılan sayfadaki "Submit for production” butonuna tıklayarak yayına alma işlemini başlatabiliriz. (Eğer “Submit for production” butonu tıklanabilir durumda değilse, atladığınız bir kaç nokta var demektir. Sayfanın üstünde hangi adımı atladığınıza dair bir uyarı göreceksiniz.)


Bu işlemi başlattıktan sonra geliştirdiğimiz action, Google tarafından incelemeye alınıyor. İllegal bir içerik olup olmadığı kontrol ediliyor. İnceleme sonucunda herhangi bir problem görülmezse action’ımız aktif olarak herkes tarafından kullanılabilir durumda olacak.


Google Asistan için, basit de olsa bir action geliştirmiş olduk. Template’ler bu iş için iyi bir başlangıç gerçekten. Ama çok daha kapsamlı ve derin işler de yapılabilir. İmkanımız olursa daha detaylı işler yapıp buradan paylaşmaya devam edebiliriz. Sormak istediğiniz sorular olursa mail adresimden bana ulaşabilirsiniz: cevatbalaban@gmail.com Diğer yazılarda görüşmek üzere...


Github repository:

https://github.com/Cevat/MovieTriviaQuizzes


#voice #googleasistant #AI #action #voiceasistant #actionsongoogle


243 görüntüleme