Teilen über


Vordefinierte DatetimeV2-Entität für eine LUIS-App

Wichtig

LUIS wird am 1. Oktober 2025 eingestellt, und ab dem 1. April 2023 können Sie keine neuen LUIS-Ressourcen erstellen. Es wird die Migration Ihrer LUIS-Anwendungen zu Conversational Language Understanding empfohlen, um fortgesetzte Produktunterstützung und mehrsprachige Funktionen zu erhalten.

Die vordefinierte Entität datetimeV2 extrahiert Datums- und Uhrzeitwerte. Diese Werte werden in ein standardisiertes Format aufgelöst, um in Clientprogrammen verwendet werden zu können. Wenn eine Äußerung ein unvollständiges Datum oder eine unvollständige Uhrzeit enthält, fügt LUIS vergangene und zukünftige Werte in die Endpunktantwort ein. Da diese Entität bereits trainiert wurde, müssen Sie den Anwendungsabsichten keine Beispieläußerungen mit datetimeV2 hinzufügen.

Typen von datetimeV2

DatetimeV2 wird über das GitHub-Repository Recognizers-text verwaltet.

JSON-Beispiel

Die folgende Äußerung und ihre unvollständige JSON-Antwort sind unten dargestellt.

8am on may 2nd 2019

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

Untertypen von datetimeV2

Die vordefinierte datetimeV2-Entität enthält folgende Untertypen. In der folgenden Tabelle werden Beispiele für diese bereitgestellt:

  • date
  • time
  • daterange
  • timerange
  • datetimerange

Werte von „resolution“

  • Das Array enthält ein Element, wenn das Datum oder die Uhrzeit in der Äußerung vollständig und eindeutig ist.
  • Das Array enthält zwei Elemente, wenn der datetimeV2-Wert mehrdeutig ist. Als Mehrdeutigkeit gilt z.B. das Fehlen der Jahresangabe, der Uhrzeit oder des Zeitraums. Beispiele finden Sie unter Mehrdeutige Datumsangaben. Wenn nicht eindeutig ist, ob die Zeitangabe für den Vormittag oder Nachmittag (a.m. bzw. p.m.) gilt, werden beide Werte eingefügt.
  • Das Array enthält vier Elemente, wenn die Äußerung zwei mehrdeutige Elemente enthält. Diese Mehrdeutigkeit umfasst Elemente, die Folgendes haben:
    • Ein Datum oder einen Datumsbereich, bei dem das Jahr nicht eindeutig ist
    • Eine Uhrzeit oder einen Zeitraum, bei dem nicht eindeutig ist, ob diese für den Vormittag oder den Nachmittag gilt. Beispiel: 3. April 3:00

Jedes Element des values-Arrays kann folgende Felder enthalten:

Eigenschaftenname Eigenschaftenbeschreibung
timex Uhrzeiten, Datumsangaben oder Datumsbereiche, die im TIMEX-Format angegeben sind, das dem ISO-Standard 8601 folgt, und die TIMEX3-Attribute für TimeML-Anmerkungen.
mod Ausdruck zur Beschreibung der Verwendung des Werts, z. B. before, after.
type Der Untertyp; kann eines der folgenden Elemente sein: datetime, date, time, daterange, timerange, datetimerange, duration, set.
value Optional. Ein datetime-Objekt im Format JJJJ-MM-TT (date), hh:mm:ss (time), JJJJ-MM-TT hh:mm:ss (datetime). Ist type dies der Wert, ist durationder Wert die Anzahl der Sekunden (Dauer)
Dies wird nur verwendet, wenn typedatetime, date, time oder duration ist.

Gültige Datumswerte

datetimeV2 unterstützt Datumsangaben in folgenden Bereichen:

Min Max
1\. Januar 1900 31. Dezember 2099

Mehrdeutige Datumsangaben

Wenn das Datum in der Vergangenheit oder Zukunft liegen kann, stellt LUIS beide Werte bereit. Ein Beispiel hierfür ist eine Äußerung, die den Monat und das Datum ohne das Jahr enthält.

Beispielsweise bei der folgenden Äußerung:

