Entités intégrées

Nous fournissons des entités qui identifient les informations objectives d'une entrée utilisateur, telles que l'heure, la date et les adresses.

Ces entités intégrées extraient des valeurs primitives telles que des chaînes et des entiers, mais peuvent également extraire des valeurs plus complexes à partir des entrées utilisateur à l'aide de groupes de propriétés.

Note

Lorsque vous définissez une variable en tant qu'entité dans un flux de dialogue basé sur YAML, assurez-vous de correspondre exactement au nom et à la casse de l'entité. Par exemple, vous obtenez une erreur de validation si vous entrez confirm: "YESNO" au lieu de confirm: “YES_NO”.

Entités intégrées et leurs propriétés

Les entités extraient du contenu à l'aide de propriétés qui reconnaissent chacune une valeur spécifique. Vous pouvez voir ces propriétés dans la sortie JSON retournée par le moteur NLU. Dans cette sortie, les entités mises en correspondance s'affichent avec la valeur qu'elles ont identifiée à partir de l'entrée utilisateur. Dans la définition de flux de dialogue, vous pouvez utiliser ces propriétés pour isoler une facette spécifique d'une valeur d'entité. Bien que chaque entité ait ses propriétés spécifiques, toutes les entités ont les propriétés suivantes :
Propriété Description
beginOffset Décalage de début de cette valeur d'entité à créneaux horaires commençant à 0.
endOffset Décalage de fin de cette valeur d'entité avec créneau commençant à 0.
originalString Chaîne initiale extraite de l'interrogation pour cet emplacement d'entité ou de la réponse à l'invite.
Note

Les entités DATE, TIME et DURATION sont obsolètes dans la version 22.08. Ces entités ne sont pas disponibles pour les compétences créées dans cette version de la plate-forme. Ils utilisent plutôt l'entité DATE_TIME. Les compétences existantes mises à niveau vers la version 22.08 continueront de prendre en charge ces entités système existantes, bien qu'il puisse y avoir des changements de comportement.
Nom d'entité Contenu extrait Exemples Propriétés (référencées dans les expressions de valeur) Exemple de réponse du moteur NLU
ADRESSE Ville, numéro de domicile et rue

Cette entité est en anglais seulement.

500 Smith Road, Vancouver
  • city

  • houseNumber

  • road

{
"road": "smith road",
"city": "smithville",
"entityName": "ADDRESS",
"houseNumber": "500",
"originalString": "500 Smith Road, Smithville"
}
CURRENCY Représentations monétaires. Vous pouvez désambiguïser les devises $ et ¥ selon les paramètres régionaux détectés de l'utilisateur.
  • $67

  • 75 dollars

  • amount

  • currency

  • totalCurrency

"CURRENCY": [ { "amount": 550, "currency": "usd", "totalCurrency": "550.0 usd", "entityName": "CURRENCY" } ]
DATE Date absolue ou relative.

Cette entité est obsolète dans la version 22.08 et n'est pas disponible pour les compétences créées dans cette version de la plate-forme. Pour les compétences créées à l'aide de versions antérieures, envisagez plutôt d'utiliser l'entité DATE_TIME.

Note : Lorsque l'entrée utilisateur indique un jour, mais ne donne aucun autre contexte temporel, le système considère qu'il s'agit d'une date future. Par exemple, il considère que le mercredi de l'entrée suivante désigne le mercredi suivant, et non le mercredi courant ou le précédent.
  • Réserve-moi un billet pour mercredi.

  • Je veux déposer un rapport de frais pour mercredi.

Vous pouvez remplacer ce comportement en appliquant une règle de résolution d'ambiguïté. Alors que l'entité DATE se résout au format de plusieurs paramètres régionaux pris en charge, vous pouvez choisir d'ignorer le format des paramètres régionaux détectés et d'imposer un format par défaut et un temps (futur, passé, le plus proche, etc.) en appliquant une règle de résolution d'ambiguïté.
  • Novembre 9, 2016

  • Aujourd'hui

date
  {
          "entityName": "Meeting",
          "DATE_TIME": [
            {
              "originalString": "Monday, October 16th",
              "bagItem": "Meeting:DateTime",
              "subType": "DATE",
              "timeZone": "UTC",
              "movableDateValue": "--10-16",
              "relativeRepresentation": "--10-16",
              "entityName": "DATE_TIME",
              "value": "2022-10-16"
            }
          ]
        }
      ]
