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 | ^-vynechávka | - | ^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.