Amaçlar, Asistan'ın gerçekleştirmesi gereken bir işlemi (ör. işlenmesi gereken bazı kullanıcı girişleri veya işlemeniz gereken bir sistem etkinliği) temsil eder. Amaçları kullanarak çağrı ve görüşme modellerinizi oluşturabilirsiniz. Bu etkinlikler gerçekleştiğinde Asistan çalışma zamanı bunu ilgili niyetle eşleştirir ve niyetin işlenmesi için İşleminize gönderir. Aşağıdaki listede açıklanan iki temel 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 intent içinde özel eğitim ifadeleri tanımlarsınız ve bu da bir niyetin dil modelini oluşturur. Bu dil modeli, Asistan NLU'yi genişleterek daha da fazla anlama becerisini artırır.
Sistem amaçları, Asistan tarafından tanımlanan eğitim verilerini veya diğer konuşma dışı giriş sinyallerini içerir. Bu nedenle, bu amaçlar için eğitim ifadeleri tanımlamanız gerekmez. Asistan, ana çağrı gibi bilindik sistem etkinlikleri sırasında veya kullanıcıların herhangi bir giriş sağlamadığı durumlarda bu niyetle standart bir şekilde eşleşir.
Kullanıcı amaçları
İşlemler oluşturduğunuzda, Asistan'ın daha da fazla anlamasını sağlayan eğitim ifadeleri içeren kullanıcı amaçları oluşturursunuz. Asistan, Actions for Action'da kullanıcı istekleri için yetki verdiğinde NLU'yi artırmak amacıyla eğitim ifadelerinizi kullanır.
Bu durumda Asistan, kullanıcı ile Action'larınız arasındaki iletişimi sağlayarak kullanıcı girişini, eşleşen dil modeline sahip bir intent'le eşler. Asistan, daha sonra Actions'ınıza eşleşen amacı bildirir. Böylece sahnede işleme koyabilirsiniz.
Kullanıcı amaçları oluştururken aşağıdaki öğeleri belirtirsiniz:
Genel amaçlı tanımlama, Asistan çalışma zamanının hem görüşme sırasında hem de görüşme sırasında belirtilen kullanıcı amacıyla eşleşip eşleşmediğini tanımlar. Asistan, varsayılan olarak yalnızca görüşme sırasında kullanıcıların amaçlarıyla eşleşme sağlayabilir. Yalnızca genel olarak işaretlediğiniz amaçlar, derin bağlantı çağırma için uygundur.
Eğitim ifadeleri, kullanıcıların bir ürünü niyetiyle eşleştirmek için söyleyebileceği örneklerdir. Asistan NLU (doğal dil anlama) motoru, bu eğitim ifadelerini benzer şekilde diğer benzer ifadeleri içerecek şekilde doğal olarak genişletir. Yüksek kaliteli örneklerden oluşan büyük bir set sunmak, niyetin kalitesini ve eşleşme doğruluğunu artırır.
Parametreler, kullanıcı girişinden çıkarmak istediğiniz yazılan verilerdir. Bir parametre oluşturmak için NLU motoruna kullanıcı girişlerinin bazı bölümlerinin çıkarılmasını istediğinizi bildirmek üzere türler içeren eğitim ifadelerine ek açıklama 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ıldığı bir parametre olarak çıkarır. Böylece, sahnede mantık yürütebilirsiniz. Bir intent parametresi bir sahne alanıyla aynı ada sahipse Asistan çalışma zamanı, sahne alanını intent parametresindeki değerle otomatik olarak 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 yine de ayıklar.
Bir Action'a ait tüm kullanıcı girişlerini işlemek için kendi NLU'nızı kullanmak isteyebilirsiniz. Örneğin, Action'ınızın görüşme sırasında eşleşmeyen tüm senaryoları yanıtlamasını isteyebilirsiniz. Tüm kullanıcı girişlerini yakaladığınızdan emin olmak için Serbest biçim metin türüyle bir amaç oluşturun. Ancak, Asistan'ın varsayılan eşleşmeme davranışını geçersiz kılmak için özel amaçları kullanmaktan kaçınmanız gerekir. Bu durum, kullanıcıların İşlemler arasında geçiş yapmasını olumsuz etkileyebilir.
Actions Console'da özel amaç oluşturduğunuzda Actions Builder, kullanıcı amacınızla aynı rolü doldurabilecek 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 niyetlerini eşleştirir. Bu etkinliklerde, kullanıcının medya oynatıcıyı duraklatmak için "duraklat" gibi sistem tarafından tanımlanmış bir dil modeli olabilir veya kullanıcıların hiçbir giriş sağlamaması gibi bir dil modeli olmayabilir. Bu amaçlar Asistan tarafından sağlandığından, bunları nasıl eşleştirecekleri konusunda endişelenmeniz gerekmez, yalnızca eşleştiklerinde amaçların nasıl ele alınacağı konusunda endişelenmeniz gerekmez.
Sistem amaçları, YES
ve NO
gibi sıklıkla gerekli işlemler için kullanıcı amaçları oluşturma ihtiyacının da yerini alır. Sistem amaçları tüm yerel ayarlar için eğitilir. Bu sayede, farklı diller için kullanıcılarınıza tutarlı bir deneyim sunmayı kolaylaştırır.
Sistem amaçları, genel amaçlar olarak da ayarlanabilir.
Sistem intent'lerinin sürümü vardır. Asistan'ın desteklediği bir sistem sürümü varsa sistem amacının belirli bir sürümünü kullanabilirsiniz. Bir İşlem, sistem amacının desteklenmeyen bir 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ı bu varsayılan ana çağrıyı içermelidir. Kullanıcılar, Action'ı çağırmak için "Ok Google, <display name> ile konuş" gibi ifadeler kullanır. |
|
Kullanıcı, İşleminizdeki bir intent'le eşleştirilemeyen bir şey söylediğinde bu niyetler eşleştirilir. Son niyette her bir isteği ve çıkış mesajını ayarlayabilirsiniz. |
|
Bu amaçlar, 8 saniye sonra kullanıcıdan herhangi bir giriş girilmediğinde eşleştirilir. Her niyet için ayrı retler ve son niyette bir çıkış mesajı ayarlayabilirsiniz. |
actions.intent.CANCEL
|
Kullanıcı, görüşme sırasında Action'larınızdan çıkmak istediğinde (ör. "Çıkmak istiyorum") bu niyet eşleştirilir. |
actions.intent.MEDIA_STATUS_FINISHED
|
Bu amaç, bir kullanıcı medya oynatmayı tamamladığında veya sonraki medya parçasına atladığında eşleştirilir ve İşleminize gönderilir. |
actions.intent.MEDIA_STATUS_PAUSED
|
Bu amaç, bir kullanıcı medya yanıtında medya oynatmayı duraklattığında eşleştirilir ve İşleminize gönderilir. |
actions.intent.MEDIA_STATUS_STOPPED
|
Bu amaç eşleştirilir ve bir kullanıcı medya yanıtından medya oynatmayı durdurduğunda veya çıkardığında İşleminize gönderilir. |
actions.intent.MEDIA_STATUS_FAILED
|
Bu niyet eşleştirilir ve bir medya yanıtının oynatıcısı oynatılamadığında İşleminize gönderilir. |
actions.intent.YES
|
Bu niyet, bir kullanıcı Action'ınıza olumlu yanıt verdiğinde eşleştirilir. |
actions.intent.NO
|
Bu niyet, bir kullanıcı Action'ınıza olumsuz yanıt verdiğinde eşleştirilir. |
actions.intent.REPEAT
|
Bu niyet, kullanıcı İşlem'den son yanıtı tekrarlamasını istediğinde eşleştirilir. Sistem niyeti temsilcide etkinleştirilmemişse tekrarlanan istekler Asistan tarafından otomatik olarak işlenir. Bu sistem amacını etkinleştirmek, tekrarlanan isteklerin yanı sıra yanıtların işlenme şeklini değiştirmenize olanak tanır. |
actions.intent.PLAY_GAME
|
Bu amaç, kullanıcı bir oyun oynamak istediğinde eşleşir. Bu amaç, Actions on Google tarafından sağlanan dolaylı ç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 desteklenmektedir.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 amaçlarınız, uyguladığınız sistem amaçlarıyla aynı şekilde kodunuzda işlenmelidir.
Örneğin, yeni bir işlem geliştirdiğinizi ve YES
sistem amacını uyguladığınızı varsayalım. YES
sistem amacı yalnızca İngilizce dilinde desteklenir ancak uygulamanızın hem Almanca hem Japonca etkileşimleri desteklemesini de istersiniz.
Ek dilleri desteklemek amacıyla Almanca ve Japonca için eğitim ifadeleri içeren bir amaç oluşturursunuz. Ardından, YES
sistem amacı için kullandığınız kullanımı 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şmeyen getiri
Kullanıcının yanıtı amaçlarınızdan biriyle eşleşmediğinde Asistan, girişi işlemeyi dener. Bu davranış, kullanıcıların bir görüşmenin ortasında İşlemler'i değiştirmesini kolaylaştırır. Örneğin, bir kullanıcı "Bu hafta hangi filmler oynuyor?" diye sorar ve daha sonra görüşmenin ortasında bağlamı değiştirir: "Yarın hava nasıl?" Bu örnekte, "Yarın hava nasıl olacak?" ilk istem tarafından tetiklenen görüşmeye geçerli bir yanıt olmadığı için Asistan, otomatik olarak eşleşmeyi işlemeye ve kullanıcıyı uygun bir görüşmeye taşımaya çalışır.
Asistan, kullanıcının girişiyle eşleşen uygun bir İşlem bulamazsa kullanıcı Eyleminizin bağlamında devam eder.
Asistan, geçerli bir eşleşmeyen senaryoya yanıt vermek için İşleminizi kesintiye uğratabileceğinden, kullanıcı sorgularını yerine getirmek amacıyla NO_MATCH
sistem amacını kullanmayın. Kullanıcıya yalnızca izin vermek için NO_MATCH
niyetini kullanmanız gerekir.