DATE_TIME Extrait divers renseignements relatifs au temps au moyen des sous-types suivants : une date, une heure, une date et heure, un événement récurrent, un intervalle ou une durée.
  • Date : 1er janvier 2023
  • Temps : 10h
  • Date et heure : janvier 1, 2023 à 10h
  • Intervalle : janvier 1 2023 à partir de 10h pour 2 heures
  • Durée : 2 heures
  Pour "Planifier une réunion pour chaque mardi de 10h00 à 1h du matin à partir du 23 janvier 2022 et se terminant le 23 février" :
   "entityMatches": {
      "Meeting": [
        {
          "entityName": "Meeting",
          "DATE_TIME": [
            {
              "originalString": "February 23",
              "bagItem": "Meeting:DateTime",
              "subType": "DATE",
              "timeZone": "UTC",
              "role": "end",
              "movableDateValue": "--02-23",
              "relativeRepresentation": "--02-23",
              "entityName": "DATE_TIME",
              "value": "2023-02-23"
            },
            {
              "originalString": "January 23, 2022",
              "bagItem": "Meeting:DateTime",
              "subType": "INTERVAL",
              "startDate": {
                "originalString": "January 23, 2022",
                "subType": "DATE",
                "timeZone": "UTC",
                "entityName": "DATE_TIME",
                "value": "2022-01-23"
              },
              "entityName": "DATE_TIME"
            },
            {
              "originalString": "every Tuesday from 10:00 am to 1 pm",
              "bagItem": "Meeting:DateTime",
              "subType": "RECURRING",
              "timeZone": "UTC",
              "recurrenceFrequency": {
                "originalString": "every Tuesday from 10:00 am to 1 pm",
                "subType": "DURATION",
                "timeZone": "UTC",
                "entityName": "DATE_TIME",
                "value": "P1W"
              },
              "startInterval": {
                "originalString": "Tuesday from 10:00 am to 1 pm",
                "subType": "INTERVAL",
                "timeZone": "UTC",
                "startDate": {
                  "originalString": "Tuesday",
                  "subType": "DATE",
                  "timeZone": "UTC",
                  "weekday": "TU",
                  "relativeReference": "weekday",
                  "entityName": "DATE_TIME",
                  "value": "2022-10-18"
                },
                "startTime": {
                  "originalString": "10:00 am",
                  "subType": "TIME",
                  "timeZone": "UTC",
                  "entityName": "DATE_TIME",
                  "value": "10:00:00"
                },
                "endTime": {
                  "originalString": "1 pm",
                  "subType": "TIME",
                  "timeZone": "UTC",
                  "entityName": "DATE_TIME",
                  "value": "13:00:00"
                },
                "entityName": "DATE_TIME"
              },
              "entityName": "DATE_TIME"
            }
          ]
        }
      ]
    }
  • Interprétation du 23 février selon les règles de résolution du temps. Comme le cas d'utilisation concerne la planification d'une réunion, la date sera toujours interprétée comme étant prospective.
    "movableDateValue": "--02-23",
                  "relativeRepresentation": "--02-23"
  • "value": "P1W" : Représentation standard d'échange ISO 8601 hebdomadaire/une fois par semaine, où P est le désigateur de durée et W est l'indicateur de semaine.
DURATION Temps écoulé entre les bornes d'un intervalle

Cette entité est obsolète dans la version 22.08 et n'est pas disponible pour les compétences créées dans cette version de la plate-forme. Pour les compétences créées à l'aide de versions antérieures, envisagez plutôt d'utiliser l'entité DATE_TIME.

  • 4 ans

  • deux semaines

  • startDate

  • endDate

[ { "originalString": "2 hours", "bagItem": "Meeting:DateTime", "subType": "DURATION", "timeZone": "UTC", "entityName": "DATE_TIME", "value": "PT2H" } ] } ]
EMAIL (adresse de courriel) Adresse de courriel. Le système de compréhension du langage naturel (NLU) peut reconnaître les adresses de courriel qui combinent les éléments suivants :
  • partie avant l'arobase (@) :
    • lettres majuscules et minuscules de l'alphabet latin (A-Z et a-z)
    • chiffres (0-9)
    • caractères imprimables suivants : !#$%&'*+-/=?^_`{}~
    • point (.)
  • partie après l'arobase (@) :
    • lettres majuscules et minuscules de l'alphabet latin (A-Z et a-z)
    • chiffres (0-9)
    • trait d'union (-)
ragnar.smith@example.com    
EMPLACEMENT Extrait les villes, les États et les pays de l'entrée de l'utilisateur.
  • Redwood City
  • AC
  • USA
  • city
  • state
  • country
"LOCATION": [ { "originalString": "Redwood City, CA, USA", "name": "redwood city, ca, usa", "country": "usa", "state": "ca", "city": "redwood city", "entityName": "LOCATION" } ]
NUMBER Nombres ordinaux et cardinaux. Vous pouvez résoudre une entité en tant que format propre à l'emplacement (regroupement de milliers par arrêts complets, virgules, espaces, etc.).
  • 1st

  • premier

  • 1

  • un

   
PERSON Reconnaît une chaîne comme le nom d'une personne.

L'entité PERSON ne peut pas mettre en correspondance des noms qui sont également des emplacements (par exemple, Virginie du Nord).

Pour développer l'entité PERSON afin qu'elle corresponde toujours aux personnes de votre organisation, vous pouvez l'associer à une entité de liste de valeurs.
  • John J. Jones
  • Ashok Kumar
  • Gabriele D'Annunzio
  • Jones, David
  • Cantiflas
  • Zhang San
  • Virginie Jones
