OK Computer

Eğer 2001: A Space Odyssey’i yada Star Trek’i izlediyseniz karakterlerin bilgisayarlar ile olan etkileşimlerinde konuşmanın oldukça önemli bir yer kapladığını görmüşsünüzdür. Eğer izlemediyseniz yada hatırlamak isterseniz sizi hemen aşağıdaki videolara alalım:

Yakın zamana kadar çoğunluk tarafından bilim-kurgu olarak tanımlanan bu etkileşim şekli son iki sene içerisinde günlük hayatın bir parçası olma yolunda ciddi adımlar atıyor. Özellikle bu sene CES’e katılan birisi ile konuştuysanız yada en azından katılanların yazılarını, yorumlarını takip ettiyseniz herkesin ortak bir görüşü paylaştığını fark edeceksiniz: “CES 2017'nin yıldızı Amazon Alexa’ydı”.

Geçtiğimiz iki ay içerisinde Amazon’un Alexa ve Google’un Actions platformlarını hem son kullanıcı (Amazon Echo ve Google Home donanımları ile) hem de geliştirici açılarından kullanma ve değerlendirme şansını buldum, bu yazıda bu deneyimin ışığında bu platformları ve ses tabanlı arabirimler (voice interfaces) olarak adlandırılan yaklaşımı kısaca değerlendirmeye çalışacağım.


Bu iki platform genelde değerlendirilirken, kendilerini ilk olarak deneyimlediğimiz araçlar ile tanımladığımızdan dolayı (Amazon Echo ve Google Home), çok doğru olmayan bir şekilde “akıllı ev asistanı” olarak ifade ediliyorlar. Ama aslında bunun çok daha fazlası sunuluyor, her iki platform Internete bağlı herhangi bir cihaz için kullanıcı ile karşılıklı etkileşimi maksimuma çıkarma amacı ile yola çıkıyor.

Alexa platformu kendisini bir “ses servisi” (voice service) olarak ses ile etkileşime geçebilir herhangi bir cihaz için entegre olup zengin ve sezgisel deneyimlerin sunulabileceği bir yapı olarak tanımlıyor.

Actions platformu burada biraz daha farklı bir yol izliyor. Actions aslında Google’ın Google Assistant adını verdiği akıllı asistan yaklaşımının bir parçası bundan dolayı şu anda limitli bir şekilde (Google Home, bazı Android telefonlar) kullanılıyor olsa da gelecekte Google Assistant’ın kullanıldığı tüm ortamlarda (Android’in yeni sürümleri kullanan tüm telefonlar, Allo mesajlaşma uygulaması, Android tabanlı televizyonlar gibi) geçerli olacağı belirtiliyor. Bu açıdan bakıldığında uzun vadede Google Actions’ın, Amazon Alexa’dan çok Amazon Lex ile rakip olacağını söyleyebiliriz.

Her iki yaklaşım kendini bir platform olarak tanımladıklarından yeteneklerinin sınırlarını üzerlerinde çalışan, 3. parti geliştiriciler tarafından hazırlanmış servisler belirliyor diyebiliriz. Bu noktada Alexa, ilk hamle (first-mover) avantajı ile birlikte şu anda kullanıcılarına 10.000'den fazla servis sunuyor. Sadece son bir ayda 2.500 yeni servisin eklenmiş olması bize platformlara olan giderek artan ilgiyi gösteriyor.

Bu platformlar üzerinde nasıl servisler sunulabilir sorusuna örnek olması için Capital One tarafından sunulan servisi inceleyebiliriz, bu servis ile birlikte aşağıdaki gibi cümle yapılarını Alexa’ya iletip çeşitli işlemler gerçekleştirmeniz mümkün:

  • Geçen hafta Starbucks’ta ne kadar harcama yaptım?
  • Kredi kartı borcumu öde
  • Son işlemlerim nelerdir?
  • Araba kredimin bir sonraki taksiti ne zaman?
  • Hesabımda ne kadar para var?

