Entidades Incorporadas

Nós fornecemos entidades que identificam informações do objetivo da entrada do usuário, como horário, data e endereços.

Essas entidades incorporadas extraem valores primitivos como strings e inteiros, mas também podem extrair valores mais complicados da entrada do usuário usando grupos de propriedades.

Observação

Sempre que você definir uma variável como entidade em um fluxo de caixas de diálogo baseado em YAML, certifique-se de que corresponda ao nome e às maiúsculas e minúsculas da entidade exatamente. Por exemplo, você obterá um erro de validação se digitar confirm: "YESNO" em vez de confirm: “YES_NO”.

Entidades Incorporadas e Suas Propriedades

As entidades extraem conteúdo usando propriedades, sendo que cada uma reconhece um valor específico. Você pode ver essas propriedades na saída JSON retornada pelo Mecanismo NLU. Nessa saída, as entidades correspondentes são exibidas com o valor que elas identificaram na entrada do usuário. Na definição do fluxo de caixas de diálogo, você pode usar essas propriedades para isolar uma faceta específica de um valor de entidade. Embora cada entidade tenha suas propriedades específicas, todas as entidades têm as seguintes propriedades:
Propriedade Descrição
beginOffset O deslocamento inicial deste valor de entidade com slot a partir de 0.
endOffset O deslocamento final deste valor de entidade com slot a partir de 0.
originalString A string original que foi extraída da consulta para este slot de entidade ou a resposta ao prompt.
Observação

As entidades DATE, TIME e DURATION ficaram obsoletas na Versão 22.08. Essas entidades não estão disponíveis para as habilidades criadas nesta versão da plataforma. Eles usam a entidade DATE_TIME. As habilidades existentes atualizadas para a versão 22.08 continuarão a oferecer suporte a essas entidades do sistema existente, embora possa haver algumas alterações de comportamento.
Nome da Entidade Conteúdo Extraído Exemplos Propriedades (Referenciadas em Expressões de Valor) Exemplo de Resposta do Mecanismo NLU
ENDEREÇO A cidade, o número da residência e a rua

Esta entidade é somente em inglês.

500 Smith Road, Smithville
  • city

  • houseNumber

  • road

{
"road": "smith road",
"city": "smithville",
"entityName": "ADDRESS",
"houseNumber": "500",
"originalString": "500 Smith Road, Smithville"
}
CURRENCY Representações monetárias. Você pode desambiguar as moedas $ e ¥ pela configuração regional detectada do usuário.
  • $67

  • 75 dólares

  • amount

  • currency

  • totalCurrency

"CURRENCY": [ { "amount": 550, "currency": "usd", "totalCurrency": "550.0 usd", "entityName": "CURRENCY" } ]
DATE Uma data absoluta ou relativa.

Esta entidade está obsoleta na Versão 22.08 e não está disponível para habilidades criadas nesta versão da plataforma. Para habilidades criadas usando versões anteriores, considere usar a entidade DATE_TIME.

Observação: Quando o usuário digita um dia, mas não especifica outro contexto temporal, o sistema considera esta uma data futura. Por exemplo, ele considera quarta-feira, na entrada a seguir, como próxima quarta-feira, não a quarta-feira atual ou anterior.
  • Reserve para mim uma passagem para quarta-feira.

  • Quero arquivar um relatório de despesas para quarta-feira.