May 2nd

  • Wenn das heutige Datum der 3. Mai 2017 ist, stellt LUIS die Werte „2017-05-02“ and „2018-05-02“ bereit.
  • Wenn das heutige Datum der 1. Mai 2017 ist, stellt LUIS die Werte „2016-05-02“ and „2017-05-02“ bereit.

Im folgenden Beispiel wird die Auflösung der Entität „may 2nd“ veranschaulicht. Bei der Auflösung wird davon ausgegangen, dass das heutige Datum ein Datum zwischen dem 2. Mai 2017 und dem 1. Mai 2018 ist. Die X-Zeichen im timex-Feld stellen die Teile des Datums dar, die in der Äußerung nicht explizit angegeben wurden.

Beispiel zur Auflösung des Datums

Die folgende Äußerung und ihre unvollständige JSON-Antwort sind unten dargestellt.

May 2nd

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

Beispiel zur Auflösung des Datumsbereichs für ein numerisches Datum

Die datetimeV2-Entität extrahiert Datumsbereiche und Zeiträume. Die Felder start und end geben den Anfang und das Ende des Bereichs an. Für die Äußerung May 2nd to May 5th stellt LUIS daterange-Werte für das aktuelle und das nächste Jahr bereit. Der XXXX-Wert im timex-Feld gibt die Mehrdeutigkeit des Jahrs an. P3D gibt an, dass der Zeitraum drei Tage beträgt.

Die folgende Äußerung und ihre unvollständige JSON-Antwort sind unten dargestellt.

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

Beispiel zur Auflösung des Datumsbereichs für den Wochentag

Im folgenden Beispiel wird veranschaulicht, wie LUIS datetimeV2 verwendet, um die Äußerung Tuesday to Thursday aufzulösen. Im folgenden Beispiel ist der 19. Juni das aktuelles Datum. LUIS fügt daterange-Werte für die Datumsbereiche ein, die vor und nach dem aktuellen Datum liegen.

Die folgende Äußerung und ihre unvollständige JSON-Antwort sind unten dargestellt.

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

Mehrdeutige Zeitangaben

Das Array des Werts enthält zwei time-Elemente, wenn die Uhrzeit oder der Zeitraum mehrdeutig ist. Wenn die Uhrzeit nicht eindeutig ist, werden die Werte für den Vormittag und Nachmittag verwendet.

Beispiel zur Auflösung des Zeitraums

Die JSON-Antwort für DatetimeV2 wurde in der API-Version 3 geändert. Im folgenden Beispiel wird veranschaulicht, wie LUIS datetimeV2 verwendet, um die Äußerung mit dem Zeitraum aufzulösen.

Änderungen von API-Version 2:

  • Die datetimeV2.timex.type-Eigenschaft wird nicht mehr zurückgegeben, da sie mit der datetimev2.type-Eigenschaft auf der übergeordneten Ebene zurückgegeben wird.
  • Die datetimeV2.value-Eigenschaft wurde in datetimeV2.timex umbenannt.

Die folgende Äußerung und ihre unvollständige JSON-Antwort sind unten dargestellt.

from 6pm to 7pm

Beim folgenden JSON-Code wurde der verbose-Parameter auf false festgelegt:


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

Beispiel zur Auflösung der Uhrzeit

Die folgende Äußerung und ihre unvollständige JSON-Antwort sind unten dargestellt.

8am

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

Die veraltete vordefinierte datetime-Entität

Die vordefinierte datetime-Entität ist veraltet und wurde durch datetimeV2 ersetzt.

Führen Sie folgende Schritte durch, um datetime in Ihrer LUIS-App durch datetimeV2 zu ersetzen:

  1. Öffnen Sie den Bereich Entitäten auf der LUIS-Weboberfläche.
  2. Löschen Sie die vordefinierte datetime-Entität.
  3. Wählen Sie Vordefinierte Entität hinzufügen aus.
  4. Wählen Sie datetimeV2 aus, und klicken Sie auf Speichern.

Nächste Schritte

Erfahren Sie mehr über die Entitäten dimension, email und number.