Patroonsyntaxis
Belangrijk
LUIS wordt op 1 oktober 2025 buiten gebruik gesteld en vanaf 1 april 2023 kunt u geen nieuwe LUIS-resources maken. We raden u aan uw LUIS-toepassingen te migreren naar gesprekstaalbegrip om te profiteren van continue productondersteuning en meertalige mogelijkheden.
Patroonsyntaxis is een sjabloon voor een uiting. De sjabloon moet woorden en entiteiten bevatten die u wilt vergelijken, evenals woorden en interpunctie die u wilt negeren. Het is geen reguliere expressie.
Let op
Patronen omvatten alleen machine learning-entiteitskoppelingen, niet subentiteiten.
Entiteiten in patronen worden omgeven door accolades, {}
. Patronen kunnen entiteiten en entiteiten met rollen bevatten. Pattern.any is een entiteit die alleen wordt gebruikt in patronen.
Patroonsyntaxis ondersteunt de volgende syntaxis:
Functie | Syntaxis | Nestniveau | Opmerking |
---|---|---|---|
entity | {} - accolades | 2 | Waar is formulier {entity-name}? |
optioneel | [] - vierkante haken Er geldt een limiet van 3 voor geneste niveaus van elke combinatie van optionele en groepering |
2 | Het vraagteken is optioneel [?] |
groepering | () - haakjes | 2 | is (a | b) |
or | | - verticale staaf (pijp) Er is een limiet van 2 op de verticale balken (Of) in één groep |
- | Waar is het formulier ({form-name-short} | {form-name-long} | {form-number}) |
begin en/of einde van utterance | ^-Caret | - | ^begin de uiting de uiting is voltooid^ ^strikte letterlijke overeenkomst van volledige uiting met entiteit {number} |
Syntaxis nesten in patronen
De optionele syntaxis, met vierkante haken, kan twee niveaus worden genest. Voorbeeld: [[this]is] a new form
. In dit voorbeeld kunnen de volgende utterances worden weergegeven:
Voorbeeld van geneste optionele utterance | Uitleg |
---|---|
dit is een nieuw formulier | komt overeen met alle woorden in patroon |
is een nieuw formulier | komt overeen met buitenste optionele woorden en niet-optionele woorden in patroon |
een nieuw formulier | komt alleen overeen met vereiste woorden |
De groeperingssyntaxis , met haakjes, kan twee niveaus worden genest. Voorbeeld: (({Entity1:RoleName1} | {Entity1:RoleName2} ) | {Entity2} )
. Met deze functie kunnen alle drie entiteiten worden vergeleken.
Als Entity1 een locatie is met rollen zoals origin (Seattle) en destination (Cairo) en Entity 2 is een bekende bouwnaam van een lijstentiteit (RedWest-C), worden de volgende uitingen toegewezen aan dit patroon:
Voorbeeld van geneste groeperingsuiting | Uitleg |
---|---|
RedWest-C | komt overeen met buitenste groeperingsentiteit |
Seattle | komt overeen met een van de binnenste groeperingsentiteiten |
Cairo | komt overeen met een van de binnenste groeperingsentiteiten |
Geneste limieten voor groepen met optionele syntaxis
Een combinatie van groepering met optionele syntaxis heeft een limiet van 3 nestniveaus.
Toegestaan | Opmerking |
---|---|
Ja | ( [ ( test1 | test2 ) ] | test3 ) |
Nee | ( [ ( [ test1 ] | test2 ) ] | test3 ) |
Nestlimieten voor groepen met or-ingssyntaxis
Een combinatie van groepering met or-ingssyntaxis heeft een limiet van 2 verticale balken.
Toegestaan | Opmerking |
---|---|
Ja | ( test1 | test2 | ( test3 | test4 ) ) |
Nee | ( test1 | test2 | test3 | ( test4 | test5 ) ) |
Syntaxis voor het toevoegen van een entiteit aan een patroonsjabloon
Als u een entiteit wilt toevoegen aan de patroonsjabloon, zet u de naam van de entiteit tussen accolades, zoals Who does {Employee} manage?
.
Patroon met entiteit |
---|
Who does {Employee} manage? |
Syntaxis voor het toevoegen van een entiteit en rol aan een patroonsjabloon
Een entiteitsrol wordt aangeduid als {entity:role}
met de naam van de entiteit, gevolgd door een dubbele punt en vervolgens de rolnaam. Als u een entiteit met een rol wilt toevoegen aan de patroonsjabloon, zet u de naam van de entiteit en de rolnaam tussen accolades, zoals Book a ticket from {Location:Origin} to {Location:Destination}
.
Patroon met entiteitsrollen |
---|
Book a ticket from {Location:Origin} to {Location:Destination} |
Syntaxis om een pattern.any toe te voegen aan een patroonsjabloon
Met de entiteit Pattern.any kunt u een entiteit van verschillende lengte toevoegen aan het patroon. Zolang de patroonsjabloon wordt gevolgd, kan het patroon.any elke lengte hebben.
Als u een Pattern.any-entiteit wilt toevoegen aan de patroonsjabloon, zet u de entiteit Pattern.any tussen de accolades, zoals How much does {Booktitle} cost and what format is it available in?
.
Patroon met Pattern.any-entiteit |
---|
How much does {Booktitle} cost and what format is it available in? |
Boektitels in het patroon |
---|
Hoeveel kost dit boek stelen en in welke indeling is het beschikbaar? |
Hoeveel kost het en in welke indeling is deze beschikbaar? |
Hoeveel kost The Curious Incident of the Dog in the Night-Time en in welke indeling is het beschikbaar? |
De woorden van de boektitel zijn niet verwarrend voor LUIS, omdat LUIS weet waar de boektitel eindigt, op basis van de entiteit Pattern.any.
Expliciete lijsten
maak een expliciete lijst via de ontwerp-API om de uitzondering toe te staan wanneer:
- Uw patroon bevat een Pattern.any
- En die patroonsyntaxis biedt de mogelijkheid van een onjuiste entiteitextractie op basis van de uiting.
Stel dat u een patroon hebt met zowel optionele syntaxis als []
entiteitssyntaxis, {}
gecombineerd op een manier om gegevens onjuist te extraheren.
Houd rekening met het patroon [find] email about {subject} [from {person}].
In de volgende utterances worden de onderwerp- en persoonsentiteit correct en onjuist geëxtraheerd:
Uiting | Entity | Juiste extractie |
---|---|---|
e-mail over honden van Chris | subject=honden persoon=Chris |
✔ |
e-mail over de man van La Mancha | subject=the man persoon=La Mancha |
X |
In de voorgaande tabel moet het onderwerp (een boektitel) zijn the man from La Mancha
, maar omdat het onderwerp het optionele woord from
bevat, wordt de titel onjuist voorspeld.
Als u deze uitzondering wilt oplossen voor het patroon, voegt the man from la mancha
u toe als een expliciete lijstovereenkomst voor de entiteit {subject} met behulp van de ontwerp-API voor een expliciete lijst.
Syntaxis om optionele tekst in een sjabloonuiting te markeren
Markeer optionele tekst in de uiting met behulp van de syntaxis van de vierkante haken van de reguliere expressie. []
De optionele tekst kan vierkante haken tot maximaal twee vierkante haken nesten.
Patroon met optionele tekst | Betekenis |
---|---|
[find] email about {subject} [from {person}] |
find en from {person} zijn optioneel |
'Kun je me helpen[?] | Het interpunctieteken is optioneel |
Leestekens (?
, !
, .
) moeten worden genegeerd en u moet deze negeren met behulp van de syntaxis van vierkante haken in patronen.
Volgende stappen
Meer informatie over patronen:
Begrijpen hoe sentiment wordt geretourneerd in het .json-antwoord.