Você pode substituir esse comportamento aplicando uma regra de resolução de ambiguidade. Embora a entidade DATE resulte no formato de várias configurações regionais suportadas, você pode optar por ignorar o formato da configuração regional detectada e impor um formato padrão e um tempo (futuro, passado, mais próximo etc.) aplicando uma regra de resolução de ambiguidade.
  • 9 de novembro de 2016

  • Hoje

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 Extrai várias informações relacionadas a tempo por meio dos seguintes subtipos: uma data, uma hora, uma data e hora, um evento recorrente, um intervalo ou uma duração.
  • Data: 1o de janeiro de 2023
  • Tempo: 10h
  • Data e hora: 1o de janeiro de 2023 às 10h
  • Intervalo: 1o de janeiro de 2023 das 10h por 2 horas
  • Duração: 2 horas
  Para "Agendar uma reunião para cada terça-feira das 10h00 às 1h começando em 23 de janeiro de 2022 e terminando em 23 de fevereiro":
   "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"
            }
          ]
        }
      ]
    }
  • Interpretação de 23 de fevereiro de acordo com as regras de resolução de tempo. Como o caso de uso é para agendar uma reunião, a data sempre será interpretada como prospectiva.
    "movableDateValue": "--02-23",
                  "relativeRepresentation": "--02-23"
  • "value": "P1W": Uma representação padrão de intercâmbio ISO 8601 de semanal/uma vez por semana, em que P é o desigator de duração e W é o designador de semana.
DURATION O tempo entre os dois pontos finais de um intervalo de tempo

Esta entidade está obsoleta na Versão 22.08 e não está disponível para habilidades criadas nesta versão da plataforma. Para habilidades criadas usando versões anteriores, considere usar a entidade DATE_TIME.

  • 4 anos

  • duas semanas

  • startDate

  • endDate

[ { "originalString": "2 hours", "bagItem": "Meeting:DateTime", "subType": "DURATION", "timeZone": "UTC", "entityName": "DATE_TIME", "value": "PT2H" } ] } ]
EMAIL Um endereço de e-mail. O sistema NLU pode reconhecer endereços de e-mail que tenham uma combinação dos seguintes elementos:
  • a parte antes do símbolo de arroba (@):
    • letras maiúsculas e minúsculas no alfabeto latino (A-Z e a-z)
    • dígitos (0-9)
    • estes caracteres de impressão: !#$%&'*+-/=?^_`{}~
    • ponto (.)
  • a parte após o símbolo de arroba (@):
    • letras maiúsculas e minúsculas no alfabeto latino (A-Z e a-z)
    • dígitos (0-9)
    • traço (-)
ragnar.smith@example.com    
LOCALIZAÇÃO Extrai cidades, estados e países da entrada do usuário.
  • Redwood City
  • CA
  • 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 Corresponde números ordinais e cardinais. Você pode resolver uma entidade como o formato específico de configurações regionais (agrupamento de milhares por paradas completas, vírgulas, espaços etc.).
  • 1st

  • primeiro

  • 1

  • uma vez

   
PERSON Reconhece uma string como o nome de uma pessoa.

A entidade PERSON não pode corresponder a nomes que também sejam locais (por exemplo, Virgínia North).

Para expandir a entidade PESSOA para sempre corresponder às pessoas em sua organização, você pode associá-la a uma Entidade da lista de valores.
  • John J. Jones
  • Ashok Kumar
  • Gabriele D'Annunzio
  • Jones, David
  • Cantiflas
  • Zhang San
  • Virginia Jones
name "PERSON": [ { "originalString": "John J. Johnson", "name": "john j. johnson", "entityName": "PERSON" } ]
TELEFONE Um número de telefone — O Mecanismo NLU reconhece números de telefone com sete ou mais dígitos (ele não pode reconhecer qualquer número de telefone com menos dígitos). Todos os códigos de país precisam ser prefixados com um sinal de mais (+), exceto os Estados Unidos da América (onde o sinal de mais é opcional). As várias partes do número de telefone (o código de área, o prefixo e o número da linha) podem ser separas por pontos (.), traços (-) ou espaços. Se houver vários números de telefone digitados na entrada do usuário, o Mecanismo NLU poderá reconhecê-los quando forem separados por vírgulas. Ele não poderá reconhecer diferentes números de telefone se forem separados por pontos, traços ou espaços.
  • (650)-55

  • 16,505,555,555

  • +61.3

  • phoneNumber

  • completeNumber

{ "phone_number":"(650)-555-5555", "complete_number":"(650)-555-5555", "entityName":"PHONE_NUMBER" }
TIME Um horário específico.

