Conversational Actions

Conversational Actions, kullanıcıların ürün ve hizmetlerinize erişmesini sağlayan kendi sohbet arayüzlerinizle Google Asistan'ın kapsamını genişletmenize olanak tanır. İşlemler, doğal dil girişini işlemek, anlamak ve bu girişe göre görevleri gerçekleştirmek için Asistan'ın güçlü doğal dil anlama (NLU) motorundan yararlanır.

Genel bakış

Conversational Action, ileti dizisine bir giriş noktası (çağrı olarak adlandırılır) tanımlayan basit bir nesnedir:

  • Çağrı, kullanıcıların Asistan'a İşlemlerinizden biriyle görüşme başlatmak istediklerini nasıl bildirdiklerini tanımlar. Bir İşlem'in çağrılması, kullanıcılar İşlemi talep ettiğinde eşlenen tek bir niyet ile tanımlanır.
  • Görüşmeler, kullanıcıların bir İşlem çağrıldıktan sonra ile nasıl etkileşimde bulunduğunu tanımlar. Görüşmeleri intenler, türler, sahneler ve istemler ile oluşturursunuz.
  • Buna ek olarak, işlemleriniz webhook'lar aracılığıyla Actions'ınızla iletişim kuran web hizmetleri olan sipariş karşılamaya ek iş yetkisi verebilir. Böylece veri doğrulama yapabilir, diğer web hizmetlerini çağırabilir, iş mantığını uygulayabilir ve daha pek çok işlem yapabilirsiniz.

Kullanıcılarınız için önemli olan kullanım alanlarına göre bir veya daha fazla İşlemi birlikte Actions projesi adı verilen mantıksal bir kapsayıcıda toplarsınız. Actions projeniz, çağrı modelinizin tamamını (tüm çağrılarınızın toplanması) içerir. Bu, kullanıcıların görüşme modelinizde mantıksal yerlerden (kullanıcıların söyleyebileceği her şey ve kullanıcılara yanıt vermenizin mümkün olan tüm yolları) başlamalarına olanak tanır.

Şekil 1. İleti dizisi modeline giriş noktası görevi gören bir İşlemler koleksiyonu. Çağrıya uygun olan amaçlar global olarak kabul edilir.

Çağrı

Çağrı, kullanıcıların Asistan'dan İşlemlerinizi çağırmasını istemesine olanak tanıyan bir markayı, adı veya karakteri temsil eden görünen adla ilişkilendirilir. Kullanıcılar, İşlemlerinizi çağırmak için bu görünen adı tek başına (ana çağrı olarak adlandırılır) veya isteğe bağlı derin bağlantı ifadeleriyle birlikte kullanabilir.

Örneğin, kullanıcılar bir projede üç ayrı İşlemi çağırmak için "Google Hakkında Bilgiler" görünen adı ile aşağıdaki ifadeleri söyleyebilirler:

  • "Ok Google, Google Hakkında Bilgiler ile konuş"
  • "Ok Google, şirket bilgilerini almak için Google hakkındaki bilgiler ile konuş"
  • "Ok Google, tarihe dair bilgileri almak için Google hakkındaki bilgiler ile konuş"

Örnekteki ilk çağrı ana çağrıdır. Bu çağrı, actions.intent.MAIN adlı özel bir sistem amacıyla ilişkili. İkinci ve üçüncü çağrılar, kullanıcıların belirli işlevler istemesine olanak tanıyan ek ifadeler belirtmenize olanak tanıyan derin bağlantı çağrılarıdır. Bu çağrılar, genel olarak belirlediğiniz kullanıcı amaçlarına karşılık gelir. Bu örnekteki her çağrı, bir ileti dizisine bir giriş noktası sağlar ve tek bir İşleme karşılık gelir.

Şekil 2. Ana çağrı örneği