name "PERSON": [ { "originalString": "John J. Johnson", "name": "john j. johnson", "entityName": "PERSON" } ]
NUMÉRO DE TÉLÉPHONE Numéro de téléphone—Le moteur NLU reconnaît les numéros de téléphone comportant au moins sept chiffres (il ne reconnaît pas ceux qui en comportent moins). Tous les indicatifs de pays doivent être précédés d'un signe plus (+), sauf pour les États-Unis d'Amérique (pour lesquels le signe plus est facultatif). Les différentes parties du numéro de téléphone (indicatif régional, préfixe et numéro de ligne) peuvent être séparées par des points (.), des tirets (-) ou des espaces. Si l'entrée utilisateur comporte plusieurs numéros de téléphone, le moteur NLU les reconnaît lorsqu'ils sont séparés par des virgules. En revanche, il ne reconnaît pas ceux qui sont séparés par des points, des tirets ou des espaces.
  • (650)-555-555

  • 16,505,555,555

  • +61.3

  • phoneNumber

  • completeNumber

{ "phone_number":"(650)-555-5555", "complete_number":"(650)-555-5555", "entityName":"PHONE_NUMBER" }
TIME Heure précise.

Cette entité est obsolète dans la version 22.08 et n'est pas disponible pour les compétences créées dans cette version de la plate-forme. Pour les compétences créées à l'aide de versions antérieures, envisagez plutôt d'utiliser l'entité DATE_TIME.

Dans certains cas, par exemple, lorsque l'entrée est ambiguë, vous pouvez avoir besoin de l'entité TIME pour résoudre l'entrée de manière cohérente en tant qu'heure passée ou future, ou l'approximer par l'heure la plus proche. Pour ce faire, appliquez une règle de résolution d'ambiguïté.

30 2
  • hrs

  • mins

  • secs

  • "hourFormat":"PM"

