Entidade pré-criada DatetimeV2 para um aplicativo LUIS
Importante
O LUIS será aposentado em 1º de outubro de 2025 e a partir de 1º de abril de 2023 você não poderá criar novos recursos do LUIS. Recomendamos migrar seus aplicativos LUIS para o entendimento de linguagem conversacional para se beneficiar do suporte contínuo ao produto e dos recursos multilíngues.
A entidade pré-criada datetimeV2 extrai valores de data e hora. Esses valores são resolvidos em um formato padronizado para os programas cliente consumirem. Quando um enunciado tem uma data ou hora que não está concluída, o LUIS inclui valores passados e futuros na resposta do ponto final. Como essa entidade já está treinada, não é necessário adicionar expressões de exemplo contendo datetimeV2 às intenções do aplicativo.
Tipos de datetimeV2
O DatetimeV2 é gerenciado a partir do repositório GitHub Recognizers-text .
Exemplo JSON
O enunciado a seguir e sua resposta JSON parcial são mostrados abaixo.
8am on may 2nd 2019
"entities": {
"datetimeV2": [
{
"type": "datetime",
"values": [
{
"timex": "2019-05-02T08",
"resolution": [
{
"value": "2019-05-02 08:00:00"
}
]
}
]
}
]
}
Subtipos de datetimeV2
A entidade pré-criada datetimeV2 tem os seguintes subtipos, e exemplos de cada um são fornecidos na tabela a seguir:
date
time
daterange
timerange
datetimerange
Valores da resolução
- A matriz tem um elemento se a data ou hora no enunciado for totalmente especificada e inequívoca.
- A matriz tem dois elementos se o valor datetimeV2 for ambíguo. A ambiguidade inclui a falta de ano, tempo ou intervalo de tempo específicos. Consulte Datas ambíguas para obter exemplos. Quando o tempo é ambíguo para A.M. ou P.M., ambos os valores são incluídos.
- A matriz tem quatro elementos se o enunciado tem dois elementos com ambiguidade. Esta ambiguidade inclui elementos que têm:
- Uma data ou intervalo de datas ambíguo quanto ao ano
- Um intervalo de tempo ou intervalo de tempo que é ambíguo quanto a A.M. ou P.M. Por exemplo, 3:00 3 de abril.
Cada elemento da values
matriz pode ter os seguintes campos:
Nome da propriedade | Descrição do imóvel |
---|---|
tempox | hora, data ou intervalo de datas expresso no formato TIMEX que segue o padrão ISO 8601 e os atributos TIMEX3 para anotação usando a linguagem TimeML. |
mod | termo usado para descrever como usar o valor, como before , after . |
tipo | O subtipo, que pode ser um dos seguintes itens: , , , , daterange , timerange datetimerange , , duration set . time date datetime |
valor | Opcional. Um objeto datetime no formato aaaa-MM-dd (data), HH:mm:ss (hora) aaaa-MM-dd HH:mm:ss (datetime). Se type for duration , o valor é o número de segundos (duração) Usado apenas se type for datetime ou date , time ou 'duração. |
Valores de data válidos
O datetimeV2 suporta datas entre os seguintes intervalos:
Mín. | Max |
---|---|
1 de janeiro de 1900 | 31 dezembro 2099 |
Datas ambíguas
Se a data pode ser no passado ou no futuro, o LUIS fornece ambos os valores. Um exemplo é um enunciado que inclui o mês e a data sem o ano.
Por exemplo, dado o seguinte enunciado:
May 2nd
- Se a data de hoje for 3 de maio de 2017, o LUIS fornece "2017-05-02" e "2018-05-02" como valores.
- Quando a data de hoje é 1 de maio de 2017, o LUIS fornece "2016-05-02" e "2017-05-02" como valores.
O exemplo a seguir mostra a resolução da entidade "2 de maio". Esta resolução assume que a data de hoje é uma data entre 2 de maio de 2017 e 1 de maio de 2018.
Os campos com X
no timex
campo são partes da data que não estão explicitamente especificadas no enunciado.
Exemplo de resolução de data
O enunciado a seguir e sua resposta JSON parcial são mostrados abaixo.
May 2nd
"entities": {
"datetimeV2": [
{
"type": "date",
"values": [
{
"timex": "XXXX-05-02",
"resolution": [
{
"value": "2019-05-02"
},
{
"value": "2020-05-02"
}
]
}
]
}
]
}
Exemplos de resolução de intervalo de datas para datas numéricas
A datetimeV2
entidade extrai intervalos de data e hora. Os start
campos e end
especificam o início e o fim do intervalo. Para o enunciado May 2nd to May 5th
, o LUIS fornece valores de intervalo de datas para o ano atual e para o ano seguinte. timex
No campo, os XXXX
valores indicam a ambiguidade do ano. P3D
indica que o período é de três dias.
O enunciado a seguir e sua resposta JSON parcial são mostrados abaixo.
May 2nd to May 5th
"entities": {
"datetimeV2": [
{
"type": "daterange",
"values": [
{
"timex": "(XXXX-05-02,XXXX-05-05,P3D)",
"resolution": [
{
"start": "2019-05-02",
"end": "2019-05-05"
},
{
"start": "2020-05-02",
"end": "2020-05-05"
}
]
}
]
}
]
}
Exemplos de resolução de intervalo de datas para o dia da semana
O exemplo a seguir mostra como o LUIS usa datetimeV2 para resolver o enunciado Tuesday to Thursday
. Neste exemplo, a data atual é 19 de junho. LUIS inclui valores de intervalo de datas para ambos os intervalos de datas que precedem e seguem a data atual.
O enunciado a seguir e sua resposta JSON parcial são mostrados abaixo.
Tuesday to Thursday
"entities": {
"datetimeV2": [
{
"type": "daterange",
"values": [
{
"timex": "(XXXX-WXX-2,XXXX-WXX-4,P2D)",
"resolution": [
{
"start": "2019-10-08",
"end": "2019-10-10"
},
{
"start": "2019-10-15",
"end": "2019-10-17"
}
]
}
]
}
]
}
Tempo ambíguo
A matriz de valores tem dois elementos de tempo se o tempo ou intervalo de tempo for ambíguo. Quando há um tempo ambíguo, os valores têm os tempos A.M. e P.M.
Exemplo de resolução de intervalo de tempo
A resposta JSON DatetimeV2 foi alterada na API V3. O exemplo a seguir mostra como o LUIS usa datetimeV2 para resolver o enunciado que tem um intervalo de tempo.
Alterações da API V2:
datetimeV2.timex.type
propriedade não é mais retornada porque é retornada no nível pai,datetimev2.type
.- A
datetimeV2.value
propriedade foi renomeada paradatetimeV2.timex
.
O enunciado a seguir e sua resposta JSON parcial são mostrados abaixo.
from 6pm to 7pm
O JSON a seguir está com o verbose
parâmetro definido como false
:
"entities": {
"datetimeV2": [
{
"type": "timerange",
"values": [
{
"timex": "(T18,T19,PT1H)",
"resolution": [
{
"start": "18:00:00",
"end": "19:00:00"
}
]
}
]
}
]
}
Exemplo de resolução de tempo
O enunciado a seguir e sua resposta JSON parcial são mostrados abaixo.
8am
"entities": {
"datetimeV2": [
{
"type": "time",
"values": [
{
"timex": "T08",
"resolution": [
{
"value": "08:00:00"
}
]
}
]
}
]
}
Data/hora pré-criada preterida
A datetime
entidade pré-criada foi preterida e substituída por datetimeV2.
Para substituir datetime
por datetimeV2
no seu aplicativo LUIS, conclua as seguintes etapas:
- Abra o painel Entidades da interface Web do LUIS.
- Exclua a entidade pré-criada datetime .
- Selecione Adicionar entidade pré-criada
- Selecione datetimeV2 e clique em Salvar.
Próximos passos
Saiba mais sobre a dimensão, as entidades de e-mail e o número.