Udostępnij za pośrednictwem


Wstępnie skompilowana jednostka DatetimeV2 dla aplikacji usługi LUIS

Ważne

Usługa LUIS zostanie wycofana 1 października 2025 r. i od 1 kwietnia 2023 r. nie będzie można utworzyć nowych zasobów usługi LUIS. Zalecamy migrację aplikacji LUIS do interpretacji języka konwersacyjnego, aby korzystać z ciągłej pomocy technicznej i wielojęzycznych możliwości produktów.

Wstępnie utworzona jednostka datetimeV2 wyodrębnia wartości daty i godziny. Te wartości są rozpoznawane w standardowym formacie używanym przez programy klienckie. Gdy wypowiedź ma datę lub godzinę, która nie jest kompletna, usługa LUIS zawiera zarówno wcześniejsze, jak i przyszłe wartości w odpowiedzi punktu końcowego. Ponieważ ta jednostka jest już wytrenowana, nie trzeba dodawać przykładowych wypowiedzi zawierających wartość datetimeV2 do intencji aplikacji.

Typy daty/godziny 2

Funkcja DatetimeV2 jest zarządzana z repozytorium GitHub Recognizers-text .

Przykładowy kod JSON

Poniżej przedstawiono następującą wypowiedź i jego częściową odpowiedź JSON.

8am on may 2nd 2019

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

Podtypy daty/godziny 2

Wstępnie utworzona jednostka datetimeV2 ma następujące podtypy, a przykłady z nich znajdują się w poniższej tabeli:

  • date
  • time
  • daterange
  • timerange
  • datetimerange

Wartości rozpoznawania

  • Tablica ma jeden element, jeśli data lub godzina w wypowiedzi jest w pełni określona i jednoznaczna.
  • Tablica zawiera dwa elementy, jeśli wartość datetimeV2 jest niejednoznaczna. Niejednoznaczność obejmuje brak określonego roku, czasu lub zakresu czasu. Zobacz Niejednoznaczne daty, aby zapoznać się z przykładami . Gdy czas jest niejednoznaczny dla A.M. lub PM, oba wartości są uwzględniane.
  • Tablica zawiera cztery elementy, jeśli wypowiedź ma dwa elementy z niejednoznacznością. Ta niejednoznaczność obejmuje elementy, które mają:
    • Data lub zakres dat, który jest niejednoznaczny co do roku
    • Zakres czasu lub czasu, który jest niejednoznaczny co do M.M. lub PM. Na przykład 3:00 3 kwietnia.

Każdy element tablicy values może mieć następujące pola:

Nazwa właściwości Opis właściwości
Timex godzina, data lub zakres dat wyrażony w formacie TIMEX zgodny ze standardem ISO 8601 i atrybutami TIMEX3 dla adnotacji przy użyciu języka TimeML.
mod termin używany do opisywania sposobu używania wartości, takiej jak before, after.
type Podtyp, który może być jednym z następujących elementów: datetime, , timedate, . setdaterangetimerangedatetimerangeduration
wartość Opcjonalny. Obiekt datetime w formacie rrrr-MM-dd (data), HH:mm:ss (czas) rrrr-MM-dd HH:mm:ss (data/godzina). Jeśli type wartość to duration, wartość to liczba sekund (czas trwania)
Używane tylko wtedy, gdy type czas trwania to datetime lub date, timelub .

Prawidłowe wartości daty

Data /godzinaV2 obsługuje daty między następującymi zakresami:

Min Max
1 stycznia 1900 r. 31 grudnia 2099 r.

Niejednoznaczne daty

Jeśli data może być w przeszłości lub w przyszłości, usługa LUIS udostępnia obie wartości. Przykładem jest wypowiedź zawierająca miesiąc i datę bez roku.

Na przykład, biorąc pod uwagę następującą wypowiedź:

May 2nd

  • Jeśli bieżąca data to 3 maja 2017 r., usługa LUIS udostępnia wartości "2017-05-02" i "2018-05-02".
  • Gdy dzisiejsza data to 1 maja 2017 r., usługa LUIS udostępnia wartości "2016-05-02" i "2017-05-02".

W poniższym przykładzie pokazano rozdzielczość jednostki "may 2nd". W tej rezolucji przyjęto założenie, że dzisiejsza data to data między 2 maja 2017 r. a 1 maja 2018 r. Pola w X timex polu to części daty, które nie są jawnie określone w wypowiedzi.

Przykład rozwiązania daty

Poniżej przedstawiono następującą wypowiedź i jego częściową odpowiedź JSON.

May 2nd

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

Przykłady rozpoznawania zakresu dat dla daty liczbowej

Jednostka datetimeV2 wyodrębnia zakresy dat i godzin. Pola start i end określają początek i koniec zakresu. W przypadku wypowiedzi May 2nd to May 5thusługa LUIS udostępnia wartości daterange dla bieżącego roku i następnego roku. timex W polu XXXX wartości wskazują niejednoznaczność roku. P3D wskazuje, że okres wynosi trzy dni.

Poniżej przedstawiono następującą wypowiedź i jego częściową odpowiedź JSON.

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

Przykłady rozwiązywania zakresu dat dla dnia tygodnia

W poniższym przykładzie pokazano, jak usługa LUIS używa daty/godziny 2 do rozpoznawania wypowiedzi Tuesday to Thursday. W tym przykładzie bieżąca data to 19 czerwca. Usługa LUIS zawiera wartości daterange dla obu zakresów dat, które poprzedzają i są zgodne z bieżącą datą.

Poniżej przedstawiono następującą wypowiedź i jego częściową odpowiedź JSON.

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

Niejednoznaczny czas

Tablica wartości zawiera dwa elementy czasu, jeśli czas lub zakres czasu jest niejednoznaczny. Gdy jest niejednoznaczny czas, wartości mają zarówno godziny A.M., jak i PM.

Przykład rozdzielczości zakresu czasu

Odpowiedź JSON datetimeV2 została zmieniona w interfejsie API w wersji 3. W poniższym przykładzie pokazano, jak usługa LUIS używa daty/godziny 2 do rozpoznawania wypowiedzi, która ma zakres czasu.

Zmiany z interfejsu API w wersji 2:

  • datetimeV2.timex.typeWłaściwość nie jest już zwracana, ponieważ jest zwracana na poziomie nadrzędnym . datetimev2.type
  • Nazwa datetimeV2.value właściwości została zmieniona na datetimeV2.timex.

Poniżej przedstawiono następującą wypowiedź i jego częściową odpowiedź JSON.

from 6pm to 7pm

Poniższy kod JSON ma verbose parametr ustawiony na falsewartość :


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

Przykład rozwiązywania czasu

Poniżej przedstawiono następującą wypowiedź i jego częściową odpowiedź JSON.

8am

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

Przestarzała wstępnie utworzona data/godzina

Wstępnie utworzona datetime jednostka jest przestarzała i zastępowana datą /godziną 2.

Aby zastąpić ciąg datetime ciągiem datetimeV2 w aplikacji usługi LUIS, wykonaj następujące kroki:

  1. Otwórz okienko Jednostki interfejsu internetowego usługi LUIS.
  2. Usuń wstępnie skompilowaną jednostkę datetime .
  3. Wybierz pozycję Dodaj wstępnie utworzoną jednostkę
  4. Wybierz pozycję datetimeV2 i kliknij przycisk Zapisz.

Następne kroki

Dowiedz się więcej o wymiarze, jednostkach poczty e-mail i numerze.