"startTime": { "date": 1613653200000, "zoneOffset": "0", "endOffset": 4, "mins": 0, "zone": "UTC", "entityName": "TIME", "secs": 0, "hrs": 1, "originalString": "1 pm", "type": "TIME", "hourFormat": "PM", "beginOffset": 0 }
URL URL—Cette entité peut extraire des adresses IPv4, des URL Web, des liens profonds (http://example.com/path/page), des chemins d'accès et des URI mailto. Si l'entrée utilisateur spécifie des données d'identification, elle doit également inclure le protocole. Sinon, le protocole n'est pas requis. http://example.com
  • protocol

  • domain

  • fullPath

{"protocol":"http","domain":"example.com",}
YES_NO Détecte une réponse "yes" ou "no".     "YES_NO": [ { "beginOffset": 0, "endOffset": 4, "originalString": "Yeah", "yesno": "YES", "entityName": "YES_NO", "type": "YES_NO" } ]

L'entité DATE_TIME

Il existe de nombreuses façons dont votre compétence peut avoir besoin d'obtenir une entrée de date et d'heure. Par exemple, vous pouvez avoir besoin d'une date ou d'une heure simple, d'une date et d'une heure, ou d'une période ponctuelle ou récurrente. Vous pouvez utiliser l'entité DATE_TIME pour collecter des informations pour tous ces scénarios.

Avec l'entité DATE_TIME, vous choisissez un sous-type spécifique pour définir les informations à collecter. Le tableau suivant indique le sous-type à utiliser pour chaque scénario possible et fournit des liens vers des informations sur les attributs de chaque sous-type.

scénario; Sous-type DATE_TIME Informations de référence
Une date. Date. Attributs de sous-type DATE
Une fois. Time (Période) Attributs de sous-type TIME
Une date et une heure. Date et heure Attributs de sous-type DATETIME
Un laps de temps. Par exemple, 1 heure ou 4 jours. Durée Attributs de sous-type DURATION
Une seule occurrence d'une période définie par une date de début et une date de fin ou une date et heure de début et de fin. Intervalle Attributs de sous-type INTERVAL
Une période récurrente régulière définie par, par exemple, le début et la fin de la première période, l'intervalle entre les périodes récurrentes, et lorsque les périodes cessent de se répéter. récurrent Attributs de sous-type RECURRING
Note

L'entité DATE_TIME remplace les entités de système DATE, TIME, DURATION et SET, qui sont obsolètes et ne sont pas disponibles dans les compétences créées dans la version 22.08 et ultérieure. Les compétences existantes mises à niveau vers la version 22.08 prendront en charge ces entités système obsolètes, bien qu'il puisse y avoir des changements de comportement.
Vous pouvez utiliser les sous-types Date, Heure et Durée en tant qu'entités autonomes dans le flux de dialogue (où vous déclarez des variables distinctes pour chacune), mais vous ne pouvez utiliser les sous-types Intervalle et Récurrent qu'en les intégrant dans une entité composite.
Note

Nous vous recommandons de gérer tous les sous-types DATE_TIME dans une entité composite.

En mode de dialogue visuel, référencez les sous-types DATE_TIME à l'aide des états Résoudre l'entité et Résoudre l'entité déclarative.

Note

Si vous utilisez les sous-types Date, Heure et Durée en tant qu'entités autonomes dans un flux de dialogue basé sur YAML, spécifiez le sous-type en notation avec points : DATE_TIME.DATE, DATE_TIME.TIME, DATE_TIME.DURATION et pour SET, DATE_TIME.RECURRING. Par exemple :
context:
  variables:
    iResult: "nlpresult"
    Startdate: "DATE_TIME.DATE"
    duration: "DATE_TIME.DURATION" 
Dans le noeud states, vous référencez ces variables à l'aide d'un composant System.ResolveEntities.
Les valeurs DATE_TIME sont représentées comme ISO 8601. Pour une sortie conviviale, utilisez la version intégrée d'Apache FreeMarker .xs. Par exemple, le sous-type Time est extrait à l'aide de .value.value?time.xs?string['hh:mm a'] dans la référence d'ensemble de ressources suivante :
${rb('pizzaDeliveryMessage','time',deliveryTime.value.value?time.xs?string['hh:mm a'])}
La première value obtient le contenu de la variable en tant qu'objet. Le deuxième value est un attribut de l'objet DATE_TIME qui contient la valeur de temps.

Attributs pour chaque sous-type DATE_TIME

Voici les attributs de chaque sous-type DATE_TIME.

Notez que, comme toutes les autres entités du système, les sous-types incluent également les propriétés beginOffset, endOffset et originalString.

Attributs de sous-type DATE

Le sous-type DATE contient les attributs suivants à propos d'une DATE spécifique :

Attribut Type Explication
entityName Chaîne DATE_TIME
month Entier

Lorsque DATE est un attribut du sous-type RECURRING et que la chaîne d'origine inclut le nom d'un mois, par exemple "chaque lundi de juillet", cela représente la représentation numérique ("7" dans cet exemple) de la valeur de mois explicitement spécifiée.

movableDateValue Chaîne

Lorsque DATE est un attribut de RECURRING et que la DATE de référence ne représente pas une DATE spécifique (c'est-à-dire qu'il s'agit d'une DATE mobile telle que le 4 juillet), cela représente la valeur de DATE mobile explicitement spécifiée qui est utilisée par l'attribut DATE du sous-type de RECURRING pour différencier la DATE mobile résolue de la DATE non mobile résolue. Par exemple, si la date de référence est le 4 juillet, cette valeur est --07-04.

ordinal Entier

Lorsque DATE est un attribut du sous-type RECURRING et que la chaîne d'origine spécifie une valeur ordinale, telle que la première dans "chaque premier lundi", cela représente la valeur numérique de l'ordinal (dans cet exemple, "1").

ordinalReference Somme

Lorsque DATE est un attribut du sous-type RECURRING et que la chaîne d'origine inclut une valeur ordinale qui est qualifiée par le nom d'un mois, par exemple Juillet dans "chaque premier lundi de juillet", cela représente le qualificatif explicitement spécifié ('M' pour le mois).

subType Chaîne DATE
timezone Chaîne Le décalage de fuseau horaire. Par exemple : +07 :00.
type Chaîne DATE_TIME
value Chaîne Valeur résolue au format ISO 8601. Par exemple 2022-08-05.
weekday Somme

Lorsque DATE est un attribut du sous-type RECURRING et que la chaîne d'origine inclut le nom d'un jour, par exemple "tous les lundis", cela représente la valeur de jour de la semaine explicitement spécifiée à l'aide du format iCalendar, par exemple MO, TU et WE.

year Entier

Lorsque DATE est un attribut du sous-type RECURRING et que la chaîne d'origine inclut l'année, par exemple "chaque lundi de 2023", cela représente la valeur de l'année explicitement spécifiée.

Voici un exemple de réponse NLU pour le sous-type DATE :

          "aDate": {
            "endOffset": 8,
            "entityName": "DATE_TIME",
            "timeZone": "-10:00",
            "originalString": "tomorrow",
            "subType": "DATE",
            "type": "DATE_TIME",
            "value": "2022-09-07",
            "beginOffset": 0
          }

Attributs de sous-type TIME

Le sous-type TIME contient les attributs suivants à une heure précise :

Attribut Type Explication
entityName Chaîne DATE_TIME
subType Chaîne TIME
timezone Chaîne Le décalage de fuseau horaire. Par exemple : +07 :00.
type Chaîne DATE_TIME
value Chaîne Valeur résolue au format ISO 8601. Par exemple 12 :00 :00.

Voici un exemple de réponse NLU pour l'entité TIME :

          "aTime": {
            "endOffset": 4,
            "entityName": "DATE_TIME",
            "timeZone": "-10:00",
            "originalString": "2 pm",
            "subType": "TIME",
            "type": "DATE_TIME",
            "value": "14:00:00",
            "beginOffset": 0
          }

Attributs de sous-type DATETIME

Le sous-type DATETIME contient les attributs suivants concernant une date et une heure spécifiques :

Attribut Type Explication
date DATE Cet objet contient les attributs décrits dans Attributs de sous-type de DATE.
entityName Chaîne DATE_TIME
subType Chaîne DATETIME
time TIME Cet objet contient les attributs décrits dans Attributs de sous-typeTIME.

Voici un exemple de réponse NLU pour le sous-type DATETIME :


          "aDateAndTime": {
            "date": {
              "endOffset": 5,
              "entityName": "DATE_TIME",
              "timeZone": "-10:00",
              "originalString": "today",
              "subType": "DATE",
              "type": "DATE_TIME",
              "value": "2022-09-06",
              "beginOffset": 0
            },
            "entityName": "DATE_TIME",
            "subType": "DATETIME",
            "time": {
              "endOffset": 13,
              "entityName": "DATE_TIME",
              "timeZone": "-10:00",
              "originalString": "noon",
              "subType": "TIME",
              "type": "DATE_TIME",
              "value": "12:00:00",
              "beginOffset": 9
            }
          }

Attributs de sous-type DURATION

Le sous-type DURATION contient les attributs suivants pour une durée de jour ou d'heure, par exemple 1 semaine :

Attribut Type Explication
entityName Chaîne DATE_TIME
subType Chaîne DURATION
timezone Chaîne Le décalage de fuseau horaire. Par exemple : +07 :00.
type Chaîne DATE_TIME
value Chaîne Durée au format ISO 8601. Exemples : PT1H pendant 1 heure, P4D pendant 4 jours, P1W pendant 1 semaine, P2M pendant 2 mois.

Voici un exemple de réponse NLU pour le sous-type DURATION :

          "aDuration": {
            "endOffset": 7,
            "entityName": "DATE_TIME",
            "timeZone": "-10:00",
            "originalString": "3 hours",
            "subType": "DURATION",
            "type": "DATE_TIME",
            "value": "PT3H",
            "beginOffset": 0
          }

Attributs de sous-type INTERVAL

Le sous-type INTERVAL contient ces attributs à propos d'une période qui est définie par une date et une heure de début et de fin, ou qui est définie par une date, une heure de début et une durée, telles que 2 heures.

Attribut Type Explication
duration ENTITÉ Cet objet contient les attributs décrits dans Attributs de sous-type DURATION.
endDate DATE Cet objet contient les attributs décrits dans Attributs de sous-type de DATE.

Inclus pour les types de valeurs valides Date, Heure et Date seulement.

endTime TIME Cet objet contient les attributs décrits dans Attributs de sous-typeTIME.

Inclus pour les types de valeurs valides Date et heure et heure seulement.

entityName Chaîne DATE_TIME
startDate DATE Cet objet contient les attributs décrits dans Attributs de sous-type de DATE.

Inclus pour les types de valeurs valides Date, Heure et Date seulement.

startTime TIME Cet objet contient les attributs décrits dans Attributs de sous-typeTIME.

Inclus pour les types de valeurs valides Date et heure et heure seulement.

subType Chaîne INTERVAL

Voici un exemple de réponse NLU pour l'entité INTERVAL avec le type d'invite Date et heure :

          "anInterval": {
            "duration": {
              "entityName": "DATE_TIME",
              "subType": "DURATION",
              "value": "P1D"
            },
            "endDate": {
              "endOffset": 8,
              "entityName": "DATE_TIME",
              "timeZone": "-10:00",
              "originalString": "tomorrow",
              "subType": "DATE",
              "type": "DATE_TIME",
              "value": "2022-09-07",
              "beginOffset": 0
            },
            "entityName": "DATE_TIME",
            "subType": "INTERVAL",
            "startTime": {
              "endOffset": 4,
              "entityName": "DATE_TIME",
              "timeZone": "-10:00",
              "originalString": "noon",
              "subType": "TIME",
              "type": "DATE_TIME",
              "value": "12:00:00",
              "beginOffset": 0
            },
            "endTime": {
              "endOffset": 4,
              "entityName": "DATE_TIME",
              "timeZone": "-10:00",
              "originalString": "noon",
              "subType": "TIME",
              "type": "DATE_TIME",
              "value": "12:00:00",
              "beginOffset": 0
            },
            "startDate": {
              "endOffset": 5,
              "entityName": "DATE_TIME",
              "timeZone": "-10:00",
              "originalString": "today",
              "subType": "DATE",
              "type": "DATE_TIME",
              "value": "2022-09-06",
              "beginOffset": 0
            }
          }

Attributs de sous-type RECURRING

Le sous-type RECURRING contient les attributs suivants concernant une période périodique :

Attribut Type Explication
entityName Chaîne DATE_TIME
recurrenceDates Tableau de DATE Inclus lorsque plusieurs dates récurrentes sont indiquées. Cet objet contient un tableau d'objets DATE avec les attributs décrits dans Attributs de sous-type de DATE.
recurrenceFrequency DURATION Cet objet contient les attributs décrits dans Attributs de sous-type DURATION.
recurrenceTimes Tableau de temps Inclus lorsque plusieurs fois récurrents sont donnés. Cet objet contient un tableau d'objets TIME avec les attributs décrits dans Attributs de sous-type TIME.
recurrenceUntil INTERVALLE Spécifie les limites de la répétition. En général, seule la date de fin est indiquée. Cet objet contient les attributs décrits dans Attributs de sous-type INTERVAL.
startDate DATE Cet objet contient les attributs décrits dans Attributs de sous-type de DATE.

Notez que pour les entités RECURRING, l'objet DATE peut inclure les attributs month. movevableDateValue, ordinal, ordinalReference, weekday et year.

Inclus pour le type d'invite Date seulement.

startDateTime DATETIME Cet objet contient les attributs décrits dans Attributs de sous-type DATETIME.

Notez que pour les entités RECURRING, le sous-objet DATE de DATETIME peut inclure les attributs month. movevableDateValue, ordinal, ordinalReference, weekday et year.

Inclus pour le type de guidage Date et heure.

startInterval INTERVALLE Cet objet contient les attributs décrits dans Attributs de sous-type INTERVAL.
startTime TIME Cet objet contient les attributs décrits dans Attributs de sous-typeTIME.

Inclus pour le type d'invite Temps seulement.

subType Chaîne RECURRING

Voici un exemple de réponse NLU pour le sous-type RECURRING avec le type d'invite Date et heure :

          "aRecurringPeriod": {
            "startInterval": {
              "duration": {
                "entityName": "DATE_TIME",
                "subType": "DURATION",
                "value": "PT1H"
              },
              "endDate": {
                "entityName": "DATE_TIME",
                "timeZone": "-10:00",
                "subType": "DATE",
                "value": "2022-07-28"
              },
              "entityName": "DATE_TIME",
              "subType": "INTERVAL",
              "startTime": {
                "endOffset": 7,
                "entityName": "DATE_TIME",
                "timeZone": "-10:00",
                "originalString": "12 noon",
                "subType": "TIME",
                "bagItem": "Meeting:DateTime",
                "type": "DATE_TIME",
                "value": "12:00:00",
                "beginOffset": 0
              },
              "endTime": {
                "entityName": "DATE_TIME",
                "timeZone": "-10:00",
                "subType": "TIME",
                "value": "13:00:00"
              },
              "startDate": {
                "endOffset": 8,
                "entityName": "DATE_TIME",
                "timeZone": "-10:00",
                "originalString": "tomorrow",
                "subType": "DATE",
                "bagItem": "Meeting:DateTime",
                "type": "DATE_TIME",
                "value": "2022-07-28",
                "beginOffset": 0
              }
            },
            "recurrenceFrequency": {
              "endOffset": 10,
              "entityName": "DATE_TIME",
              "timeZone": "-10:00",
              "originalString": "every week",
              "subType": "DURATION",
              "type": "DATE_TIME",
              "bagItem": "Meeting:DateTime",
              "value": "P1W",
              "beginOffset": 0
            },
            "entityName": "DATE_TIME",
            "subType": "RECURRING",
            "recurrenceUntil": {
              "endDate": {
                "endOffset": 6,
                "entityName": "DATE_TIME",
                "timeZone": "-10:00",
                "originalString": "Sept 1",
                "subType": "DATE",
                "bagItem": "Meeting:DateTime",
                "type": "DATE_TIME",
                "value": "2022-09-01",
                "beginOffset": 0
              },
              "entityName": "DATE_TIME",
              "subType": "INTERVAL"
            }
          }

Règles de résolution d'ambiguïté pour les correspondances de temps et de date

Les utilisateurs peuvent entrer des dates partielles où l'heure est implicite. Par exemple :
  • "Programmer une réunion pour lundi"
  • "Créer un rapport de frais pour 7/11"
  • "Créer un rapport de frais pour le 11"
Certaines situations, comme la planification d'une réunion, impliquent une heure future. D'autres, comme la création d'un rapport de frais, font référence à un certain temps dans le passé. Pour vous assurer que les sous-types Heure et Date de l'entité DATE_TIME peuvent résoudre une entrée ambiguë en tant qu'entrée passée, présente ou comme approximation la plus proche, vous pouvez appliquer des règles de résolution d'ambiguïté. Pour définir le contexte temporel pour la résolution du temps, par exemple, cliquez sur l'entité DATE_TIME, puis appliquez une règle.
Note

Les règles de résolution d'ambiguïté ne valident pas l'entrée utilisateur. Vous pouvez valider l'entrée utilisateur à l'aide d'un valideur personnalisé qui utilise Apache FreeMarker (ce qui n'est pas recommandé) ou dans un programme de traitement d'événements d'entité (ce qui est recommandé). Ce valideur retourne false (échec de la validation) si une date passée est indiquée pour un cas d'utilisation prospectif (par exemple, un programmateur de réunion). Pour un cas d'utilisation rétroactif tel que la production de rapports de frais, le valideur retourne false si l'utilisateur entre une date future.


