Składnia wzorca

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.

Składnia wzorca to szablon wypowiedzi. Szablon powinien zawierać wyrazy i jednostki, które chcesz dopasować, a także wyrazy i znaki interpunkcyjne , które chcesz zignorować. Nie jest to wyrażenie regularne.

Uwaga

Wzorce obejmują tylko jednostki uczenia maszynowego, a nie jednostki podrzędne. Jednostki we wzorcach są otoczone nawiasami klamrowymi, {}. Wzorce mogą zawierać jednostki i jednostki z rolami. Pattern.any to jednostka używana tylko w wzorcach.

Składnia wzorca obsługuje następującą składnię:

Function Składnia Poziom zagnieżdżania Przykład
podmiot {} - nawiasy klamrowe 2 Gdzie jest formularz {entity-name}?
optional [] — nawiasy kwadratowe

Istnieje limit 3 dla poziomów zagnieżdżania dowolnej kombinacji opcjonalnej i grupowania
2 Znak zapytania jest opcjonalny [?]
grouping () — nawiasy 2 is (a | b)
lub | - pionowy słupek (rura)

W jednej grupie występuje limit 2 pasków pionowych (lub)
- Gdzie jest formularz ({form-name-short} | {form-name-long} | {form-number})
początek i/lub koniec wypowiedzi ^-Daszek - ^rozpocznij wypowiedź
wypowiedź jest wykonywana^
^ścisłe dopasowanie literału całej wypowiedzi za pomocą jednostki {number}

Składnia zagnieżdżania we wzorcach

Opcjonalna składnia z nawiasami kwadratowymi może być zagnieżdżona na dwóch poziomach. Na przykład: [[this]is] a new form. W tym przykładzie można uzyskać następujące wypowiedzi:

Przykład zagnieżdżonej opcjonalnej wypowiedzi Wyjaśnienie
jest to nowy formularz pasuje do wszystkich wyrazów we wzorcu
jest nowym formularzem dopasowywuje zewnętrzne wyrazy opcjonalne i wyrazy inne niż opcjonalne we wzorcu
nowy formularz pasuje tylko do wymaganych wyrazów

Składnia grupowania z nawiasami może być zagnieżdżona na dwóch poziomach. Na przykład: (({Entity1:RoleName1} | {Entity1:RoleName2} ) | {Entity2} ). Ta funkcja umożliwia dopasowanie dowolnej z trzech jednostek.

Jeśli jednostka Entity1 jest lokalizacją z rolami takimi jak origin (Seattle) i destination (Kair) i Entity 2 jest znaną nazwą budynku z jednostki listy (RedWest-C), następujące wypowiedzi będą mapować na ten wzorzec:

Przykład zagnieżdżonej wypowiedzi grupowania Wyjaśnienie
RedWest-C pasuje do zewnętrznej jednostki grupowania
Seattle pasuje do jednej z jednostek grupowania wewnętrznego
Kair pasuje do jednej z jednostek grupowania wewnętrznego

Zagnieżdżanie limitów dla grup z opcjonalną składnią

Połączenie grupowania z opcjonalną składnią ma limit 3 poziomów zagnieżdżania.

Dozwolone Przykład
Tak ( ( test1 | test2 ) ] | test3 )
Nie. ( [ [ test1 ] | test2 ) ] | test3 )

Zagnieżdżanie limitów dla grup ze składnią or-ing

Połączenie grupowania ze składnią or-ing ma limit 2 słupków pionowych.

Dozwolone Przykład
Tak ( test1 | test2 | ( test3 | test4 ) )
Nie. ( test1 | test2 | test3 | ( test4 | test5 ) )

Składnia dodawania jednostki do szablonu wzorca

Aby dodać jednostkę do szablonu wzorca, umieść nazwę jednostki za pomocą nawiasów klamrowych, takich jak Who does {Employee} manage?.

Wzorzec z jednostką
Who does {Employee} manage?

Składnia dodawania jednostki i roli do szablonu wzorca

Rola jednostki jest oznaczona jako {entity:role} nazwa jednostki, po której następuje dwukropek, a następnie nazwa roli. Aby dodać jednostkę z rolą do szablonu wzorca, umieść nazwę jednostki i nazwę roli za pomocą nawiasów klamrowych, takich jak Book a ticket from {Location:Origin} to {Location:Destination}.

Wzorzec z rolami jednostek
Book a ticket from {Location:Origin} to {Location:Destination}

Składnia dodawania szablonu pattern.any do szablonu wzorca

Jednostka Pattern.any umożliwia dodanie jednostki o różnej długości do wzorca. Jeśli szablon wzorca jest przestrzegany, wzorzec.any może mieć dowolną długość.

Aby dodać jednostkę Pattern.any do szablonu wzorca, umieść jednostkę Pattern.any z nawiasami klamrowymi, takimi jak How much does {Booktitle} cost and what format is it available in?.

Wzorzec z jednostką Pattern.any
How much does {Booktitle} cost and what format is it available in?
Tytuły książek we wzorcu
Ile kosztuje ta książka i jaki format jest dostępny?
Ile kosztuje i jaki format jest dostępny?
Ile kosztuje Ciekawy Incydent Psa w nocy i jaki format jest dostępny w?

Słowa tytułu książki nie są mylące dla usługi LUIS, ponieważ usługa LUIS wie, gdzie kończy się tytuł książki, na podstawie jednostki Pattern.any.

Listy jawne

utwórz jawną listę za pomocą interfejsu API tworzenia, aby zezwolić na wyjątek w następujących przypadkach:

  • Wzorzec zawiera wzorzec.any
  • Ta składnia wzorca umożliwia wyodrębnianie nieprawidłowej jednostki na podstawie wypowiedzi.

Załóżmy na przykład, że masz wzorzec zawierający zarówno składnię opcjonalną, []jak i składnię jednostki, {}w połączeniu w celu nieprawidłowego wyodrębnienia danych.

Rozważ wzorzec "[find] email about {subject} [from {person}]".

W następujących wypowiedziach podmiot i jednostka osoby są prawidłowo wyodrębniane i niepoprawnie:

Wypowiedź Encja Poprawne wyodrębnianie
e-mail na temat psów od Chrisa subject=psy
person=Chris
e-mail o człowieku z La Mancha subject= człowiek
person=La Mancha
X

W powyższej tabeli temat powinien być the man from La Mancha (tytuł książki), ale ponieważ temat zawiera opcjonalne słowo from, tytuł jest niepoprawnie przewidywany.

Aby naprawić ten wyjątek do wzorca, dodaj the man from la mancha jako jawne dopasowanie listy dla jednostki {subject} przy użyciu interfejsu API tworzenia dla jawnej listy.

Składnia oznaczania opcjonalnego tekstu w wypowiedzi szablonu

Oznacz opcjonalny tekst w wypowiedzi przy użyciu składni nawiasu kwadratowego wyrażenia regularnego, []. Opcjonalny tekst może zagnieżdżać nawiasy kwadratowe tylko do dwóch nawiasów.

Wzorzec z opcjonalnym tekstem Znaczenie
[find] email about {subject} [from {person}] find i from {person} są opcjonalne
"Czy mogę mi pomóc[?] Znacznik interpunkcyjny jest opcjonalny

Znaczniki interpunkcyjne (?, !, .) powinny być ignorowane i należy je zignorować przy użyciu składni nawiasu kwadratowego w wzorcach.

Następne kroki

Dowiedz się więcej o wzorcach:

Dowiedz się, jak tonacja jest zwracana w odpowiedzi .json.