Conversational Actions (Dialogflow)

Conversational Actions, geliştiricilerin Asistan'daki kullanıcılar için özel deneyimler veya görüşmeler oluşturmasına olanak tanıyarak Google Asistan'ın işlevlerini genişletir. Görüşme sırasında Conversational Action'ınız, Asistan'dan gelen istekleri işler ve yanıtları sesli ve görsel bileşenlerle döndürür. Conversational Actions, yanıt döndürmeden önce ek sohbet veya iş mantığı için harici hizmetlere de bağlanabilir.

Örneğin kullanıcılar bilgi aramak, kişiselleştirilmiş bir öneri almak veya dijital ödeme içeren işlemler gerçekleştirmek istediklerinde harici sipariş karşılama hizmetinizden yanıt almak için Conversational Action'ınızı çağırabilirler.

Google Asistan'la sohbet sırasında kullanıcı, konferansın ne zaman gerçekleşeceğini sorar ve ona yanıt alır.
Şekil 1. Conversational Action örneği

Kullanım alanları

Conversational Actions, diğer deneyimleri tamamlayan basit kullanım alanlarında en iyi sonucu verir. Başarılı Etkileşim İşlemleri genellikle şu genel kategorilere ayrılır:

  • Kullanıcıların kolayca yanıtlayabileceği şeyler. Saatler veya tarihler gibi alışık olduğunuz girişlerle gerçekleştirilebilecek işlemler (ör. uçuş rezervasyonu).
  • Hızlı ancak ilgi çekici derecede faydalı İşlemler. Bunlar genellikle kullanıcılara tuttukları takımın bir sonraki maçının ne zaman olacağını öğrenmek gibi çok az zaman harcayarak anında avantaj sağlar.
  • Doğal olarak ses için daha uygun olan işlemler. Bunlar, yoga veya hafif egzersiz sırasında koçluk almak gibi genellikle ellerinizi kullanmadan yapmak istediğiniz şeylerdir.

Conversational Actions'ın işleyiş şekli

Bilgisayar merkezli paradigmalar kullanan geleneksel mobil ve masaüstü uygulamalarından farklı olarak kullanıcılar, Actions for the Assistant ile doğal görünen, karşılıklı konuşmalar üzerinden etkileşimde bulunur. Conversational Actions, bir kullanıcı tarafından çağrıldığında başlar ve kullanıcı çıkmayı seçene (önceden belirlenmiş ifadeler kullanarak) veya Conversational Action'ınız görüşmenin sonunu belirtene kadar devam eder.

Görüşme sırasında, kullanıcı girişleri Asistan tarafından konuşmadan metne dönüştürülür ve doğal dil işleme için JSON isteklerine biçimlendirilir. Bu istekler görüşmenin karşılanması olarak bilinen bölüme gönderilir.

Görüşme karşılamanız kullanıcının sorgusunu yapılandırılmış verilere ayrıştırır, bu verileri işler ve Asistan'a bir webhook JSON yanıtı döndürür. Ardından Asistan, yanıtınızı işleyip kullanıcıya sunar.

Görüşme karşılama, JSON isteği girişi ve webhook JSON yanıt çıkışıyla gösterilebilir.
Şekil 2. Görüşme karşılama, JSON içi bir JSON çıkış sistemidir

Kendi doğal dil işleme hizmetinizi oluşturmak zorlu bir iş olabilir. Bu nedenle, Dialogflow'u sizin için kullanmanın bir yolu olarak sunuyoruz. Dialogflow'u kullanamayan geliştiriciler için Actions SDK'sını ayrı ancak birbiriyle ilişkili bir geliştirme yolu ile yedek seçenek olarak da sağlarız.

Dialogflow'da bir aracı ayarladıktan sonra, sohbet karşılama durumunuz Dialogflow'un Dialogflow'u karşılama özelliği de dahil olmak üzere özellikleri tarafından artırılır. Bu yaklaşım, görüşme karşılama taleplerini, kullanıcılara istedikleri sonucu sağlamak için ihtiyaç duyabileceğiniz diğer hizmetlerden ayırmanıza olanak tanır.

Actions on Google, kullanıcının söylediklerini ayrıştırır ve Dialogflow'a istek gönderir. Dialogflow, niyeti eşleştirir ve karşılık gelen Dialogflow karşılama isteğine göndermek için parametreleri çıkarır. Ardından istek karşılama, Actions on Google'a yanıt gönderir ve yanıtlar Asistan yüzeyinde oluşturulur.
Şekil 3. Dialogflow kullanırken görüşme karşılama

Etkileşim Eylemi Oluşturma

Conversational Action'ınızı oluşturmanın büyük bir kısmı konuşma tasarlamak ve görüşmenizin tatmin edici olmasını sağlamaktır. Konuşmayı, Conversational Action'ın kullanıcı arayüzü olarak düşünün. Kullanıcıların Actions projenizi nasıl çağırdığını, bir görüşmede söyleyebilecekleri geçerli şeyleri ve Actions projenizin onlara nasıl yanıt verdiğini düşünmeniz gerekir.