Note

Si vous référencez la même entité avec deux articles ou plus dans la même entité composite, ou si deux ou plusieurs entités composites font référence à la même entité et sont également associé à la même intention, effectuez une mise à niveau vers la version 21.12 pour vous assurer que les règles de résolution d'ambiguïté propres à chaque référence d'entité sont traitées séparément et ne sont pas remplacées par les règles définies pour une entité résolue précédemment.

Règles de résolution pour les correspondances avec le sous-type de date

La date se résout à la date UTC, et non à la date du serveur ni à la date du navigateur. Par exemple, "aujourd'hui" prononcé à 8 h le 8 juillet à partir du fuseau horaire Hawaii-Aleutian (UTC-10:00) est résolu comme le 9 juillet.
Règle Fonctionnement Exemples
Passée Résout l'entrée ambiguë comme le jour le plus proche de la semaine dans le passé.
  • Si l'énoncé inclut "Lundi" et que le jour courant est également Lundi, alors "Lundi" est résolu comme aujourd'hui.
  • Si l'énoncé inclut "Lundi" et que le jour courant est mercredi, le "Lundi" est résolu comme le lundi précédent.
Futur Résout l'entrée ambiguë comme le jour le plus proche dans le futur
  • Si l'énoncé inclut "Lundi" et que le jour courant est également Lundi, alors "Lundi" est résolu comme aujourd'hui.
  • Si l'énoncé inclut "Lundi", et que le jour courant est mardi, alors "Lundi" est résolu comme lundi suivant.
  • Si l'énoncé inclut "Mardi", et que le jour courant est lundi, "Mardi" est résolu comme ce mardi.
