DatetimeV2 fördefinierad entitet för en LUIS-app
Viktigt!
LUIS dras tillbaka den 1 oktober 2025 och från och med den 1 april 2023 kommer du inte att kunna skapa nya LUIS-resurser. Vi rekommenderar att du migrerar dina LUIS-program till förståelse för konversationsspråk för att dra nytta av fortsatt produktsupport och flerspråkiga funktioner.
Den fördefinierade datetimeV2-entiteten extraherar datum- och tidsvärden. Dessa värden matchas i ett standardiserat format som klientprogram kan använda. När ett yttrande har ett datum eller en tid som inte är slutförd innehåller LUIS både tidigare och framtida värden i slutpunktssvaret. Eftersom den här entiteten redan har tränats behöver du inte lägga till exempelyttranden som innehåller datetimeV2 i programavsikterna.
Typer av datetimeV2
DatetimeV2 hanteras från GitHub-lagringsplatsen Recognizers-text .
Exempel på JSON
Följande yttrande och dess partiella JSON-svar visas nedan.
8am on may 2nd 2019
"entities": {
"datetimeV2": [
{
"type": "datetime",
"values": [
{
"timex": "2019-05-02T08",
"resolution": [
{
"value": "2019-05-02 08:00:00"
}
]
}
]
}
]
}
Undertyper av datetimeV2
Den fördefinierade datetimeV2-entiteten har följande undertyper, och exempel på var och en finns i tabellen som följer:
date
time
daterange
timerange
datetimerange
Värden för upplösning
- Matrisen har ett element om datum eller tid i yttrandet är helt angivet och otvetydigt.
- Matrisen har två element om datetimeV2-värdet är tvetydigt. Tvetydighet omfattar brist på specifikt år, tid eller tidsintervall. Se Tvetydiga datum för exempel. När tiden är tvetydig för A.M. eller P.M., inkluderas båda värdena.
- Matrisen har fyra element om yttrandet har två element med tvetydighet. Den här tvetydigheten innehåller element som har:
- Ett datum- eller datumintervall som är tvetydigt från år till år
- Ett tids- eller tidsintervall som är tvetydigt vad gäller A.M. eller P.M. Till exempel 3:00 3 april.
Varje element i matrisen values
kan ha följande fält:
Egenskapsnamn | Egenskapsbeskrivning |
---|---|
Timex | tid, datum eller datumintervall uttryckt i TIMEX-format som följer ISO 8601-standarden och TIMEX3-attributen för anteckningar med hjälp av TimeML-språket. |
mod | term som används för att beskriva hur du använder värdet, till exempel before , after . |
type | Undertypen, som kan vara något av följande objekt: datetime , date , time , , daterange , timerange , datetimerange , duration , . set |
värde | Valfritt. Ett datetime-objekt i format åå-MM-dd (datum), HH:mm:ss (tid) åå-MM-dd HH:mm:ss (datetime). Om type är duration är värdet antalet sekunder (varaktighet) Används endast om type är datetime , date , time eller varaktighet. |
Giltiga datumvärden
DatetimeV2 stöder datum mellan följande intervall:
Min | Max |
---|---|
Den 1 januari 1900 | Den 31 december 2099 |
Tvetydiga datum
Om datumet kan vara i det förflutna eller i framtiden tillhandahåller LUIS båda värdena. Ett exempel är ett yttrande som innehåller månaden och datumet utan året.
Till exempel med följande yttrande:
May 2nd
- Om dagens datum är den 3 maj 2017 tillhandahåller LUIS både "2017-05-02" och "2018-05-02" som värden.
- När dagens datum är den 1 maj 2017 tillhandahåller LUIS både "2016-05-02" och "2017-05-02" som värden.
I följande exempel visas lösningen för entiteten "2 maj". Den här resolutionen förutsätter att dagens datum är ett datum mellan 2 maj 2017 och 1 maj 2018.
Fält med X
i timex
fältet är delar av datumet som inte uttryckligen anges i yttrandet.
Exempel på datummatchning
Följande yttrande och dess partiella JSON-svar visas nedan.
May 2nd
"entities": {
"datetimeV2": [
{
"type": "date",
"values": [
{
"timex": "XXXX-05-02",
"resolution": [
{
"value": "2019-05-02"
},
{
"value": "2020-05-02"
}
]
}
]
}
]
}
Exempel på datumintervallmatchning för numeriskt datum
Entiteten datetimeV2
extraherar datum- och tidsintervall. Fälten start
och end
anger början och slutet av intervallet. För yttrandet May 2nd to May 5th
tillhandahåller LUIS daterange-värden för både det aktuella året och nästa år. I fältet timex
XXXX
anger värdena årets tvetydighet. P3D
anger att tidsperioden är tre dagar lång.
Följande yttrande och dess partiella JSON-svar visas nedan.
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"
}
]
}
]
}
]
}
Exempel på datumintervallmatchning för veckodag
I följande exempel visas hur LUIS använder datetimeV2 för att lösa yttrandet Tuesday to Thursday
. I det här exemplet är det aktuella datumet den 19 juni. LUIS innehåller daterange-värden för båda datumintervallen som föregår och följer det aktuella datumet.
Följande yttrande och dess partiella JSON-svar visas nedan.
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"
}
]
}
]
}
]
}
Tvetydig tid
Värdematrisen har två tidselement om tidsintervallet eller tidsintervallet är tvetydigt. När det finns en tvetydig tid har värden både A.M. och P.M. gånger.
Exempel på tidsintervallmatchning
DatetimeV2 JSON-svaret har ändrats i API V3. I följande exempel visas hur LUIS använder datetimeV2 för att lösa det yttrande som har ett tidsintervall.
Ändringar från API V2:
datetimeV2.timex.type
egenskapen returneras inte längre eftersom den returneras på den överordnade nivån,datetimev2.type
.- Egenskapen
datetimeV2.value
har bytt namn tilldatetimeV2.timex
.
Följande yttrande och dess partiella JSON-svar visas nedan.
from 6pm to 7pm
Följande JSON är med parametern inställd på verbose
false
:
"entities": {
"datetimeV2": [
{
"type": "timerange",
"values": [
{
"timex": "(T18,T19,PT1H)",
"resolution": [
{
"start": "18:00:00",
"end": "19:00:00"
}
]
}
]
}
]
}
Exempel på tidsmatchning
Följande yttrande och dess partiella JSON-svar visas nedan.
8am
"entities": {
"datetimeV2": [
{
"type": "time",
"values": [
{
"timex": "T08",
"resolution": [
{
"value": "08:00:00"
}
]
}
]
}
]
}
Inaktuell fördefinierad datetime
Den datetime
fördefinierade entiteten är inaktuell och ersätts av datetimeV2.
Utför följande steg för att ersätta datetime
med datetimeV2
i LUIS-appen:
- Öppna fönstret Entiteter i LUIS-webbgränssnittet.
- Ta bort den fördefinierade datetime-entiteten .
- Välj Lägg till fördefinierad entitet
- Välj datetimeV2 och klicka på Spara.
Nästa steg
Lär dig mer om dimension, e-postentiteter och nummer.