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, timerangedatetimerange, , durationset. timedatedatetime
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, timeou '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 para datetimeV2.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:

  1. Abra o painel Entidades da interface Web do LUIS.
  2. Exclua a entidade pré-criada datetime .
  3. Selecione Adicionar entidade pré-criada
  4. Selecione datetimeV2 e clique em Salvar.

Próximos passos

Saiba mais sobre a dimensão, as entidades de e-mail e o número.