Au plus près Résout l'entrée ambiguë en tant que jour le plus proche.
  • Si l'énoncé inclut "Lundi" et que le jour courant est également lundi, le "Lundi" est résolu comme aujourd'hui. Si l'énoncé inclut "Lundi" et que le jour courant est mardi, alors "Lundi" se résout comme hier.
  • Si l'énoncé inclut "Lundi", et que le jour courant est Dimanche, le "Lundi" se résout comme demain.
Valeur par défaut Résout l'entrée ambiguë en tant que date future. Par exemple, si l'entrée inclut le mercredi, le jour est interprété comme le mercredi suivant, et non comme le précédent ou le jour courant (s'il s'agit d'un mercredi, c'est-à-dire).

Règles de résolution pour les correspondances avec le sous-type de temps

Règle Fonctionnement Exemples
Passée Résout l'entrée à l'heure la plus proche dans le passé par rapport à l'heure courante dans le fuseau horaire UTC.
  • Si l'énoncé inclut "9 h" et que l'heure courante est 10 h 00, l'heure est résolue à 9 h 00 aujourd'hui.
  • Si l'énoncé inclut "9 pm" et que l'heure courante est à 10h00, l'heure est résolue à 9h00 hier.
  • Si l'énoncé inclut "9" et que l'heure courante est 10:00, l'heure est résolue à 9:00 aujourd'hui.
