Types

Les types vous permettent de configurer le NLU (Natural Language Understanding, compréhension du langage naturel) de l'Assistant pour extraire les données structurées des entrées utilisateur. Toi peuvent utiliser des types dans les situations suivantes:

  • Dans les intents, vous pouvez annoter les phrases d'entraînement avec des types pour : créer des emplacements. Quand les utilisateurs disent quelque chose qui correspond à un emplacement, le moteur NLU l'extrait en tant que paramètre typé, afin que vous puissiez le traiter dans une scène.

  • À l'étape de remplissage de cases d'une scène, vous pouvez spécifier que l'utilisateur doit fournir avant de pouvoir une transition ou une sortie de la scène.

  • Dans l'étape conditions d'une scène, vous pouvez baser pour déterminer si un paramètre possède une valeur spécifique définie dans un type.

Types personnalisés

Les types personnalisés vous permettent de créer votre propre spécification de type pour avertir la NLU des d'attribuer un ensemble de valeurs à une seule clé. Vous pouvez spécifier des types dans différents différentes manières:

  • Les mots et synonymes vous permettent de mapper plusieurs valeurs à une clé unique. qui s'appellent des entrées. Le type peut contenir une ou plusieurs entrées. Si vous sélectionnez cette option, vous pouvez également activer les paramètres NLU suivants:
    • Activer la correspondance partielle : cette fonctionnalité autorise les entrées contenant plusieurs le mot à rechercher, même s'ils sont prononcés dans un ordre différent.
    • Accepter les valeurs inconnues : lorsque vous ne pouvez pas spécifier toutes les valeurs possibles, le paramètre le processeur de langue peut accepter des mots ou expressions inconnus basés sur des données d'entrée et d'entraînement sur l'intent, telles que les articles pouvant être ajoutés à une épicerie liste.
  • Les expressions régulières permettent au type de faire correspondre les valeurs à l'aide des expressions régulières des modèles d'expression basés sur Norme RE2 de Google.
  • Texte au format libre permet de faire correspondre le type tout ce qu'un utilisateur dit. L'annotation un intent de ce type vous permet d'utiliser toutes les entrées en tant que paramètre vous pouvez rediriger vers votre propre NLU.

Types de systèmes

Les types système vous permettent d'annoter et d'extraire des données connues à partir d'entrées utilisateur à l'aide des données et valeurs d'entraînement fournies par le système. Les types de systèmes suivants sont compatibles:

Type Description
actions.type.DateTime Contient la date, l'heure et le fuseau horaire en fonction des paramètres de l'appareil de l'utilisateur. Disponible pour le remplissage de cases et l'annotation de phrases d'entraînement.
actions.type.Date Ne contient que la date. Disponible pour le remplissage de cases uniquement.
actions.type.Time Ne contient que l'heure. Disponible pour le remplissage de cases uniquement.
actions.type.Number Le type Number correspond à ordinal et cardinal de chiffres.

Utilisation de DateTime, Date et Time

Ces types se comportent différemment selon l'endroit où vous les utilisez et les une entrée utilisateur correspondant au type.

Utiliser avec des intents

L'annotation de phrases d'entraînement dans les intents n'est compatible qu'avec le type DateTime. Utilisateur l'entrée n'a pas besoin de correspondre à l'intégralité d'une valeur DateTime. Par exemple, si un utilisateur ne fournit que l'année, le paramètre de session peut se présenter comme suit:

"date_time": {
  "year": 2019
}

Utiliser avec le remplissage de cases

Le remplissage d'emplacements est compatible avec DateTime, Date et Time.

  • Si le type d'emplacement est DateTime, l'Assistant invite l'utilisateur jusqu'à est fournie.
  • Si le type d'emplacement est Date, l'Assistant invite l'utilisateur jusqu'à une date est fournie. Lorsqu'il est collecté, le paramètre que vous recevez est un nombre DateTime avec l'heure définie sur 00:00.
  • Si le type d'emplacement est Time, l'Assistant invite l'utilisateur jusqu'à un moment est fournie. Lorsqu'il est collecté, le paramètre que vous recevez est une valeur DateTime avec la date définie sur la date actuelle.

Par exemple, supposons qu'un utilisateur basé à Los Angeles dit : "Hey Google, crée un rappel le 15 janvier 2024 à 20h. » Lorsque DateTime est extrait dans le cadre d'un emplacement processus de remplissage, le paramètre complet peut ressembler à ceci:

"date_time": {
  "day": 15,
  "hours": 20,
  "minutes": 0,
  "month": 1,
  "nanos": 0,
  "seconds": 0,
  "time_zone": {
    "id": "America/Los_Angeles"
  },
  "year": 2024
}

Utiliser des conditions avec

Les conditions n'autorisent que l'utilisation de nombres et de chaînes. Par conséquent, l'utilisation du niveau supérieur DateTime génère un résultat False pour la condition. Exemple :

  • $session.params.my_dateTime.day > 5 est une condition valide, car la valeur La valeur day est un nombre. Elle est prise en charge.
  • $session.params.my_dateTime > "01-01-2010" n'est pas une condition valide, car la colonne "DateTime" n'est pas un nombre ni une chaîne.

Forçages de types d'environnement d'exécution

Les remplacements de type d'exécution vous permettent de créer ou de modifier des types de manière dynamique dans le traitement. Cette fonctionnalité vous permet d'ajouter ou de remplacer la spécification d'un type à l'adresse de l'environnement d'exécution. Par exemple, vous pouvez consulter une source de données backend pour charger le menu quotidien dans un type de traitement.

Pour en savoir plus, consultez le guide sur les webhooks. sur la création de remplacements de types.