Entità predefinita DatetimeV2 per un'app LUIS

Importante

LUIS verrà ritirato il 1° ottobre 2025 e a partire dal 1° aprile 2023 non sarà possibile creare nuove risorse LUIS. È consigliabile eseguire la migrazione delle applicazioni LUIS alla comprensione del linguaggio conversazionale per trarre vantaggio dal supporto continuo del prodotto e dalle funzionalità multilingue.

L'entità predefinita datetimeV2 estrae i valori di data e ora. Questi valori vengono risolti in un formato standardizzato per l'uso da parte dei programmi client. Quando un'espressione ha una data o un'ora non complete, LUIS include i valori passati e futuri nella risposta dell'endpoint. Poiché è già stato eseguito il training per questa entità, non è necessario aggiungere espressioni di esempio contenenti datetimeV2 per le finalità dell'applicazione.

Tipi di datetimeV2

DatetimeV2 viene gestito dal repository GitHub Recognizers-text .

JSON di esempio

Di seguito è illustrata l'espressione seguente e la relativa risposta JSON parziale.

8am on may 2nd 2019

"entities": {
    "datetimeV2": [
        {
            "type": "datetime",
            "values": [
                {
                    "timex": "2019-05-02T08",
                    "resolution": [
                        {
                            "value": "2019-05-02 08:00:00"
                        }
                    ]
                }
            ]
        }
    ]
}

Sottotipi di datetimeV2

L'entità predefinita datetimeV2 include i sottotipi seguenti. Nella tabella di seguito vengono forniti esempi di ciascun sottotipo:

  • date
  • time
  • daterange
  • timerange
  • datetimerange

Valori di risoluzione

  • La matrice contiene un elemento se la data o l'ora dell'espressione sono specificate completamente e prive di ambiguità.
  • La matrice contiene due elementi se il valore datetimeV2 è ambiguo. Per ambiguità si intendono anche un anno, un'ora o un intervallo di tempo specifici mancanti. Vedere Date ambigue per alcuni esempi. Quando l'ora è ambigua per A.M. o P.M., vengono inclusi entrambi i valori.
  • La matrice contiene quattro elementi, se l'espressione ha due elementi che presentano ambiguità. Questa ambiguità include elementi con:
    • Una data o un intervallo di date ambigui per quanto riguarda l'anno
    • Intervallo di tempo o di tempo ambiguo a partire da A.M. o P.M. Ad esempio, 3:00 aprile 3.

Ogni elemento della matrice values può contenere i campi seguenti:

Nome della proprietà Descrizione della proprietà
timex Ora, data o intervallo di date espressi nel formato TIMEX che segue lo standard ISO 8601 e gli attributi TIMEX3 per l'annotazione con il linguaggio TimeML.
mod termine usato per descrivere come usare il valore, ad beforeesempio , after.
type Sottotipo, che può essere uno degli elementi seguenti: datetime, date, time, daterangetimerange, datetimerange, duration. set
value Facoltativo. Oggetto datetime nel formato aaaaa-MM-gg (data), HH:mm:ss (ora) a-MM-gg HH:mm:ss (datetime). Se type è duration, il valore è il numero di secondi (durata)
Usato solo se type è datetime oppure date, time o `duration.

Valori di daae validi

datetimeV2 supporta date comprese tra gli intervalli seguenti:

Min Max
1 gennaio 1900 31 dicembre 2099

Date ambigue

Se la data può essere nel passato o nel futuro, LUIS fornisce entrambi i valori. Un esempio è un'espressione che include il mese e la data senza l'anno.

Ad esempio, data l'espressione seguente:

May 2nd

  • Se la data corrente è il 3 maggio 2017, LUIS indica sia "2017-05-02" sia "2018-05-02" come valori.
  • Se la data corrente è il 1° maggio 2017, LUIS indica sia "2016-05-02" sia "2017-05-02" come valori.

L'esempio seguente illustra la risoluzione dell'entità "may 2nd". Questa risoluzione presuppone che la data corrente sia compresa tra il 2 maggio 2017 e il 1° maggio 2018. I campi con X nel campo timex sono parti della data non specificati in modo esplicito nell'espressione.

Esempio di risoluzione della data

Di seguito è illustrata l'espressione seguente e la relativa risposta JSON parziale.

May 2nd

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

Esempi di risoluzione di un intervallo di date per data numerica

L'entità datetimeV2 estrae gli intervalli di data e tempo. I campi start e end specificano l'inizio e la fine dell'intervallo. Per l'espressione May 2nd to May 5th, LUIS fornisce valori daterange sia per l'anno corrente che per l'anno successivo. Nel campo timex, i valori XXXX indicano l'ambiguità dell'anno. P3D indica che il periodo di tempo è di tre giorni.

Di seguito è illustrata l'espressione seguente e la relativa risposta JSON parziale.

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

Esempi di risoluzione di un intervallo di date per giorno della settimana

L'esempio seguente illustra come LUIS usa datetimeV2 per risolvere l'espressione Tuesday to Thursday. In questo esempio la data corrente è il 19 giugno. LUIS include valori daterange per entrambi gli intervalli di date che precedono e seguono la data corrente.

Di seguito è illustrata l'espressione seguente e la relativa risposta JSON parziale.

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

Ora ambigua

La matrice di valori ha due elementi ora se l'ora o l'intervallo di tempo sono ambigui. Quando c'è un'ora ambigua, i valori hanno entrambe le ore A.M. e P.M.

Esempio di risoluzione di un intervallo di tempo

La risposta JSON DatetimeV2 è stata modificata nell'API V3. L'esempio seguente illustra come LUIS usa datetimeV2 per risolvere l'espressione con un intervallo di tempo.

Modifiche dall'API V2:

  • datetimeV2.timex.type la proprietà non viene più restituita perché viene restituita a livello padre, datetimev2.type.
  • La datetimeV2.value proprietà è stata rinominata in datetimeV2.timex.

Di seguito è illustrata l'espressione seguente e la relativa risposta JSON parziale.

from 6pm to 7pm

Il codice JSON seguente è con il verbose parametro impostato su false:


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

Esempio di risoluzione del tempo

Di seguito è illustrata l'espressione seguente e la relativa risposta JSON parziale.

8am

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

Entità datetime predefinita deprecata

L'entità datetime predefinita è deprecata e sostituita da datetimeV2.

Per sostituire datetime con datetimeV2 nell'app LUIS, completare i passaggi seguenti:

  1. Aprire il riquadro Entità dell'interfaccia web LUIS.
  2. Eliminare l'entità datetime predefinita.
  3. Selezionare Aggiungi entità predefinita
  4. Selezionare datetimeV2 e fare clic su Salva.

Passaggi successivi

Informazioni sulle entità dimensioni, posta elettronica e numero.