Futur Résout l'entrée à l'heure la plus proche dans le futur par rapport à l'heure courante dans le fuseau horaire UTC.
  • Si l'énoncé inclut "9 h" et que l'heure courante est à 10 h 00, l'heure est résolue à 9 h 00 demain.
  • Si l'énoncé inclut "9 pm" et que l'heure courante est 10:00 am, l'heure est résolue à 9 pm aujourd'hui.
  • Si l'énoncé inclut "9" et que l'heure courante est à 10 h 00, l'heure est résolue à 9 h 00 aujourd'hui.
Au plus près Résout l'entrée en tant qu'heure la plus proche par rapport à l'heure courante dans le fuseau horaire UTC.
  • Si l'énoncé inclut "9 h" et que l'heure courante est 10 h 00, l'heure est résolue comme aujourd'hui 9 h 00.
  • Si l'énoncé inclut "9 pm" et que l'heure courante est 10:00 am, l'heure est résolue à 9:00 pm aujourd'hui.
  • Si l'énoncé inclut "9" et que l'heure courante est 10:00, l'heure est résolue à 9:00 aujourd'hui.
  • Si l'énoncé inclut "10:00" et que l'heure courante est 1:00 am, l'heure est résolue à 10:00 pm hier.
Valeur par défaut Résout l'entrée par la méthode utilisée dans les versions antérieures à la version 21.06 d'Oracle Digital Assistant.
  • Si l'énoncé inclut "9 h" et que l'heure courante est 10 h, l'heure est résolue à 9 h aujourd'hui.
  • Si l'énoncé inclut "9 pm" et que l'heure courante est 10 h, l'heure est résolue à 9 pm aujourd'hui.
  • Si l'énoncé inclut "9" et que l'heure courante est 10 heures, l'heure est résolue à 9 heures aujourd'hui.
  • Si l'énoncé inclut "1:00 am" et que l'heure courante est 2 pm, l'heure est résolue à 1 h demain.

Résolution d'entité basée sur les paramètres régionaux

Vous pouvez activer les entités CURRENCY, DATE et NUMBER pour les résoudre en fonction des paramètres régionaux de l'utilisateur en activant Consider End User Locale (Considérer les paramètres régionaux de l'utilisateur final).

Selon l'entité, cette option a différentes applications :
  • DATE se résout AU format propre aux paramètres régionaux : il peut résoudre 11/7 comme le 7 novembre pour en-US ou le 11 juillet pour en-AU, par exemple. Pour les paramètres régionaux non pris en charge, vous pouvez appliquer un format et un contexte temporel, tels que passé ou futur.
  • NUMBER se résout au format numérique propre au pays - la virgule, le point ou l'espace utilisé pour séparer les groupes de milliers et le point décimal avec ou sans espace mince qui sépare la partie fractionnaire du nombre. Par exemple, le Royaume-Uni et les États-Unis utilisent tous deux une virgule pour séparer des groupes de milliers.
    Note

    Lorsque l'option Considérer les paramètres régionaux de l'utilisateur final est désactivée, l'entité NUMBER est résolue en tant que COMMA_DOT (1 000,00).
  • CURRENCY utilise les paramètres régionaux pour la résolution en une devise $ ou ¥ spécifique. Lorsqu'aucun paramètre régional n'est détecté, vous pouvez définir l'entrée à résoudre en tant que devise $ ou ¥ définie par la règle de résolution d'ambiguïté.
Note