Tabi tüm platform yapılarında olduğu gibi servis geliştirme süreci bir miktar da tasarımcıların ve geliştiricilerin hayal gücünü ile sınırlı, örneğin 2016 yılında PYMNTS.com tarafından Alexa platformu için düzenlenen bir yarışmada kişisel finans yönetimi, ilaç/tedavi takip, ödeme çözümleri, yemek tavsiyeleri (kişinin tercihleri, zaman ve lokasyona bağlı olarak) gibi alanlarda servisler geliştirilmişti.

Her iki platformda da kullanıcılar servisleri platformların kendilerine özgü kalıplarını kullanarak çalıştırırlar, mesela yukarıda bahsettiğim Capital One servisini çalıştırmak için kullanılabilecek cümlelerden bazıları şu şekildedir:

  • Alexa, open Capital One
  • Alexa, ask Capital One what’s my account balance?
  • Alexa, ask Capital One to make a credit card payment

Bu noktada büyük ihtimalle “bir saniye, ben bu teknolojileri cebimde taşıyorum zaten” diyor olmalısınız, haksız da sayılmazsınız; Apple Siri, Google Now yada Microsoft Cortona (Samsung’un yakın bir zaman dilimi içerisinde, satın aldığı Viv Labs’ın teknolojisi kullanarak, benzer bir servis sunması bekleniyor) ile akıllı telefonunuz ve saatiniz ile sesli olarak etkileşime geçmeniz, çeşitli sorular sormanız mümkün. Burada anahtar kelime “mümkün” çünkü hemen elimizin altında böyle bir yetenek olduğu halde, bu yeteneğin ne kadar kullanışlı olduğu ve ne kadar kullanıldığı bir soru işareti. Yapılan araştırmalara göre kullanıcıların hali hazırda bulunan bu teknolojileri deneme oranları oldukça yüksek (Siri için %98 şeklinde oranlardan bahsediliyor) ancak bu kullanımın bir alışkanlığa dönüşmesi konusunda sıkıntılar olduğu bilinen bir gerçek.

Alexa ve Action platformları burada kullanıcıya erişim yaklaşımlarını değiştirerek (akıllı telefon yerine ev içerisinde merkezi bir lokasyonda bulunan donanım, sürekli güçlü internet bağlantısı, ileri seviyede ses algıma ve gürültü engelleme donanımları, sadece sesli komutlara izin vererek kullanıcıyı belirli bir etkileşim şekline zorlama/alıştırma gibi) bu sıkıntıları aşmayı planlıyorlar ve şu ana kadar gözlemlenen sonuçlara bakarak doğru yolda ilerlediklerini söyleyebiliriz.

Copyright © Creative Strategies
Copyright © Creative Strategies

Hem Amazon hemde Google tarafından sağlanan platformları geliştirme ortamları açısından incelediğimizde benzer bir mimari yapıya sahip olduklarını görüyoruz, oldukça basitleştirilmiş bir şekilde özetlemek gerekirse:

  • Mobil dünyada “uygulama” kavramına benzer bir şekilde “skill”/”action” kavramları bulunur (yazıyı kolaylaştırmak amaçlı olarak bu kavramları “uygulama” olarak adlandıralım).
  • Uygulama tanımlarının temel yapı taşlarını ise “intent” adlı yapılar oluşturur.
  • “Intent” adı verilen yapılarda uygulamanın davranış şekilleri, hangi cümle yapılarında hangi parametrelerin anlamlı olduğunu ve aktif olmaları durumunda ne yapmaları gerektiğini (herhangi bir dış servisi çağırma, yeni bir intent’e yönlendirme için kullanıcıya geri dönme gibi) tanımlanır.
  • Uygulamalar kapsamında “intent”lerin yanı sıra tetikleyici anahtar kelimeler gibi ek tanımlar yapılıp son kullanıcıya açılır.

Örnek olması açısından bir para transferi senaryosunu ele alalım (her iki platform içinde şu anda Türkçe desteği bulunmuyor, anlatım açısından kolay olması için bu destek var gibi davranmayı tercih ettim):

İlk olarak “Transfer” adlı bir uygulama tanımı oluşturmalıyız, uygulama adı aynı zamanda bir anahtar kelime olduğundan bu durumda platformun tetikleme akışı içerisinde bu adı kullanarak uygulamamızın aktif hale getirilmesini sağlayabiliriz.