Esta entidade está obsoleta na Versão 22.08 e não está disponível para habilidades criadas nesta versão da plataforma. Para habilidades criadas usando versões anteriores, considere usar a entidade DATE_TIME.

Em alguns casos, por exemplo, quando a entrada é ambígua, talvez você precise da entidade TIME para resolver a entrada de forma consistente como um tempo passado ou futuro ou aproximá-la no horário mais próximo. Para fazer isso, aplique uma regra de resolução de ambiguidade.

2:30 pm
  • 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 Um URL — Essa entidade pode extrair endereços IPv4, URLs Web, links profundos (http://example.com/path/page), caminhos de arquivo e URIs mailto. Se a entrada do usuário especificar credenciais de log-in, ela também deverá incluir o protocolo. Caso contrário, o protocolo não será obrigatório. http://example.com
  • protocol

  • domain

  • fullPath

{"protocol":"http","domain":"example.com",}
YES_NO Detecta "sim" ou "não".     "YES_NO": [ { "beginOffset": 0, "endOffset": 4, "originalString": "Yeah", "yesno": "YES", "entityName": "YES_NO", "type": "YES_NO" } ]

A Entidade DATE_TIME

Há muitas maneiras pelas quais sua habilidade pode precisar obter entrada de data e hora. Por exemplo, você pode precisar de uma data ou hora simples, uma data e uma hora ou um período único ou recorrente. Você pode usar a entidade DATE_TIME para coletar informações para todos esses cenários.

Com a entidade DATE_TIME, você escolhe um subtipo específico para definir quais informações coletar. A tabela a seguir mostra qual subtipo usar para cada cenário possível e vincula a informações sobre os atributos de cada subtipo.

Cenário DATE_TIME Subtipo Referência
Uma data. Data. Atributos de Subtipo DATE
Uma hora. Tempo Atributos de Subtipo TIME
Uma data e uma hora. Data/Hora Atributos de Subtipo DATETIME
Um período de tempo. Por exemplo, 1 hora ou 4 dias. Duração Atributos do Subtipo DURATION
Uma ocorrência única de um período definida por uma data inicial e final ou uma data e hora inicial e final. Intervalo Atributos do Subtipo INTERVAL
Um período recorrente regular definido por, por exemplo, o início e o fim do primeiro período, o intervalo entre os períodos recorrentes e quando os períodos param de recorrência. Repetitivo Atributos do Subtipo RECURRING
Observação

a entidade DATE_TIME substitui as entidades do sistema DATE, TIME, DURATION e SET, que foram descontinuadas e não estão disponíveis nas habilidades criadas na Release 22.08 e posterior. As habilidades existentes atualizadas para a versão 22.08 oferecerão suporte a essas entidades obsoletas do sistema, embora possa haver algumas alterações de comportamento.
Você pode usar os subtipos Data, Hora e Duração como entidades independentes no fluxo de caixas de diálogo (em que declara variáveis separadas para cada uma), mas só pode utilizar os subtipos Intervalo e Recorrente incorporando-os em uma entidade de bolsa composta.
Observação

Recomendamos que todos os subtipos DATE_TIME sejam gerenciados em uma entidade composta.

No modo de caixa de diálogo visual, faça referência aos subtipos DATE_TIME usando os estados Resolver Entidade e Resolver Entidade Declarativa.

Observação

Se você usar os subtipos Data, Hora e Duração como entidades independentes em um fluxo de caixas de diálogo baseado em YAML, especifique o subtipo usando a notação de pontos: DATE_TIME.DATE, DATE_TIME.TIME, DATE_TIME.DURATION e para SET, DATE_TIME.RECURRING. Por exemplo :
context:
  variables:
    iResult: "nlpresult"
    Startdate: "DATE_TIME.DATE"
    duration: "DATE_TIME.DURATION" 
No nó states, você faz referência a essas variáveis usando um componente System.ResolveEntities.
Os valores DATE_TIME são representados como ISO 8601. Para uma saída amigável, use o Apache FreeMarker .xs built-in. Por exemplo, o subtipo Tempo é extraído usando .value.value?time.xs?string['hh:mm a'] na seguinte referência do pacote de recursos:
${rb('pizzaDeliveryMessage','time',deliveryTime.value.value?time.xs?string['hh:mm a'])}
O primeiro value obtém o conteúdo da variável como um objeto. O segundo value é um atributo do objeto DATE_TIME que contém o valor de tempo.

Atributos para Cada Subtipo DATE_TIME

Veja a seguir os atributos de cada subtipo DATE_TIME.

Observe que, assim como todas as outras entidades do sistema, os subtipos também incluem as propriedades beginOffset, endOffset e originalString.

Atributos de Subtipo DATE

O subtipo DATE contém estes atributos sobre uma data específica:

Atributo Tipo Explicação
entityName String DATE_TIME
month Inteiro

Quando DATE é um atributo do subtipo RECURRING, e a string original inclui o nome de um mês, como "toda segunda-feira de julho", isso representa a representação numérica ("7" neste exemplo) do valor de mês especificado explicitamente.

movableDateValue String

Quando DATE é um atributo de RECURRING e a data com slot não representa uma data específica (ou seja, é uma data móvel, como 4 de julho), isso representa o valor de data móvel explicitamente especificado que é usado pelo atributo DATE do subtipo RECURRING para diferenciar entre a data móvel resolvida e a data não móvel resolvida. Por exemplo, se a data com slot for 4 de julho, esse valor será --07-04.

ordinal Inteiro

Quando DATE é um atributo do subtipo RECURRING, e a string original especifica um valor ordinal, como primeiro em "cada primeira segunda-feira", isso representa o valor numérico do ordinal (neste exemplo, "1").

ordinalReference Enum

Quando DATE é um atributo do subtipo RECURRING, e a string original inclui um ordinal qualificado pelo nome de um mês, como July em "toda primeira segunda-feira de julho", isso representa o qualificador especificado explicitamente ('M' para mês).

subType String DATE
timezone String O deslocamento do fuso horário. Por exemplo: +07:00.
type String DATE_TIME
value String O valor resolvido no formato ISO 8601. Por exemplo 2022-08-05.
weekday Enum

Quando DATE é um atributo do subtipo RECURRING, e a string original inclui o nome de um dia, como "toda segunda-feira", isso representa o valor do dia da semana especificado explicitamente usando o formato iCalendar, como MO, TU e WE.

year Inteiro

Quando DATE é um atributo do subtipo RECURRING, e a string original inclui o ano, como "toda segunda-feira de 2023", isso representa o valor do ano especificado explicitamente.

Veja um exemplo da resposta NLU para o subtipo DATE:

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

Atributos de Subtipo TIME

O subtipo TIME contém estes atributos sobre um horário específico:

Atributo Tipo Explicação
entityName String DATE_TIME
subType String TIME
timezone String O deslocamento do fuso horário. Por exemplo: +07:00.
type String DATE_TIME
value String O valor resolvido no formato ISO 8601. Por exemplo 12:00:00.

Veja um exemplo da resposta NLU para a entidade TIME:

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

Atributos de Subtipo DATETIME

O subtipo DATETIME contém estes atributos sobre uma data e hora específicas:

Atributo Tipo Explicação
date DATE Este objeto contém os atributos descritos em Atributos de Subtipo de Data.
entityName String DATE_TIME
subType String DATETIME
time TIME Este objeto contém os atributos descritos em Atributos de Subtipo TEMPO.

Veja um exemplo da resposta NLU para o subtipo 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
            }
          }