Si vous référencez la même entité avec deux autres éléments dans la même entité composite, ou si deux ou plusieurs entités composites font référence à la même entité et sont également associées avec la même intention, effectuez une mise à niveau vers la version 21.12 pour vous assurer que la personnalisation des paramètres régionaux propre à chaque référence d'entité est traitée séparément et non remplacée par la configuration des paramètres régionaux d'une entité résolue précédemment.

Résolution de date basée sur les paramètres régionaux

Lorsque les paramètres régionaux de l'utilisateur ne peuvent pas être détectés, la date est résolue en tant que format de date par défaut sélectionné.
Pour ce paramètre régional... Cette entrée... ... Résout en tant que... Format (séquence de date-mois)
États-Unis (en_US) 11/7 Novembre 7 MONTH_DAY
Royaume-Uni (en_GB) 11/7 juillet 11 DAY_MONTH
Canada - Anglais (en_CA) 11/7 Novembre 7 MONTH_DAY
Canada - Français (fr_CA) 11/7 Novembre 7 MONTH_DAY
Australie (en_AU) 11/7 juillet 11 DAY_MONTH
Mexique (es_MX) 11/7 juillet 11 DAY_MONTH
Singapour (zh_SG) 11/7 juillet 11 DAY_MONTH
Émirats arabes unis (ar_AE) 11/7 Novembre 7 MONTH_DAY
Arabe (ar_AR) 11/7 Novembre 7 MONTH_DAY
France (fr_FR) 11/7 juillet 11 DAY_MONTH
Pays-Bas (nl_NL) 11/7 juillet 11 DAY_MONTH
Allemagne (de_DE) 11/7 juillet 11 DAY_MONTH
Italie (it_IT) 11/7 juillet 11 DAY_MONTH
Portugal (pt_PT) 11/7 juillet 11 DAY_MONTH
Espagne (en_ES) 11/7 juillet 11 DAY_MONTH
Chine (zh_CN) 11/7 Novembre 7 MONTH_DAY
Japon (ja_JP) 11/7 Novembre 7 MONTH_DAY

Résolution de devise basée sur les paramètres régionaux

Pour ce paramètre régional... Cette entrée... ... Résout en tant que (ambiguïté en dollars) Cette entrée... ... Résout comme (ambiguïté du yen)
États-Unis (en_US) 20 dollars 20.0 USD 20 ¥ 20.0 JPY
Royaume-Uni (en_GB) 20 dollars 20.0 USD 20 ¥ 20.0 JPY
Canada - Anglais (en_CA) 20 dollars 20.0 CAD 20 ¥ 20.0 JPY
Canada - Français (fr_CA) 20 dollars 20.0 CAD 20 ¥ 20.0 JPY
Australie (en_AU) 20 dollars 20.0 AUD 20 ¥ 20.0 JPY
Mexique (es_MX) 20 dollars 20,0 MXN 20 ¥ 20,0 CNY
Singapour (zh_SG) 20 dollars 20,0 SGD 20 ¥ 20.0 JPY
Émirats arabes unis (ar_AE) 20 dollars 20.0 USD 20 ¥ 20.0 JPY
Arabe (ar_AR) 20 dollars 20.0 USD 20 ¥ 20.0 JPY
France (fr_FR) 20 dollars 20.0 USD 20 ¥ 20.0 JPY
Pays-Bas (nl_NL) 20 dollars 20.0 USD 20 ¥ 20.0 JPY
Allemagne (de_DE) 20 dollars 20.0 USD 20 ¥ 20.0 JPY
Italie (it_IT) 20 dollars 20.0 USD 20 ¥ 20.0 JPY
Portugal (pt_PT) 20 dollars 20.0 USD 20 ¥ 20.0 JPY
Espagne (en_ES) 20 dollars 20.0 USD 20 ¥ 20.0 JPY
Chine (zh_CN) 20 dollars 20.0 USD 20 ¥ 20,0 CNY
Japon (ja_JP) 20 dollars 20.0 USD 20 ¥ 20.0 JPY

Résolution de numéros basée sur les paramètres régionaux

Lorsque l'option Consider les paramètres régionaux de l'utilisateur final est désactivée, le format numérique prend par défaut la valeur COMMA_DOT (1 000,00).
Lorsque les paramètres régionaux sont activés pour... ... Le format reconnu est... Exemple
États-Unis (en_US) COMMA_DOT 1,000,000
Royaume-Uni (en_GB) COMMA_DOT 1,000,000
Canada - Anglais (en_CA) COMMA_DOT 1,000,000
Canada - Français (fr_CA) DOT_COMMA 1
Australie (en_AU) COMMA_DOT 1,000,000
Mexique (es_MX) COMMA_DOT 1,000,000
Singapour (zh_SG) COMMA_DOT 1,000,000
Émirats arabes unis (ar_AE) DOT_COMMA 1
Arabe (ar_AR) DOT_COMMA 1
France (fr_FR) SPACE_COMMA 1 0 0
Pays-Bas (nl_NL) DOT_COMMA 1
Allemagne (de_DE) DOT_COMMA 1
Italie (it_IT) DOT_COMMA 1
Portugal (pt_PT) COMMA_DOT 1,000,000
Espagne (en_ES) DOT_COMMA 1
Chine (zh_CN) COMMA_DOT 1,000,000
Japon (ja_JP) COMMA_DOT 1,000,000