Niyetler

Intent'ler, Asistan'ın yerine getirmek için İşleminize ihtiyacı olan görevleri (ör. işlenmesi gereken bazı kullanıcı girişleri veya işlemeniz gereken bir sistem etkinliği) temsil eder. Amaçları, çağrı ve görüşme modellerinizi oluşturmaya yardımcı olması için kullanırsınız. Bu etkinlikler gerçekleştiğinde Asistan çalışma zamanı, bunu ilgili niyetle eşleştirir ve amacı işlemesi için İşleminize gönderir. Aşağıdaki listede açıklanan iki ana amaç türü vardır:

  • Kullanıcı amaçları, Asistan'ın markanıza ve hizmetlerinize özel kullanıcı isteklerini daha iyi anlamasını sağlar. Bir amaç dahilinde özel eğitim ifadeleri tanımlarsınız, bu da bir amacın dil modelini oluşturur. Bu dil modeli, Assistant NLU'yu artırarak daha fazla anlama yeteneğini artırır.

  • Sistem amaçları, Asistan tarafından tanımlanan eğitim verileri veya diğer konuşma dışı giriş sinyallerine sahiptir. Yani bu amaçlar için eğitim ifadeleri tanımlamanız gerekmez. Asistan, ana çağrı gibi bilinen sistem etkinlikleri sırasında veya kullanıcılar herhangi bir giriş yapmadığında bu amaçları standart bir şekilde eşleştirir.

Şekil 1. Yaygın bir amaç eşleştirme senaryosu. Kullanıcı, genel bir amaçla eşleşen bir şey söylüyor. İlgili sahne etkinleşir ve sonunda daha fazla kullanıcı girişi tüketir. Başka bir amaç eşleştirilir ve bu amaç, başka bir sahneye geçiş yaparak onu etkinleştirir.

Kullanıcı amaçları

İşlemler oluşturduğunuzda eğitim ifadeleri içeren kullanıcı amaçları oluşturursunuz. Böylece Asistan'ın daha da fazla anlamasını sağlarsınız. Asistan, kullanıcı istekleri için Actions'a yetki verirken NLU'yu geliştirmek amacıyla eğitim ifadelerinizi kullanır.

Bu durumda Asistan, kullanıcı ile İşlemleriniz arasındaki iletişimde aracılık yapar ve kullanıcı girişini, eşleşen dil modeline sahip bir niyetle eşleştirir. Daha sonra Asistan, eşleşen niyetle ilgili İşlemlerinize bildirim gönderir. Böylece bu amacı bir sahne içinde işleyebilirsiniz.

Kullanıcı amaçları oluştururken aşağıdaki öğeleri belirtirsiniz:

  • Genel amaç tanımlaması, Asistan çalışma zamanının çağrı zamanında ve bir görüşme sırasında belirtilen kullanıcı niyetiyle eşleşip eşleşmediğini tanımlar. Varsayılan olarak Asistan, kullanıcıların amaçlarını yalnızca görüşme sırasında eşleştirebilir. Yalnızca genel olarak işaretlediğiniz amaçlar derin bağlantı çağrısı için uygundur.

  • Eğitim ifadeleri, kullanıcının niyetine uygun şekilde kullanabileceği ifadelerdir. Assistant NLU (doğal dil anlama) motoru, bu eğitim ifadelerini doğal olarak diğer benzer ifadeleri içerecek şekilde genişletir. Çok sayıda yüksek kaliteli örnek sunmak, amacın kalitesini ve eşleşme doğruluğunu artırır.

  • Parametreler, kullanıcı girişinden ayıklamak istediğiniz verilerdir. Bir parametre oluşturmak üzere NLU motoruna, kullanıcı girişi bölümlerinin çıkarılmasını istediğinizi bildirmek için eğitim ifadelerine türler ile ek açıklamalar eklersiniz. Sistem türlerini kullanabilir veya parametreler için kendi özel türlerinizi oluşturabilirsiniz.