Atributos do Subtipo DURATION

O subtipo DURATION contém estes atributos de aproximadamente um dia ou uma duração de tempo, como 1 semana:

Atributo Tipo Explicação
entityName String DATE_TIME
subType String DURATION
timezone String O deslocamento do fuso horário. Por exemplo: +07:00.
type String DATE_TIME
value String Duração no formato ISO 8601. Exemplos: PT1H por 1 hora, P4D por 4 dias, P1W por 1 semana, P2M por 2 meses.

Veja um exemplo da resposta NLU para o subtipo DURATION:

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

Atributos do Subtipo INTERVAL

O subtipo INTERVAL contém esses atributos sobre um período que é definido por uma data e hora inicial e final ou é definido por uma data, hora inicial e duração, como 2 horas.

Atributo Tipo Explicação
duration ENTIDADE Este objeto contém os atributos descritos em Atributos de Subtipo DURATION.
endDate DATE Este objeto contém os atributos descritos em Atributos de Subtipo de Data.

Incluído nos tipos de prompt Data e hora e Somente data.

endTime TIME Este objeto contém os atributos descritos em Atributos de Subtipo TEMPO.

Incluído para os tipos de prompt Somente data e hora.

entityName String DATE_TIME
startDate DATE Este objeto contém os atributos descritos em Atributos de Subtipo de Data.

