Türler

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 tam DateTime 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 bir DateTime 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.