Sdílet prostřednictvím


Syntaxe vzoru

Důležité

Služba LUIS bude vyřazena 1. října 2025 a od 1. dubna 2023 nebudete moct vytvářet nové prostředky LUIS. Doporučujeme migrovat aplikace LUIS do porozumění konverzačnímu jazyku, abyste mohli využívat další podporu produktů a vícejazyčné funkce.

Syntaxe vzoru je šablona promluvy. Šablona by měla obsahovat slova a entity, které chcete shodovat, a také slova a interpunkce , které chcete ignorovat. Nejedná se o regulární výraz.

Upozornění

Vzory zahrnují pouze nadřazené entity strojového učení, nikoli podřízenosti. Entity ve vzorech jsou obklopeny složenými závorkami, {}. Vzory můžou zahrnovat entity a entity s rolemi. Pattern.any je entita použitá pouze ve vzorech.

Syntaxe vzoru podporuje následující syntaxi:

Function Syntaxe Úroveň vnoření Příklad
entity {} - složené závorky 2 Kde je formulář {název_entity}?
optional [] – hranaté závorky

Na úrovních vnoření jakékoli kombinace volitelných a seskupování je limit 3.
2 Otazník je nepovinný [?]
grouping () - závorky 2 is (a | b)
nebo | - svislý pruh (potrubí)

U svislých pruhů (Nebo) v jedné skupině je limit 2.
- Kde je formulář ({form-name-short} | {form-name-long} | {form-number})
začátek a/nebo konec promluvy ^-Stříška - ^zahájit promluvu
promluva je hotová^
^strict literal match of entire utterance with {number} entity^

Vnoření syntaxe ve vzorech

Volitelnou syntaxi s hranatými závorkami je možné vnořit dvě úrovně. Například: [[this]is] a new form. Tento příklad umožňuje následující promluvy:

Příklad vnořené volitelné promluvy Vysvětlení
toto je nový formulář. odpovídá všem slovem ve vzoru
je nový formulář. Odpovídá vnějšímu volitelnému slovu a nepovinná slova ve vzoru
nový formulář odpovídá pouze požadovaným slovem

Syntaxe seskupení s závorky může být vnořená dvěma úrovněmi. Například: (({Entity1:RoleName1} | {Entity1:RoleName2} ) | {Entity2} ). Tato funkce umožňuje, aby se shodovaly některé ze tří entit.

Pokud je Entita 1 umístěním s rolemi, jako je původ (Seattle) a cíl (Káhira) a Entita 2, je známý název budovy z entity seznamu (RedWest-C), následující promluvy by se namapovaly na tento vzor:

Příklad vnořené promluvy seskupování Vysvětlení
RedWest-C odpovídá vnější entitě seskupení.
Seattle odpovídá jedné z vnitřních entit seskupení.
Káhira odpovídá jedné z vnitřních entit seskupení.

Omezení vnoření pro skupiny s volitelnou syntaxí

Kombinace seskupení s volitelnou syntaxí má limit 3 úrovně vnoření.

Povoleno Příklad
Ano ( [ ( test1 | test2 ) ] | test3 )
No ( [ [ test1 ] | test2 ) ] | test3 )

Omezení vnoření pro skupiny se syntaxí nebo syntaxí

Kombinace seskupení se syntaxí or-ing má limit 2 svislé pruhy.

Povoleno Příklad
Ano ( test1 | test2 | ( test3 | test4 ) )
No ( test1 | test2 | test3 | ( test4 | test5 ) )

Syntaxe pro přidání entity do šablony vzoru

Pokud chcete do šablony vzoru přidat entitu, obklopte název entity složenými závorkami, například Who does {Employee} manage?.

Model s entitou
Who does {Employee} manage?

Syntaxe pro přidání entity a role do šablony vzoru

Role entity je označená jako {entity:role} název entity a za ním dvojtečka a název role. Pokud chcete do šablony vzoru přidat entitu s rolí, obklopte název entity a název role složenými závorkami, například Book a ticket from {Location:Origin} to {Location:Destination}.

Model s rolemi entit
Book a ticket from {Location:Origin} to {Location:Destination}

Syntaxe pro přidání vzoru.any do šablony vzoru

Entita Pattern.any umožňuje přidat entitu s různou délkou vzoru. Pokud je šablona vzoru dodržena, může být vzor.any libovolná délka.

Pokud chcete do šablony vzoru přidat entitu Pattern.any , obklopte entitu Pattern.any složenými závorkami, například How much does {Booktitle} cost and what format is it available in?.

Model s entitou Pattern.any
How much does {Booktitle} cost and what format is it available in?
Book titles in the pattern
Kolik ukradne tato kniha náklady a v jakém formátu je k dispozici?
Kolik stojí dotaz a v jakém formátu je k dispozici?
Kolik stojí zvědavý incident psa v nočním čase a v jakém formátu je k dispozici?

Slova názvu knihy nejsou pro službu LUIS matoucí, protože služba LUIS ví, kde končí název knihy, na základě entity Pattern.any.

Explicitní seznamy

vytvořit explicitní seznam prostřednictvím rozhraní API pro vytváření, aby se výjimka povolila v následujících případech:

  • Váš vzor obsahuje Pattern.any.
  • A tato syntaxe vzoru umožňuje možnost nesprávné extrakce entit na základě promluvy.

Předpokládejme například, že máte vzor obsahující jak volitelnou syntaxi, []tak syntaxi entity, {}zkombinované způsobem, který nesprávně extrahuje data.

Představte si vzor [find] e-mailu o {subject} [od uživatele {person}].

V následujících promluvách se entita předmětu a osoby extrahuje správně a nesprávně:

Výrok Entity Správná extrakce
e-mail o psech od Chrise subject=psi
person=Chris
e-mail o muži z La Mancha subject=the man
person=La Mancha
X

V předchozí tabulce by předmět měl být the man from La Mancha (název knihy), ale protože předmět obsahuje volitelné slovo from, nadpis je nesprávně předpovězen.

Pokud chcete tuto výjimku vzoru opravit, přidejte the man from la mancha ji jako explicitní shodu seznamu pro entitu {subject} pomocí rozhraní API pro vytváření pro explicitní seznam.

Syntaxe označující volitelný text v šabloně promluvy

Označte volitelný text v promluvě pomocí syntaxe hranaté hranaté závorky regulárního výrazu . [] Volitelný text může vnořit hranaté závorky až do dvou závorek.

Vzor s volitelným textem Význam
[find] email about {subject} [from {person}] find a from {person} jsou volitelné
"Můžeš mi pomoct[?] Interpunkční znaménko je volitelné.

Interpunkční znaménka (?, !, .) by se měly ignorovat a je nutné je ignorovat pomocí syntaxe hranatých závorek ve vzorech.

Další kroky

Další informace o vzorech:

Zjistěte, jak se mínění vrací v odpovědi .json.