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 duration der Wert die Anzahl der Sekunden (Dauer) Dies wird nur verwendet, wenn type datetime , 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 derdatetimev2.type
-Eigenschaft auf der übergeordneten Ebene zurückgegeben wird. - Die
datetimeV2.value
-Eigenschaft wurde indatetimeV2.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:
- Öffnen Sie den Bereich Entitäten auf der LUIS-Weboberfläche.
- Löschen Sie die vordefinierte datetime-Entität.
- Wählen Sie Vordefinierte Entität hinzufügen aus.
- Wählen Sie datetimeV2 aus, und klicken Sie auf Speichern.
Nächste Schritte
Erfahren Sie mehr über die Entitäten dimension, email und number.