NLU motoru, kullanıcı girişinde bir parametre eşleşmesi algıladığında değeri yazılmış bir parametre olarak ayıklar. Böylece bir düzende mantık yürütebilirsiniz. Amaç parametresi bir sahne slotu ile aynı ada sahipse Asistan çalışma zamanı, sahne aralığını otomatik olarak intent parametresindeki değerle doldurur. Daha fazla bilgi için alan değeri eşleme belgelerini inceleyin.

Amaç parametreleri "kısmi" eşleşmeleri de destekler. Örneğin, bir DateTime türü belirtirseniz ve kullanıcı yalnızca bir tarih sağlarsa NLU, kısmi değeri parametre olarak çıkarmaya devam eder.

Bir Action için tüm kullanıcı girişlerini işlemek için kendi NLU'nuzu kullanmak isteyebilirsiniz. Örneğin, İşleminizin bir görüşme sırasında tüm eşleşmeyen senaryolara yanıt vermesini isteyebilirsiniz. Tüm kullanıcı girişlerini yakaladığınızdan emin olmak için serbest biçimli metin türüyle bir amaç oluşturun. Bununla birlikte, Asistan'ın varsayılan eşleşmeme davranışını küresel olarak geçersiz kılmak için özel amaçlar kullanmaktan kaçınmalısınız. Bu davranış, kullanıcıların İşlemler arasında geçiş yapma kabiliyetini olumsuz yönde etkileyebilir.

Actions Console'da özel amaç oluşturduğunuzda Actions Builder, kullanıcı amacınızla aynı rolü oynayabilecek sistem amaçları önerir. Sistem amaçları hakkında daha fazla bilgi için aşağıdaki bölüme bakın.

Sistem amaçları

Asistan, standart sistem etkinliklerine göre sistem amaçlarını eşleştirir. Bu etkinliklerde, kullanıcıların medya oynatıcıyı duraklatmak için "duraklat" dediği sistem tanımlı bir dil modeli olabilir veya kullanıcıların hiç giriş sağlamaması gibi bir dil modeli bulunmayabilir. Bu amaçlar Asistan tarafından sağlandığı için nasıl eşleştirildikleri konusunda değil, sadece eşleştiklerinde amaçları nasıl ele alacağınızla ilgili endişe duymanız gerekmez.

Sistem amaçları, YES ve NO gibi genellikle gerekli işlemler için kullanıcı amaçları oluşturma ihtiyacının yerini de alır. Sistem amaçları tüm yerel ayarlar için eğitildiğinden kullanıcılarınız için birden fazla dilde tutarlı bir deneyimi daha kolay uygulamanızı sağlar. Sistem amaçları da genel amaçlar olarak ayarlanabilir.

Sistem amaçları sürümü oluşturulur. Asistan tarafından desteklenen bir sistem amacının belirli bir sürümünü kullanabilirsiniz. Bir İşlem, bir sistem amacının desteklenmeyen sürümünü kullanıyorsa bu sistem amacı otomatik olarak desteklenen bir sürüme güncellenir.

Amaç listesi

Amaç Açıklama
actions.intent.MAIN Her Actions projesi, görünen adınıza bağlı olan bu varsayılan ana çağrıyı içermelidir. Kullanıcılar, işlemi çağırmak için "Ok Google, <display name> ile konuş" gibi ifadeler kullanırlar.

actions.intent.NO_MATCH_1

actions.intent.NO_MATCH_2

actions.intent.NO_MATCH_FINAL

Kullanıcı, İşleminizdeki bir amaçla eşleştirilemeyen bir şey söylediğinde bu amaçlar eşleştirilir. Nihai niyette bağımsız uyarılar ve bir çıkış mesajı ayarlayabilirsiniz.

actions.intent.NO_INPUT_1

actions.intent.NO_INPUT_2

actions.intent.NO_INPUT_FINAL

Bu amaçlar, 8 saniye sonra kullanıcıdan hiçbir giriş olmadığında eşleştirilir. Her amaç için ayrı istemler ve nihai niyette bir çıkış mesajı ayarlayabilirsiniz.

