Türler, Asistan NLU (doğal dil anlama) motorunu kullanıcı girişinden yapılandırılmış veriler çıkaracak şekilde yapılandırmanıza olanak tanır. Türleri aşağıdaki durumlarda kullanabilirsiniz:
Amaçlarda, eğitim ifadelerine türlerle ek açıklamalar ekleyerek slot oluşturabilirsiniz. Kullanıcılar bir slotla eşleşen bir şey söylediğinde NLU motoru bunu yazılan bir parametre olarak çıkarır. Böylece bu bilgiyi bir sahne içinde işleyebilirsiniz.
Bir sahnenin alan doldurma aşamasında, kullanıcının sahneden çıkmadan veya sahneden çıkmadan önce sağlamasını istediğiniz birden çok alan belirtebilirsiniz.
Bir sahnenin conditions aşamasında, bir parametrenin bir tür içinde tanımlanmış belirli bir değere sahip olup olmamasına ilişkin mantığı temel alabilirsiniz.
Özel türler
Özel türler, NLU'nun tek bir anahtara bir değer grubu atamasını bildirmek için kendi tür belirtiminizi oluşturmanızı sağlar. Türleri çeşitli şekillerde belirtebilirsiniz:
- Kelimeler ve eş anlamlılar, birden fazla değeri tek bir anahtarla eşleştirmenize olanak tanır. Bu anahtara giriş denir. Türünüz bir veya daha fazla giriş içerebilir. Bu seçeneği belirlerseniz aşağıdaki NLU ayarlarını da etkinleştirebilirsiniz:
- Bulanık eşleştirmeyi etkinleştir: Bu özellik, kelimeler farklı sırada söylense bile birden fazla kelimeden oluşan girişlerin eşleştirilmesine olanak tanır.
- Bilinmeyen değerleri kabul edin: Olası tüm değerleri belirtemediğinizde dil işlemcisi, çevredeki giriş ve amaç eğitimi verilerine (ör. market listesine eklenebilecek öğeler) bağlı olarak bilinmeyen kelimeleri veya ifadeleri kabul edebilir.
- Normal ifadeler, türün Google'ın RE2 standardına dayalı normal ifade kalıpları kullanarak değerleri eşleştirmesine olanak tanır.
- Serbest biçimli metin, türün kullanıcının söylediği her şeyle eşleşmesini sağlar. Bu tür bir niyete açıklama eklemek, tüm girişi kendi NLU'nuza iletebileceğiniz bir parametre olarak kullanmanıza olanak tanır.
Sistem türleri
Sistem türleri, sistem tarafından sağlanan eğitim verileri ve değerlerini kullanarak kullanıcı girişlerinden iyi bilinen verilere ek açıklama eklemenize ve bunları çıkarmanıza olanak tanır. Aşağıdaki sistem türleri desteklenir:
Tür | Açıklama |
---|---|
actions.type.DateTime |
Kullanıcının cihaz ayarlarına dayalı olarak tarih, saat ve saat dilimini içerir. Slot doldurma ve eğitim ifadesi ek açıklaması için kullanılabilir. |
actions.type.Date |
Yalnızca tarih içerir. Yalnızca yuva doldurmak için kullanılabilir. |
actions.type.Time |
Yalnızca zaman içerir. Yalnızca yuva doldurmak için kullanılabilir. |
actions.type.Number |
Number türü, sıralı ve kardinal sayılarla eşleşir. |
DateTime
, Date
ve Time
kullanımı
Bu türler, türü nerede kullandığınıza ve türle eşleşen kullanıcı girişine bağlı olarak farklı davranır.
Amaçlarla kullanma
Amaçlardaki eğitim ifadelerine ek açıklama eklemek yalnızca DateTime
türünü destekler. Kullanıcı girişinin tam bir DateTime
değeriyle eşleşmesi gerekmez. Örneğin, bir kullanıcı yalnızca yıl değerini sağlarsa oturum parametresi şu şekilde görünebilir:
"date_time": {
"year": 2019
}
Slot doldurma özelliğiyle kullanma
Slot doldurma DateTime
, Date
ve Time
özelliklerini destekler.
- Alan türü
DateTime
ise Asistan, tam değer sağlanana kadar kullanıcıdan kullanıcı ister. - Alan türü
Date
ise Asistan, bir tarih değeri sağlanana kadar kullanıcıdan onay ister. Toplandığında, aldığınız parametre tamDateTime
olur ve süre 00:00 olarak ayarlanır. - Alan türü
Time
ise Asistan, bir zaman değeri sağlanana kadar kullanıcıdan onay ister. Toplandığında, aldığınız parametre, tarihi geçerli tarihe ayarlanmış olan eksiksiz birDateTime
nesnesi olur.
Örneğin, Los Angeles'taki bir kullanıcının "Ok Google, 15 Ocak 2024 saat 20:00 için hatırlatıcı oluştur" dediğini varsayalım. DateTime
, bir slot doldurma işleminin parçası olarak çıkarıldığında tam parametre şöyle görünebilir:
"date_time": {
"day": 15,
"hours": 20,
"minutes": 0,
"month": 1,
"nanos": 0,
"seconds": 0,
"time_zone": {
"id": "America/Los_Angeles"
},
"year": 2024
}
Koşullarla kullanma
Koşullar yalnızca sayı ve dize kullanımına izin verir. Bu nedenle, üst düzey DateTime
parametresinin kullanılması koşul için False sonucunu verir. Örneğin:
day
değeri sayı olduğu ve desteklendiği için$session.params.my_dateTime.day > 5
geçerli bir koşuldur.- Üst düzey "DateTime" nesnesi bir sayı veya dize olmadığından
$session.params.my_dateTime > "01-01-2010"
geçersiz bir koşuldur.
Çalışma zamanı türü geçersiz kılmaları
Çalışma zamanı türü geçersiz kılmaları, istek karşılamada dinamik olarak türleri oluşturmanıza veya değiştirmenize olanak tanır. Bu özellik, çalışma zamanında bir türün spesifikasyonuna ekleme yapmanıza veya özelliği değiştirmenize olanak tanır. Örneğin, günlük menü öğelerini sipariş karşılamanızdaki bir türe yüklemek için bir arka uç veri kaynağını kontrol edebilirsiniz.
Tür geçersiz kılmaları oluşturma hakkında daha fazla bilgi için webhook'lar kılavuzunu inceleyin.