Incluído nos tipos de prompt Data e hora e Somente data.

startTime TIME Este objeto contém os atributos descritos em Atributos de Subtipo TEMPO.

Incluído para os tipos de prompt Somente data e hora.

subType String INTERVAL

Veja a seguir um exemplo da resposta NLU para a entidade INTERVAL com o tipo de prompt Data e Hora:

          "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
            }
          }

Atributos do Subtipo RECURRING

O subtipo RECURRING contém estes atributos sobre um período regularmente recorrente:

Atributo Tipo Explicação
entityName String DATE_TIME
recurrenceDates Array de DATA Incluído quando várias datas recorrentes são fornecidas. Esse objeto contém um array de objetos DATE com os atributos descritos em DATE Subtype Attributes.
recurrenceFrequency DURATION Este objeto contém os atributos descritos em Atributos de Subtipo DURATION.
recurrenceTimes Matriz de TEMPO Incluído quando vários horários recorrentes são fornecidos. Este objeto contém uma matriz de objetos TIME com os atributos descritos em Atributos de Subtipo TI.
recurrenceUntil INTERVALO Especifica os limites da repetição. Normalmente, apenas a data final é especificada. Este objeto contém os atributos descritos em Atributos de Subtipo INTERVAL.
startDate DATE Este objeto contém os atributos descritos em Atributos de Subtipo de Data.

Observe que, para entidades RECURRING, o objeto DATE pode incluir os atributos month. movevableDateValue, ordinal, ordinalReference, weekday e year.

Incluído no tipo de prompt Somente data.

startDateTime DATA E HORA Este objeto contém os atributos descritos em Atributos de Subtipo DATETIME.

Observe que, para entidades RECURRING, o subobjeto DATE do DATETIME pode incluir os atributos month. movevableDateValue, ordinal, ordinalReference, weekday e year.

Incluído para o tipo de prompt Data e hora.

startInterval INTERVALO Este objeto contém os atributos descritos em Atributos de Subtipo INTERVAL.
startTime TIME Este objeto contém os atributos descritos em Atributos de Subtipo TEMPO.

Incluído no tipo de prompt Somente hora.

subType String RECURRING

Veja um exemplo da resposta NLU para o subtipo RECURRING com o tipo de prompt Data e hora:

          "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"
            }
          }

Regras de Resolução de Ambiguidade para Correspondências de Data e Hora

Os usuários podem inserir datas parciais em que as horas estão implícitas. Por exemplo :
  • "Agendar uma reunião para segunda-feira"
  • "Criar um relatório de despesas para 11/7"
  • "Crie um relatório de despesas para o dia 11"
Algumas situações, como agendar uma reunião, implicam um tempo futuro. Outros, como criar um relatório de despesas, referem-se a algum tempo no passado. Para garantir que os subtipos de Data e Hora da entidade DATE_TIME possam resolver uma entrada ambígua como a aproximação passada, presente ou mais próxima, você pode aplicar Regras de Resolução de Ambiguidade. Para definir o contexto temporal para a resolução de tempo, por exemplo, clique na entidade DATE_TIME e aplique uma regra.
Observação

As regras de resolução de ambiguidade não validam a entrada do usuário. Você pode validar a entrada do usuário com um validador personalizado que usa o Apache FreeMarker (o que não é recomendado) ou em um Manipulador de Eventos de Entidade (o que é recomendado). Este validador retornará false (falha na validação) se uma data passada for fornecida para um caso de uso prospectivo (por exemplo, um programador de reunião). Para um caso de uso voltado para trás, como relatório de despesas, o validador retornará false se o usuário inserir uma data futura.


Observação

Se você estiver fazendo referência à mesma entidade com dois ou mais itens dentro da mesma entidade composta, ou se duas ou mais sacolas compostas fizerem referência à mesma entidade e também estiverem associado à mesma intenção, faça upgrade para a Versão 21.12 para garantir que as regras de resolução de ambiguidade específicas de cada referência de entidade sejam tratadas separadamente e não substituídas pelas regras definidas para uma entidade resolvida anteriormente.

Regras de Resolução para Correspondências ao Subtipo de Data

A data é resolvida para a data UTC, não para a data do servidor nem para a data do navegador. Por exemplo, "hoje" pronunciado às 8 horas do dia 8 de julho a partir do Fuso Horário do Havaí-Aleutiano (UTC-10:00) é resolvido como 9 de julho.
Regra Como funciona Exemplos
Passadas Resolve a entrada ambígua como o dia da semana mais próximo no passado.
  • Se a declaração incluir "Segunda-feira" e o dia atual também for Segunda-feira, "Segunda-feira" será resolvido como hoje.
  • Se a declaração incluir "Segunda-feira" e o dia atual for quarta-feira, a "Segunda-feira" será resolvida como a segunda-feira anterior.
Futuro Resolve a entrada ambígua como o dia mais próximo no futuro
  • Se a declaração incluir "Segunda-feira" e o dia atual também for Segunda-feira, "Segunda-feira" será resolvido como hoje.
  • Se a declaração incluir "Segunda-feira" e o dia atual for Terça-feira, "Segunda-feira" será resolvido como a segunda-feira seguinte.
  • Se a declaração incluir "Terça-feira" e o dia atual for Segunda-feira, "Terça-feira" será resolvido como esta Terça-feira.
Mais próximo Resolve a entrada ambígua como o dia mais próximo.
  • Se a declaração incluir "Segunda-feira" e o dia atual também for Segunda-feira, a "Segunda-feira" será resolvida como hoje. Se a declaração incluir "Segunda-feira" e o dia atual for Terça-feira, "Segunda-feira" será resolvido como ontem.
  • Se a declaração incluir "Segunda-feira" e o dia atual for domingo, a "Segunda-feira" será resolvida como amanhã.
Padrão Resolve a entrada ambígua como uma data futura. Por exemplo, se a entrada incluir Quarta-feira, o dia será interpretado como próxima quarta-feira, não como a quarta-feira anterior ou o dia atual (se for uma quarta-feira, ou seja).

Regras de Resolução para Correspondências ao Subtipo de Tempo

Regra Como funciona Exemplos
Passadas Resolve a entrada para a hora mais próxima no passado em relação à hora atual no fuso horário UTC.
  • Se a declaração incluir "9 am" e a hora atual for 10:00 am, a hora será resolvida como 9:00 am today.
  • Se a declaração incluir "9 pm" e a hora atual for 10:00, a hora será resolvida como 9:00 pm ontem.
  • Se a declaração incluir "9" e a hora atual for 10:00, a hora será resolvida como 9:00 hoje.
Futuro Resolve a entrada para o horário mais próximo no futuro em relação ao horário atual no fuso horário UTC.
  • Se a declaração incluir "9 am" e a hora atual agora for 10:00 am, a hora será resolvida como 9:00 am tomorrow.
  • Se a declaração incluir "9 pm" e a hora atual for 10:00, a hora será resolvida como 9 pm hoje.
  • Se a declaração incluir "9" e o horário atual for 10:00, o horário será resolvido como 9:00 pm hoje.
Mais próximo Resolve a entrada como a hora mais próxima em relação à hora atual no fuso horário UTC.
  • Se a declaração incluir "9 am" e a hora atual for 10:00 am, a hora será resolvida como hoje 9:00 am.
  • Se a declaração incluir "9 pm" e o horário atual for 10:00, o horário será resolvido como 9:00 pm hoje.
  • Se a declaração incluir "9" e a hora atual for 10:00, a hora será resolvida como 9:00 hoje.
  • Se a declaração incluir "10:00" e a hora atual for 1:00 da manhã, a hora será resolvida como 10:00 da tarde.
Padrão Resolve a entrada pelo método usado nas versões anteriores à versão 21.06 do Oracle Digital Assistant.
  • Se a declaração incluir for "9 da manhã" e o horário atual for 10 da manhã, o horário será resolvido como 9 da manhã de hoje.
  • Se a declaração incluir "9 pm" e a hora atual for 10 am, a hora será resolvida como 9 pm hoje.
  • Se a declaração incluir "9" e o horário atual for 10 da manhã, o horário será resolvido como 9 da manhã de hoje.
  • Se a declaração incluir "1:00 am" e o horário atual for 2 pm, o horário será resolvido como 1 am tomorrow.

Resolução de entidade baseada em localidade

Você pode ativar as entidades MOEDA, DATA e NÚMERO para resolver a configuração regional do usuário ativando Considerar Configuração Regional do Usuário Final.

Dependendo da entidade, esta opção tem diferentes aplicativos:
  • DATE é resolvido para o formato específico da localidade: ele pode resolver 11/7 como 7 de novembro para en-US ou 11 de julho para en-AU, por exemplo. Para configurações regionais não suportadas, você pode aplicar um formato e um contexto temporal, como passado ou futuro.
  • NUMBER é resolvido para o formato numérico específico do país - a vírgula, o ponto ou o espaço usado para separar grupos de milhares e o ponto decimal com ou sem um espaço fino que separa a parte fracionária do número. Por exemplo, o Reino Unido e os EUA usam uma vírgula para separar grupos de milhares.
    Observação

    Quando a opção Considerar Localidade do Usuário Final é desativada, a entidade NUMBER é resolvida como COMMA_DOT (1.000,00).
  • A MOEDA usa localidade para resolver uma moeda específica de $ ou ¥. Quando nenhuma localidade for detectada, você poderá definir a entrada para ser resolvida como a moeda $ ou ¥ definida pela Regra de Resolução de Ambiguidade.
Observação

Se você estiver fazendo referência à mesma entidade com mais dois itens na mesma entidade composta ou se duas ou mais sacolas compostas fizerem referência à mesma entidade e também estiverem associadas com a mesma intenção, faça upgrade para a Versão 21.12 para garantir que a personalização da localidade específica de cada referência de entidade seja tratada separadamente e não substituída pela configuração da localidade de uma entidade resolvida anteriormente.

Resolução de data baseada em localidade

Quando a localidade do usuário não pode ser detectada, a data é resolvida como o formato de data padrão selecionado.
Para esta localidade... Esta entrada... ... Resolve como... Formato (Sequência Data-Mês)
Estados Unidos (en_US) 11/7 Novembro de 7 MONTH_DAY
Grã-Bretanha (en_GB) 11/7 Julho de 11 DAY_MONTH
Canadá - Inglês (en_CA) 11/7 Novembro de 7 MONTH_DAY
Canadá - Francês (fr_CA) 11/7 Novembro de 7 MONTH_DAY
Austrália (en_AU) 11/7 Julho de 11 DAY_MONTH
México (es_MX) 11/7 Julho de 11 DAY_MONTH
Cingapura (zh_SG) 11/7 Julho de 11 DAY_MONTH
Emirados Árabes Unidos (ar_AE) 11/7 Novembro de 7 MONTH_DAY
Árabe (ar_AR) 11/7 Novembro de 7 MONTH_DAY
França (fr_FR) 11/7 Julho de 11 DAY_MONTH
Países Baixos (nl_NL) 11/7 Julho de 11 DAY_MONTH
Alemanha (de_DE) 11/7 Julho de 11 DAY_MONTH
Itália (it_IT) 11/7 Julho de 11 DAY_MONTH
Portugal (pt_PT) 11/7 Julho de 11 DAY_MONTH
Espanha (en_ES) 11/7 Julho de 11 DAY_MONTH
China (zh_CN) 11/7 Novembro de 7 MONTH_DAY
Japão (ja_JP) 11/7 Novembro de 7 MONTH_DAY