Uygulama altında “Para Transfer” olarak adlandıracağımız bir intent yaratalım. Intent’in temel özelliği olarak tetikleyici cümle yapılarını tanımlamamız gerekiyor, bu cümle yapıları ilgili uygulama çalışırken algılandığında otomatik olarak ilgili intent aktive edilir, örneğin para transfer işlemi için aşağıdaki cümleler kullanılabilir:

  • Serkan’a 100 TL göndermek istiyorum
  • Anneme para göndermek istiyorum
  • 100 TL göndermek istiyorum

Bu cümleler tanımlanırken aynı zamanda yapısal olarak kırılımları tanımlanmaktadır:

  • <kişi> <miktar> göndermek istiyorum
  • <kişi> para göndermek istiyorum
  • <miktar> göndermek istiyorum

Platformlar içinde bulundukları ortamlarda Transfer uygulaması aktif durumda iken bu yapıya uygun bir konuşma duyduklarında ilgili intent’i (Para Transfer) ilgili parametreler (kişi ve/veya miktar) ile birlikte tetikler.

Bu noktadan sonra yapılması gereken bu bilgilerle hali hazırda var olan dış kaynaklı para transfer servisini çağırmak olacaktır (eğer servisi çağırmak için yeterli veri kümesi yok ise bu noktada kullanıcıya geri dönüş yapılarak gerekli verinin sağlanması istenir, örneğin “<kişi> para göndermek istiyorum” durumunda “miktar” verisi olmadığı için kullanıcıya “Kime göndermek istiyorsun?” şeklinde bir geri dönüş yapılarak eksik veri tamamlanır). Her iki platformda dış servis entegrasyonu açısından JSON tabanlı Web API yapısını destekliyor, bundan dolayı hali hazırda Web API sağlayan bir servisiniz/uygulamanız varsa bu tarz platformlara entegre olmada yarışa 1–0 önce başlıyorsunuz diyebiliriz.

Hem Alexa hemde Actions platformlarında tahminimden çok daha rahat bir geliştirme yaklaşımı ile karşılaştığımı belirtmeliyim, denemek için hazırladığım basit bir döviz çeviricisi (Amazon Alexa) ile hava durumu sorgulama servisini (Google Home) yaklaşık olarak 2 saat içinde ev içerisinde kullanmaya başladım (bu deney projelerin kodlarını yakın zamanda GitHub üzerinden paylaşacağım).


Yazımın başında belirttiğim gibi ses tabanlı arabirimler aslında yıllar önce düşünülmüş yapılar ama özellikle son dönemde ses tabanlı arabirimler alanında ciddi bir hareketlilik söz konusu, bunun temel nedenlerinin aşağıda belirttiğim gelişmeler ve gereksinimler olduğunu düşünüyorum:

  • Yapay zeka özellikle de makine öğrenmesi (machine learning — ML) alanında yaşanan son gelişmelerle birlikte konuşmanın metine çevrilmesi ve doğal dil işleme (natural language processing — NLP) ile yapılandırılıp anlamlandırılması geçmişe kıyasla oldukça ileri bir seviyeye (hız ve doğruluk açısından) erişti. Yukarıda bahsedilen tüm platformlar kullanıldıkça konuşma modelleri, kelime kullanımları ve insan tercihleri konusunda daha da yetenekli hale geliyorlar.
  • Son bir kaç yıldır gözlemlenen “bir platforma (özellikle mobil) sahip olan her şeye sahip olur (yada en azından söz sahibi olur)” durumu Apple ve Google’a oldukça güç kazandırırken Amazon, Facebook gibi şirketler bu konuda sıkıntı yaşıyorlar. Amazon, daha önce Fire Phone ile bir alternatif oluşturma denemesi yapmış ancak başarılı olamamıştı, Alexa-Echo ile farklı bir deneme yaptılar ve şu anda oldukça başarılı görünüyorlar (tam rakam paylaşılmasa da 5 milyondan daha fazla Amazon Echo satıldığı belirtiliyor).
  • Mobil artık hayatımızın çok büyük bir parçası ama kabul etmeliyiz ki o çok yüksek hızlı büyüme aşamasını terk etmek üzere, bundan dolayı herkes bir sonraki büyük şeyin peşinde koşuyor, ses tabanlı arabirimler bu konuda oldukça ciddi bir potansiyele sahipler (yaratacakları uygulama/servis ekosistemi ile birlikte).
