Entità predefinita DatetimeV2 per un'app LUIS
Importante
LUIS verrà ritirato il 1 ottobre 2025 e a partire dal 1 aprile 2023 non è più possibile creare nuove risorse LUIS. Si consiglia di eseguire la migrazione delle applicazioni LUIS a comprensione del linguaggio di conversazione per sfruttare appieno un supporto costante per i prodotti e le 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 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 before esempio , after . |
type | Sottotipo, che può essere uno degli elementi seguenti: datetime , date , time , daterange timerange , 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 proprietà
datetimeV2.value
è stata rinominata indatetimeV2.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:
- Aprire il riquadro Entità dell'interfaccia web LUIS.
- Eliminare l'entità datetime predefinita.
- Selezionare Aggiungi entità predefinita
- Selezionare datetimeV2 e fare clic su Salva.
Passaggi successivi
Informazioni sulle entità dimensioni, posta elettronica e numero.