Actions projenizde projeyi yayınlamak için meta veriler sağlar ve görüşmenin yerine getirilmesi için bir yöntem belirtirsiniz. Dialogflow kullanan geliştiriciler, Dialogflow aracılarını projeyle ilişkilendirir ve ardından Dialogflow aracılığıyla istek karşılamaları derler. Actions SDK'sını kullanan geliştiriciler için görüşme istek karşılama süreci, görüşme webhook'u biçiminde kodlama ve dağıtım yapılmasını içerir.

Konuşmanızı tasarlarken süreçlerimizi ve tasarım ilkelerimizi kullanmanızı öneririz. Konuşma arayüzleri hâlâ nispeten yeni bir teknoloji ve en iyi uygulamaları öğrenmek, gelecekte size zaman kazandırabilir.

Dialogflow kullanarak istek karşılama

Bir Dialogflow aracısıyla entegrasyon yapılırken aracı, Conversational Action'ınızdaki kullanıcı sorguları için NLU'yu işler. Bu adımda Dialogflow temsilciniz sizin için aşağıdakileri yapar:

  1. Sağladığınız eğitim ifadelerine ve konuşma bağlamına göre Asistan'dan gelen her isteği ayrıştırır.
  2. Her isteği bir Dialogflow niyetiyle (etkinlik olarak da bilinir) eşleştirir.
  3. Parametreleri Dialogflow varlıklarına ayıklar.

Böylece Dialogflow aracınız, REST API veya Asistan'a dönüş yapmak üzere yanıt oluşturan başka bir arka uç hizmeti çağırma gibi bazı mantık yürütmek için kendi istek karşılamasını (webhook olarak dağıtılan) çağırabilir. Bu webhook, Dialogflow karşılamanız olarak da bilinir ve Dialogflow webhook biçimini kullanır.

Dialogflow, intent eşleştirme için kullanıcının söylediklerini kabul eder ve Dialogflow karşılamaya çıkarılan parametreleri sağlar. Sipariş karşılama, kullanıcıya bir yanıt döndürür.
Şekil 4. Dialogflow aracısı, bir kullanıcı sorgusunu Dialogflow istek karşılaması için yapılandırılmış verilere dönüştürür

Dialogflow kullanılırken sohbet karşılamanın derlemesi, temel olarak Dialogflow istek karşılama webhook'unuzu geliştirmekten oluşur. Actions on Google belgelerinde,Dialogflow istek karşılama webhook'unuzu tasarlamanıza, derlemenize ve test etmenize yardımcı olacak kaynakları bulabilirsiniz. Bu kaynakların en önemlisi, Node.js istemci kitaplığı ve Java istemci kitaplığıdır.

Dialogflow ile derleme yaparken,Dialogflow niyetleri, varlıkları ve eğitim ifadeleri oluşturmak için Dialogflow Console'u kullanacaksınız.

Dialogflow hakkında daha fazla genel bilgi edinmek için Dialogflow belgelerinde Actions on Google entegrasyonu hakkında bilgi edinebilirsiniz.

Actions SDK'sını kullanarak sipariş karşılama

Actions SDK'sı ile görüşme karşılamanın oluşturulmasında temel olarak Action paketinizi oluşturup dağıtmanız yer alır. İşlem paketleri ActionPackage biçiminde oluşturulur ve görüşme webhook'u biçimini kullanır. İşlem paketi, belirli bir Actions projesiyle ilgili tüm İşlemleri içerir.

Asistan, Actions on Google amaçlarını kullanarak görüşmenizin karşılanmasına yönelik kullanıcı sorguları sağlar. Her niyet için istek karşılama webhook'unuz; niyeti ayrıştırmalı, işlemeli ve kullanıcı için Asistan'a bir JSON yanıtı döndürmelidir.

Yanıtlar

Asistan için bir İşlem oluşturduğunuzda, görüşmelerinizi, sesle etkinleştirilen hoparlörler için ses odaklı görüşmeler veya Asistan'ın desteklediği bir yüzeyde görsel sohbetler gibi çeşitli yüzeylere göre tasarlarsınız. Bu yaklaşım, kullanıcıların sesli veya görsel olanaklardan yararlanarak işlerini hızlı bir şekilde tamamlamalarını sağlar.

İsteklerinizi karşılamaya devam ederken Asistan'ın kullanıcılara sunacağı çeşitli ilgi çekici yanıt türleri arasından seçim yapabilirsiniz. Bunlar basit metin içeren sohbet balonlarından medya yanıtlarına, bantlara ve hatta Etkileşimli Tuval kullanan HTML'ye kadar uzanır.

Sonraki adımlar

İlk Etkileşim İşleminizi oluşturmaya başlamayla ilgili ayrıntılı adım adım talimatlar için Google Asistan için İşlemler (1. Seviye) codelab'ini izleyin.

Ardından, Dialogflow veya Actions SDK ile kendi görüşme karşılamanızı oluşturmak için kılavuzlarımıza geçebilirsiniz. Conversational Actions oluşturmayla ilgili şu ek kaynakları da inceleyebilirsiniz: