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 exatamente ao nome e às maiúsculas/minúsculas da entidade. 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. Nesta saída, as entidades correspondentes são exibidas junto com o valor que elas identificaram da 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 desse valor de entidade com slot começando em 0.
endOffset O deslocamento final desse valor de entidade com slot começando em 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 estão obsoletas na Release 22.08. Essas entidades não estão disponíveis para 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 suportar essas entidades do sistema legado, 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
ADDRESS 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 de $ e ienes 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 o uso da 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.

É possível substituir esse comportamento aplicando uma regra de resolução de ambiguidade. Enquanto a entidade DATE resolve o 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 ao 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: 10am
  • 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 10:00 da manhã às 1 da tarde, 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 descodificador 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 o uso da entidade DATE_TIME.

  • 4 anos

  • duas semanas

  • startDate

  • endDate

[ { "originalString": "2 hours", "bagItem": "Meeting:DateTime", "subType": "DURATION", "timeZone": "UTC", "entityName": "DATE_TIME", "value": "PT2H" } ] } ]
E-mail 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    
LOCATION 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 localidade (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 PERSON para sempre corresponder as 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" } ]
PHONE NUMBER 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)-555–5555

  • 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 o uso da entidade DATE_TIME.

Em alguns casos, por exemplo, quando a entrada é ambígua, você pode precisar da entidade TIME para resolver a entrada consistentemente como uma hora passada ou futura, ou aproximá-la pela hora mais próxima. 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 de 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 os links para informações sobre os atributos de cada subtipo.

Cenário DATE_TIME Subtipo Referência
Uma data. Data. Atributos de Subtipo DATE
Um tempo. Tempo Atributos do Subtipo TIME
Uma data e uma hora. Data/Horário Atributos do subtipo DATETIME
Um período de tempo. Por exemplo, 1 hora ou 4 dias. Duração Atributos do Subtipo DURATION
Uma única ocorrência de um período definido por uma data inicial e final ou uma data e hora inicial e final. Intervalo Atributos do Subtipo INTERVAL
Um período regularmente recorrente 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 ser recorrentes. Repetitivo RECURRANDO Atributos de Subtipo
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 em habilidades criadas na Versão 22.08 e posteriores. As habilidades existentes atualizadas para a versão 22.08 darão suporte a essas entidades do sistema obsoletas, 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 (onde você declara variáveis separadas para cada uma), mas só pode utilizar os subtipos Intervalo e Recorrente incorporando-os em uma entidade composta.
Observação

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

No modo de diálogo visual, referencie os 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 ponto: 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 integrado. Por exemplo, o subtipo Tempo é extraído usando .value.value?time.xs?string['hh:mm a'] na seguinte referência de 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

Estes são 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 do 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 especificado explicitamente 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 o primeiro em "toda primeira segunda-feira", isso representa o valor numérico do ordinal (neste exemplo, "1").

ordinalReference Enumeração

Quando DATE é um atributo do subtipo RECURRING, e a string original inclui um ordinal que é qualificado pelo nome de um mês, como julho 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 Enumeração

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 de 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 "todas as segundas-feiras de 2023", isso representa o valor do ano especificado explicitamente.

Veja um exemplo da resposta de 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 do Subtipo TIME

O subtipo TIME contém estes atributos sobre uma hora específica:

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 de 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 do 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 do Subtipo TIME.

Veja um exemplo da resposta de 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 sobre uma duração de dia ou hora, 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 em 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 de 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 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 ENTITY Este objeto contém os atributos descritos em Atributos do 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 do Subtipo TIME.

Incluído para 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 do Subtipo TIME.

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

subType String INTERVAL

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

RECURRANDO Atributos de Subtipo

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

Atributo Tipo Explicação
entityName String DATE_TIME
recurrenceDates matriz de DATE Incluído quando várias datas recorrentes são fornecidas. Esse objeto contém uma matriz de objetos DATE com os atributos descritos em Atributos de SubtipoDATE.
recurrenceFrequency DURATION Este objeto contém os atributos descritos em Atributos do Subtipo DURATION.
recurrenceTimes Matriz de HORAS Incluído quando vários horários recorrentes são fornecidos. Esse objeto contém um array de objetos TIME com os atributos descritos em Atributos de Subtipo TIME.
recurrenceUntil INTERVAL Especifica os limites da repetição. Normalmente, apenas a data final é especificada. Este objeto contém os atributos descritos em Atributos do 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 para tipo de prompt Somente data.

startDateTime DATETIME Este objeto contém os atributos descritos em Atributos do Subtipo DATETIME.

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

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

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

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 informar datas parciais nas quais as horas estão implícitas. Por exemplo :
  • "Agendar uma reunião para segunda-feira"
  • "Criar um relatório de despesas para 7/11"
  • "Criar 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 Hora e Data da entidade DATE_TIME possam resolver a entrada ambígua como passada, presente ou como a aproximação 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 (que não é recomendado) ou em um Manipulador de Eventos de Entidade (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 retroativo, 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 do mesmo repositório composto, ou se dois ou mais repositórios compostos fizerem referência à mesma entidade e também estiverem associado à mesma intenção, faça upgrade para a Release 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 a data do servidor nem a data do navegador. Por exemplo, "hoje" pronunciado às 8 horas do dia 8 de julho 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.
Futuros 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 segunda-feira seguinte.
  • Se a declaração incluir "Terça-feira" e o dia atual for segunda-feira, a "Terça-feira" será resolvida 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 anterior ou atual (se for quarta-feira, ou seja).

Regras de Resolução para Correspondências com o 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 da manhã" e a hora atual for 10:00 da manhã, a hora será resolvida como 9:00 da manhã de hoje.
  • Se a declaração incluir "9 pm" e a hora atual for 10:00 am, 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.
Futuros Resolve a entrada para a hora mais próxima no futuro em relação à hora atual no fuso horário UTC.
  • Se a declaração incluir "9 da manhã" e a hora atual agora for 10:00 da manhã, então a hora será resolvida como 9:00 da manhã de amanhã.
  • Se a declaração incluir "9 pm" e a hora atual for 10:00 am, a hora será resolvida como 9 pm hoje.
  • Se a declaração incluir "9" e a hora atual for 10:00, a hora será resolvida como 9:00 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 da manhã" e a hora atual for 10:00 da manhã, então a hora será resolvida como hoje 9:00 da manhã.
  • Se a declaração incluir "9 pm" e a hora atual for 10:00 am, a hora será resolvida 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 de ontem.
Padrão Resolve a entrada pelo método usado nas versões anteriores à 21.06 do Oracle Digital Assistant.
  • Se a declaração incluir "9h" e o horário atual for 10h, o horário será resolvido como 9h 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 10h, o horário será resolvido como 9h hoje.
  • Se a declaração incluir "1:00 am" e a hora atual for 2 pm, a hora será resolvida como 1 am amanhã.

Resolução de Entidade Baseada em Localidade

Você pode ativar as entidades CURRENCY, DATE e NUMBER para serem resolvidas para a configuração regional do usuário alternando a opção Considerar Configuração Regional do Usuário Final.

Dependendo da entidade, esta opção tem aplicativos diferentes:
  • DATE resulta no formato específico da localidade: 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 resolve 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 está desativada, a entidade NUMBER é resolvida como COMMA_DOT (1.000,00).
  • CURRENCY usa localidade para resolver para uma moeda específica $ ou ¥. Quando nenhuma localidade for detectada, você poderá definir a entrada para resolver 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 dentro da mesma entidade composta ou se duas ou mais entidades compostas fizerem referência à mesma entidade e também estiverem associadas com a mesma intenção, faça upgrade para a Release 21.12 para garantir que a personalização da localidade específica para cada referência de entidade seja tratada separadamente e não seja 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 (ambiguidade do dólar) Esta entrada... ... Resolve como (Yen Ambiguity)
Estados Unidos (en_US) 20 dólares 20.0 USD 20 ¥ 20,0 JPY
Grã-Bretanha (en_GB) 20 dólares 20.0 USD 20 ¥ 20,0 JPY
Canadá - Inglês (en_CA) 20 dólares 20.0 CÁD 20 ¥ 20,0 JPY
Canadá - Francês (fr_CA) 20 dólares 20.0 CÁD 20 ¥ 20,0 JPY
Austrália (en_AU) 20 dólares AUD 20.0 20 ¥ 20,0 JPY
México (es_MX) 20 dólares 20,0 MILHÕES 20 ¥ 20,0 CNY
Cingapura (zh_SG) 20 dólares 20,0 SGD 20 ¥ 20,0 JPY
Emirados Árabes Unidos (ar_AE) 20 dólares 20.0 USD 20 ¥ 20,0 JPY
Árabe (ar_AR) 20 dólares 20.0 USD 20 ¥ 20,0 JPY
França (fr_FR) 20 dólares 20.0 USD 20 ¥ 20,0 JPY
Países Baixos (nl_NL) 20 dólares 20.0 USD 20 ¥ 20,0 JPY
Alemanha (de_DE) 20 dólares 20.0 USD 20 ¥ 20,0 JPY
Itália (it_IT) 20 dólares 20.0 USD 20 ¥ 20,0 JPY
Portugal (pt_PT) 20 dólares 20.0 USD 20 ¥ 20,0 JPY
Espanha (en_ES) 20 dólares 20.0 USD 20 ¥ 20,0 JPY
China (zh_CN) 20 dólares 20.0 USD 20 ¥ 20,0 CNY
Japão (ja_JP) 20 dólares 20.0 USD 20 ¥ 20,0 JPY

Resolução de Número Baseada em Localidade

Quando a opção Considerar Localidade do Usuário Final estiver desativada, o formato de número assumirá COMMA_DOT como padrão (1.000,00).
Quando a localidade estiver 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