Entidad precompilada DatetimeV2 para una aplicación de LUIS

Importante

LUIS se retirará el 1 de octubre de 2025. Además, a partir del 1 de abril de 2023, ya no se podrán crear recursos de este servicio. Se recomienda migrar las aplicaciones de LUIS al reconocimiento del lenguaje conversacional para aprovechar el soporte continuo del producto y las capacidades multilingües.

La entidad precompilada datetimeV2 extrae los valores de fecha y hora. Estos valores se resuelven en un formato estandarizado para que los programas de cliente los consuman. Cuando una expresión tiene una fecha u hora que no está completa, LUIS incluye los valores pasados y futuros en la respuesta de punto de conexión. Dado que esta entidad ya está entrenada, no es necesario agregar expresiones de ejemplo que contengan la entidad datetimeV2 para las intenciones de la aplicación.

Tipos de datetimeV2

DatetimeV2 se administra desde el repositorio Recognizers-text de GitHub.

Ejemplo de JSON

A continuación se muestra la siguiente expresión y su respuesta JSON parcial.

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

La entidad precompilada datetimeV2 tiene los siguientes subtipos. Se proporcionan ejemplos de cada uno en la siguiente tabla:

  • date
  • time
  • daterange
  • timerange
  • datetimerange

Valores de resolución

  • La matriz tiene un elemento si la fecha u hora de la expresión se especifica completamente y no es ambigua.
  • Si el valor de datetimeV2 es ambiguo, la matriz tiene dos elementos. La ambigüedad existe cuando falta un año, una hora o un intervalo de tiempo concretos. Consulte la sección Fechas ambiguas para obtener ejemplos. Cuando la hora es ambigua en cuanto a a. m. o p. m., se incluyen ambos valores.
  • Si la expresión tiene dos elementos con ambigüedad, la matriz tiene cuatro elementos. Esta ambigüedad incluye elementos que tienen:
    • Una fecha o un intervalo de fechas que es ambiguo en cuanto al año
    • Un tiempo o intervalo de tiempo ambiguo en cuanto a a. m. o p. m. Por ejemplo, 3:00 del 3 de abril.

Cada elemento de la matriz values puede tener los siguientes campos:

Nombre de propiedad Descripción de la propiedad
timex Hora, fecha o intervalo de fechas que se expresa en formato TIMEX según el estándar ISO 8601 y los atributos de TIMEX3 para la anotación con el idioma de TimeML.
mod Término usado para describir cómo utilizar el valor, como before, after.
type El subtipo, que puede ser uno de los siguientes elementos: datetime, date, time, daterange, timerange, datetimerange, duration, set.
value Opcional. Objeto datetime con el formato aaaa-MM-dd (fecha), HH:mm:ss (hora) o aaaa-MM-dd HH:mm:ss (fecha y hora). Si type es duration, el valor es el número de segundos (duración)
Solo se utiliza si type es datetime o date, time o "duración".

Valores de fecha válidos

La entidad datetimeV2 admite fechas entre los siguientes intervalos:

Min Max
1 de enero de 1900 31 de diciembre de 2099

Fechas ambiguas

Si la fecha puede estar en el pasado o futuro, LUIS proporciona ambos valores. Este sería el caso de una expresión que incluyera el mes y la fecha sin el año.

Por ejemplo, dada la siguiente expresión:

May 2nd

  • Si hoy es 3 de mayo de 2017, LUIS proporciona "2017-05-02" y "2018-05-02" como valores.
  • Si hoy es 1 de mayo de 2017, LUIS proporciona "2016-05-02" y "2017-05-02" como valores.

En el siguiente ejemplo, se muestra la resolución de la entidad "may 2nd". En esta resolución, se da por supuesto que la fecha de hoy es una fecha comprendida entre el 2 de mayo de 2017 y el 1 de mayo de 2018. Los campos con X en el campo timex forman parte de la fecha i no se especifican explícitamente en la expresión.

Ejemplo de resolución de fecha

A continuación se muestra la siguiente expresión y su respuesta JSON parcial.

May 2nd

"entities": {
    "datetimeV2": [
        {
            "type": "date",
            "values": [
                {
                    "timex": "XXXX-05-02",
                    "resolution": [
                        {
                            "value": "2019-05-02"
                        },
                        {
                            "value": "2020-05-02"
                        }
                    ]
                }
            ]
        }
    ]
}

Ejemplos de resolución de intervalo de fechas para una fecha numérica

La entidad datetimeV2 extrae los intervalos de fecha y hora. Los campos start y end especifican el principio y al final del intervalo. Para la expresión May 2nd to May 5th, LUIS proporciona valores de daterange para el año actual y el próximo año. En el campo timex, los valores XXXX indican la ambigüedad del año. P3D indica que el período de tiempo es de tres días de duración.

A continuación se muestra la siguiente expresión y su respuesta JSON parcial.

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

Ejemplos de resolución de intervalo de fechas para un día de la semana

En el siguiente ejemplo, se muestra cómo LUIS usa la entidad datetimeV2 para resolver la expresión Tuesday to Thursday. En este ejemplo, se supone que la fecha actual es el 19 de junio. LUIS incluye valores daterange para los dos intervalos de fechas que preceden y siguen la fecha actual.

A continuación se muestra la siguiente expresión y su respuesta JSON parcial.

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

Hora ambigua

La matriz de valores tiene dos elementos de tiempo si la hora o el intervalo de tiempo son ambiguos. Cuando hay una hora ambigua, los valores tienen tanto las horas a. m. como p. m.

Ejemplo de resolución de intervalo de tiempo

La respuesta JSON DatetimeV2 ha cambiado en la API V3. En el siguiente ejemplo, se muestra cómo LUIS utiliza la entidad datetimeV2 para resolver la expresión que tiene el intervalo de tiempo.

Cambios de la API V2:

  • La propiedad datetimeV2.timex.type ya no se devuelve la propiedad porque se devuelve en el nivel primario, datetimev2.type.
  • La propiedad datetimeV2.value se llama ahora datetimeV2.timex.

A continuación se muestra la siguiente expresión y su respuesta JSON parcial.

from 6pm to 7pm

El siguiente JSON es con el parámetro verbose establecido en false:


"entities": {
    "datetimeV2": [
        {
            "type": "timerange",
            "values": [
                {
                    "timex": "(T18,T19,PT1H)",
                    "resolution": [
                        {
                            "start": "18:00:00",
                            "end": "19:00:00"
                        }
                    ]
                }
            ]
        }
    ]
}

Ejemplo de resolución de tiempo

A continuación se muestra la siguiente expresión y su respuesta JSON parcial.

8am

"entities": {
    "datetimeV2": [
        {
            "type": "time",
            "values": [
                {
                    "timex": "T08",
                    "resolution": [
                        {
                            "value": "08:00:00"
                        }
                    ]
                }
            ]
        }
    ]
}

Intervalo de tiempo precompilado en desuso

La entidad precompilada datetime está en desuso y se reemplaza por datetimeV2.

Para reemplazar datetime por datetimeV2 en la aplicación de LUIS, complete los pasos siguientes:

  1. Abra el panel Entities (Entidades) de la interfaz web de LUIS.
  2. Elimine la entidad precompilada datetime.
  3. Seleccione Agregar entidad creada previamente
  4. Seleccione datetimeV2 y haga clic en Save (Guardar).

Pasos siguientes

Obtenga información acerca de las entidades dimensión, correo electrónico y número.