Şekil 2'de tipik bir ana çağrı akışı açıklanmaktadır:

  1. Kullanıcılar bir İşlem isteğinde bulunduklarında, genellikle Asistan'dan görünen adınızı isterler.
  2. Asistan, kullanıcının isteğini istekle eşleşen ilgili niyetle eşleştirir. Bu örnekte değer actions.intent.MAIN olacaktır.
  3. İşlem, amaç eşleşmesi hakkında bilgilendirilir ve kullanıcıyla görüşme başlatmak için karşılık gelen istemle yanıt verir.

Etkileşim

İleti dizisi, kullanıcıların bir İşlem çağrıldıktan sonra ile nasıl etkileşimde bulunduğunu tanımlar. Bu etkileşimleri, görüşmeniz için geçerli kullanıcı girişini, bu girişi işleme mantığını ve kullanıcıya yanıt vermek için ilgili istemleri tanımlayarak oluşturursunuz. Aşağıdaki şekil ve açıklamada, tipik bir konuşma dönüşünün bir ileti dizisinin alt düzey bileşenleriyle (ntentler, türler, sahneler ve istemler) nasıl işlediği gösterilmektedir.

Şekil 3. Görüşme örneği

Şekil 3'te tipik bir konuşma dönüşü açıklanmaktadır:

  1. Kullanıcılar bir şey söylediğinde Assistant NLU, girişi uygun bir niyetle eşleştirir. Bir amaca ait dil modeli, kullanıcı girişine yakın veya tam olarak eşleşebiliyorsa eşleştirilir. Dil modelini, eğitim ifadeleri veya kullanıcıların söylemek isteyebileceği örnekler belirterek tanımlarsınız. Asistan, bu eğitim ifadelerini alır ve amacın dil modelini oluşturmak için bunları genişletir.
  2. Assistant NLU bir niyetle eşleştiğinde, ihtiyacınız olan parametreleri girişten çıkarabilir. Bu parametrelerle ilişkilendirilmiş tarih veya sayı gibi türler vardır. Bir amacın eğitim ifadelerinin belirli bölümlerine, ayıklamak istediğiniz parametreleri belirtmek için ek açıklama eklersiniz.
  3. Ardından bir sahne, eşleşen amacı işler. Sahneleri bir eylemin mantık yürütücüleri, konuşmayı ilerletmek için gereken ağır işleri yapan ve gerekli mantığı yürütenler olarak düşünebilirsiniz. Sahneler döngü halinde çalışarak amaç parametrelerini doğrulama, slot doldurma, kullanıcıya istem gönderme gibi işlemler yapmanıza olanak tanıyan esnek bir yürütme yaşam döngüsü sağlar.
  4. Bir sahnenin yürütmesi bittiğinde, genellikle kullanıcılara görüşmeye devam etmeleri veya uygunsa konuşmayı sonlandırmaları için bir istem gönderir.

Sipariş karşılama

Çağrı veya görüşme sırasında İşleminiz bir sipariş karşılama hizmetine bazı görevleri gerçekleştirmesini bildiren bir webhook'u tetikleyebilir.

Şekil 4. Görüşme örneği

Şekil 4'te, istek karşılama için yaygın olarak kullanılan bir yöntem olan istek karşılamayı nasıl kullanabileceğiniz açıklanmaktadır:

  1. İşleminizin yürütülmesinin belirli noktalarında, JSON yükü olan kayıtlı bir webhook işleyiciye (sipariş karşılama hizmetiniz) istek gönderen bir webhook'u tetikleyebilir.
  2. İstek yerine getirme işleminiz, isteği işler. Örneğin, bazı veri aramaları yapmak için REST API çağırma veya JSON yükündeki bazı verileri doğrulama. İstek karşılamayı kullanmanın çok yaygın bir yolu, çalışma zamanında dinamik bir istem oluşturmaktır. Böylece görüşmeleriniz mevcut kullanıcıya daha uygun hale gelir.
  3. İstek karşılama durumunuz, İşleminize bir JSON yükü içeren yanıt döndürüyor. Yürütülmesine devam etmek ve kullanıcıya yanıt vermek için yükteki verileri kullanabilir.