Resolução de moeda baseada em localidade

Para esta localidade... Esta entrada... ... Resolve como (Dólar ambiguidade) Esta entrada... ... Resolve como (Yen Ambiguity)
Estados Unidos (en_US) 20 dólares 20.0 USD 20 ienes 20.0 JPY
Grã-Bretanha (en_GB) 20 dólares 20.0 USD 20 ienes 20.0 JPY
Canadá - Inglês (en_CA) 20 dólares 20.0 CÁD 20 ienes 20.0 JPY
Canadá - Francês (fr_CA) 20 dólares 20.0 CÁD 20 ienes 20.0 JPY
Austrália (en_AU) 20 dólares 20.0 AUD 20 ienes 20.0 JPY
México (es_MX) 20 dólares 20,0 MXN 20 ienes 20,0 DIAS
Cingapura (zh_SG) 20 dólares 20,0 SGD 20 ienes 20.0 JPY
Emirados Árabes Unidos (ar_AE) 20 dólares 20.0 USD 20 ienes 20.0 JPY
Árabe (ar_AR) 20 dólares 20.0 USD 20 ienes 20.0 JPY
França (fr_FR) 20 dólares 20.0 USD 20 ienes 20.0 JPY
Países Baixos (nl_NL) 20 dólares 20.0 USD 20 ienes 20.0 JPY
Alemanha (de_DE) 20 dólares 20.0 USD 20 ienes 20.0 JPY
Itália (it_IT) 20 dólares 20.0 USD 20 ienes 20.0 JPY
Portugal (pt_PT) 20 dólares 20.0 USD 20 ienes 20.0 JPY
Espanha (en_ES) 20 dólares 20.0 USD 20 ienes 20.0 JPY
China (zh_CN) 20 dólares 20.0 USD 20 ienes 20,0 DIAS
Japão (ja_JP) 20 dólares 20.0 USD 20 ienes 20.0 JPY

Resolução de Número Baseada em Localidade

Quando a opção Considerar Localidade do Usuário Final é desativada, o formato de número assume COMMA_DOT como padrão (1.000,00).
Quando a configuração regional está ativada para... ... O formato reconhecido é... Exemplo
Estados Unidos (en_US) COMMA_DOT 1,000,000
Grã-Bretanha (en_GB) COMMA_DOT 1,000,000
Canadá - Inglês (en_CA) COMMA_DOT 1,000,000
Canadá - Francês (fr_CA) DOT_COMMA 1
Austrália (en_AU) COMMA_DOT 1,000,000
México (es_MX) COMMA_DOT 1,000,000
Cingapura (zh_SG) COMMA_DOT 1,000,000
Emirados Árabes Unidos (ar_AE) DOT_COMMA 1
Árabe (ar_AR) DOT_COMMA 1
França (fr_FR) SPACE_COMMA 1 0 0
Países Baixos (nl_NL) DOT_COMMA 1
Alemanha (de_DE) DOT_COMMA 1
Itália (it_IT) DOT_COMMA 1
Portugal (pt_PT) COMMA_DOT 1,000,000
Espanha (en_ES) DOT_COMMA 1
China (zh_CN) COMMA_DOT 1,000,000
Japão (ja_JP) COMMA_DOT 1,000,000