Copyright © Gartner

Daha önce belirttiğim gibi ML alanındaki gelişmelerle birlikte ses tabanlı arabirimlerin ilk parçası olan sesi/konuşmayı çevirme ve anlamlandırma konusunda büyük bir yol kat edilmiş olsa da denklemin ikinci kısmı yani anlamlı bir cevap geri dönüşü yaparak diyalogu anlamlı bir şekilde devam ettirme konusunda hala yeterli seviyede olduğumuzu düşünmüyorum. Bu durum büyük olasılıkla ancak yapay zeka alanındaki çalışmaların ilerlemesi ile çözülebilecektir.

Bu gereksinimin üstesinden gelmiş olması durumunda dahi ses tabanlı arabirimlerin kullanım alanlarının umulduğu kadar geniş olup olmayacağını bir soru işareti olarak görüyorum, evet konuşma/ses insanların etkileşim için kullandıkları arabirimlerden bir tanesi ama tek başına yetersiz kaldığı çok fazla durum bulunuyor (örneğin bir para transfer durumunda gönderilecek kişi, kullanılacak hesap bilgisi gibi kavramlar aşırı uzun bir diyalogun oluşmasına sebep olabiliyor, oysaki bu senaryo görsel bir arabirim üzerinden — cep telefonunuzdaki para transfer uygulamasını düşünün- çok hızlı ve akışkan bir şekilde gerçekleşebiliyor. Amazon’un bir sonraki nesil Echo cihazlarda bir ekran sunacağı yorumları bu açıdan değerlendirildiğinde oldukça anlam kazanıyor).

Ayrıca üzerinde düşünülmesi gereken konulardan bir tanesinin de iletişimin tetiklenme yönü olduğu kanısındayım. Şu ana kadar olan tüm senaryolar kullanıcının direk bir aksiyon alması (ses ile komut verme, bir tuşu seçme gibi) ile başlayacak şekilde tasarlanmış durumda, ve bu akış şekli kullanım senaryolarını oldukça sınırlamakta. Bu durumun özellikle etrafımızdaki sensör ağının gelişimi ile değişeceğini, platformların kullanıcıyı ve içinde bulunulan ortamı daha iyi anlayabileceğini ve kullanım modellerinin daha farklı noktalara geleceğini düşünüyorum.


Yazımın sonuna gelirken ülkemiz içerisinde olan bir gelişmeyi atlamak doğru olmaz. Arçelik tarafından 2016 yılı sonunda lanse edilen “Sihirbaz” aslında Arçelik’in kendi akıllı ev ekosistemi olan HomeWiz üzerine pozisyonlandırdığı akıllı ev asistanının adı. Şu ana kadar hakkında çok fazla bilgi paylaşılmamış olsa da, bu yıl sonuna doğru tüketicilere sunulması planlandığı ve üzerinden online alışveriş, yemek siparişi, fatura ödeme, temel bankacılık gibi çeşitli işlemlerin yapabileceği açıklandı. Umarım bir ekosistemin önemli bir parçasının 3. parti geliştiriciler olduğunu unutmayıp, gerekli çalışmaları yaparlar.


Yazının başlığı olan “OK Computer”, daha çok Radiohead’in 3. stüdyo albümünün adı olarak bilinsede bunun yanında Douglas Adams’ın “Bir Otostopçunun Galaksi Rehberi” (The Hitchhiker’s Guide To The Galaxy) adlı kitabındaki ana karakterlerden birisinin (Zaphod Beeblebrox) bilgisayar ile iletişime geçmek için kullandığı sözcüklerdir.

Hem Amazon Echo’yu hem de Google Home’u tecrübe etmemdeki desteklerinden dolayı Bankalararası Kart Merkezi Genel Müdürü Sayın Dr. Soner Canko’ya çok teşekkür ederim.