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, timeeller 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 5thtillhandahåller LUIS daterange-värden för både det aktuella året och nästa år. I fältet timexXXXX 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 till datetimeV2.timex.

Följande yttrande och dess partiella JSON-svar visas nedan.

from 6pm to 7pm

Följande JSON är med parametern inställd på verbosefalse:


"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:

  1. Öppna fönstret Entiteter i LUIS-webbgränssnittet.
  2. Ta bort den fördefinierade datetime-entiteten .
  3. Välj Lägg till fördefinierad entitet
  4. Välj datetimeV2 och klicka på Spara.

Nästa steg

Lär dig mer om dimension, e-postentiteter och nummer.