actions.intent.CANCEL Bu niyet, kullanıcının görüşme sırasında İşlemlerinizden çıkmak istemesi (örneğin, kullanıcının "Çıkmak istiyorum" demesi) eşleştirilir.
actions.intent.MEDIA_STATUS_FINISHED Bir kullanıcı medya oynatmayı tamamladığında veya sonraki medya parçasına atladığında bu amaç eşleştirilir ve İşleminize gönderilir.
actions.intent.MEDIA_STATUS_PAUSED Kullanıcı bir medya yanıtında medya oynatmayı duraklattığında bu amaç eşleştirilir ve İşleminize gönderilir.
actions.intent.MEDIA_STATUS_STOPPED Bu amaç, bir kullanıcı medya yanıtından medya oynatmayı durdurduğunda veya oynatmaktan çıktığında eşleştirilir ve İşleminize gönderilir.
actions.intent.MEDIA_STATUS_FAILED Bir medya yanıtının oynatıcısı oynatamadığında bu amaç eşleştirilir ve İşleminize gönderilir.
actions.intent.YES

Bu niyet, bir kullanıcı İşleminize olumlu yanıt verdiğinde eşleştirilir.

actions.intent.NO

Bu niyet, bir kullanıcı İşleminize olumsuz yanıt verdiğinde eşleştirilir.

actions.intent.REPEAT

Bu amaç, kullanıcı İşlem'den son yanıtı tekrarlamasını istediğinde eşleştirilir. Tekrarlama istekleri, sistem amacı aracıda etkinleştirilmemişse Asistan tarafından otomatik olarak işlenir. Bu sistem amacını etkinleştirerek yanıtları ve tekrarlanan isteklerin işlenme şeklini değiştirebilirsiniz.

actions.intent.PLAY_GAME Bu amaç, kullanıcı bir oyun oynamak istediğinde eşleştirilir. Bu niyet, Actions on Google tarafından sağlanan örtülü çağrıyı (görünen adınızı kullanmadan çağrı) etkinleştirmenize olanak tanır.

Diğer diller için destek ekleme

YES, NO ve NO_MATCH gibi belirli sistem amaçları yalnızca İngilizce dilinde desteklenir.Diğer diller için destek eklemek istiyorsanız bu sistem amaçlarıyla eşleşen kullanıcı amaçları oluşturmanız gerekir. Yeni intent'leriniz, kodunuzda uyguladığınız sistem intent'leriyle aynı şekilde işlenmelidir.

Örneğin, yeni bir işlem geliştirdiğinizi ve YES sistem amacını uyguladığınızı varsayalım. YES sisteminin amacı yalnızca İngilizce olarak desteklenir, ancak uygulamanızın Almanca ve Japonca etkileşimleri desteklemesini de istiyorsunuz. Ek dilleri desteklemek için Almanca ve Japoncaya yönelik eğitim ifadeleri içeren bir niyet oluşturur ve ardından YES sistem amacı için kullandığınız işleme sürecini uygularsınız.

Kullanıcı amaçları oluşturma hakkında daha fazla bilgi edinin.

Kullanıcı amaçlarınızı yerelleştirme hakkında daha fazla bilgi edinin.

Eşleşme yok getiri

Bir kullanıcının yanıtı amaçlarınızdan biriyle eşleşmediğinde Asistan, girişi işlemeye çalışır. Bu davranış, kullanıcıların görüşme sırasında İşlemleri değiştirmesini kolaylaştırır. Örneğin, bir kullanıcı "Bu hafta hangi filmler oynuyor?" diye sorar ve ardından görüşmenin ortasında bağlamı değiştirir: "Yarın hava nasıl olacak?" Bu örnekte "Yarın hava nasıl olacak?" sorusu ilk istem tarafından tetiklenen ileti dizisi için geçerli bir yanıt olmadığı için Asistan otomatik olarak eşleşmeyi işlemeye çalışır ve kullanıcıyı uygun bir görüşmeye taşır.

Asistan, kullanıcının girişiyle eşleşen uygun bir İşlem bulamazsa kullanıcı, İşleminizin bağlamında devam eder.

Asistan, geçerli bir eşleşme yok senaryoya yanıt vermek için İşleminizi kesintiye uğratabileceğinden kullanıcı sorgularını karşılamak için NO_MATCH sistem niyetini kullanmayın. Kullanıcıya yeniden istem göndermek için yalnızca NO_MATCH niyetini kullanmalısınız.