Sintassi dei criteri
Importante
LUIS verrà ritirato il 1° ottobre 2025 e a partire dal 1° aprile 2023 non sarà possibile creare nuove risorse LUIS. È consigliabile eseguire la migrazione delle applicazioni LUIS alla comprensione del linguaggio conversazionale per trarre vantaggio dal supporto del prodotto continuo e dalle funzionalità multilingue.
La sintassi dei criteri è un modello per un'espressione. Il modello deve contenere parole ed entità che si desidera corrispondere, nonché parole e punteggiatura da ignorare. Non si tratta di un'espressione regolare.
Attenzione
I modelli includono solo i genitori delle entità di Machine Learning, non le sottoentità.
Le entità nei criteri sono racchiuse tra parentesi graffe, {}
. I criteri possono includere entità ed entità con ruoli. Pattern.any è un'entità usata solo nei modelli.
La sintassi del modello supporta la sintassi seguente:
Funzione | Sintassi | Livello di nidificazione | Esempio |
---|---|---|---|
Entità | {} - parentesi graffe | 2 | Dove è il modulo {entity-name}? |
facoltative | [] - parentesi quadre Esiste un limite di 3 su livelli di annidamento di qualsiasi combinazione di raggruppamento e facoltativa |
2 | Il punto interrogativo è facoltativo [?] |
raggruppamento | () - parentesi | 2 | is (a | b) |
oppure | | - barra verticale (pipe) Esiste un limite di 2 sulle barre verticali (Or) in un gruppo |
- | Dove è formato ({form-name-short} | {form-name-long} | {form-number}) |
inizio e/o fine dell'espressione | ^-Cursore | - | ^iniziare l'espressione l'espressione viene eseguita^ ^strict letterale corrispondenza dell'intera espressione con {number} entity^ |
Sintassi di annidamento nei modelli
La sintassi facoltativa , con parentesi quadre, può essere annidata due livelli. Ad esempio: [[this]is] a new form
. Questo esempio consente le espressioni seguenti:
Esempio di espressione facoltativa annidata | Spiegazione |
---|---|
si tratta di un nuovo modulo | corrisponde a tutte le parole nel modello |
è un nuovo modulo | corrisponde a parole facoltative esterne e parole non facoltative nel modello |
un nuovo modulo | corrisponde solo alle parole necessarie |
La sintassi di raggruppamento , con parentesi, può essere annidata due livelli. Ad esempio: (({Entity1:RoleName1} | {Entity1:RoleName2} ) | {Entity2} )
. Questa funzionalità consente la corrispondenza di una delle tre entità.
Se Entity1 è un percorso con ruoli come origine (Seattle) e destinazione (Cairo) e Entity 2 è un nome di compilazione noto da un'entità elenco (RedWest-C), le espressioni seguenti verranno mappate a questo modello:
Esempio di espressione di raggruppamento annidata | Spiegazione |
---|---|
RedWest-C | corrisponde all'entità di raggruppamento esterna |
Seattle | corrisponde a una delle entità di raggruppamento interne |
Cairo | corrisponde a una delle entità di raggruppamento interne |
Limiti di annidamento per i gruppi con sintassi facoltativa
Una combinazione di raggruppamento con sintassi facoltativa ha un limite di 3 livelli di annidamento.
Consentito | Esempio |
---|---|
Sì | ( [ ( test1 | test2 ) ] | test3 ) |
No | ( [ [ test1 ] | test2 ) ] | test3 ) |
Limiti di annidamento per i gruppi con sintassi di o-ing
Una combinazione di raggruppamento con sintassi o-ing ha un limite di 2 barre verticali.
Consentito | Esempio |
---|---|
Sì | ( test1 | test2 | ( test3 | test4 ) ) |
No | ( test1 | test2 | test3 | ( test4 | test5 ) ) |
Sintassi per aggiungere un'entità a un modello di criteri
Per aggiungere un'entità a un modello di criteri, racchiudere il nome dell'entità tra parentesi graffe, come ad esempio in Who does {Employee} manage?
.
Criteri con entità |
---|
Who does {Employee} manage? |
Sintassi per aggiungere un'entità e un ruolo a un modello di criteri
Un ruolo di entità viene indicato come {entity:role}
con il nome dell'entità seguito da due punti e dal nome del ruolo. Per aggiungere un'entità con un ruolo a un modello di criteri, racchiudere il nome dell'entità e il nome del ruolo tra parentesi graffe, come ad esempio in Book a ticket from {Location:Origin} to {Location:Destination}
.
Criteri con ruoli di entità |
---|
Book a ticket from {Location:Origin} to {Location:Destination} |
Sintassi per aggiungere un'entità pattern.any a un modello di criteri
L'entità Pattern.any consente di aggiungere al criterio un'entità di lunghezza variabile. L'entità Pattern.any può avere qualsiasi lunghezza, purché il modello di criteri sia rispettato.
Per aggiungere un'entità Pattern.any al modello di criteri, racchiuderla tra parentesi graffe, come ad esempio in How much does {Booktitle} cost and what format is it available in?
.
Criteri con entità pattern.any |
---|
How much does {Booktitle} cost and what format is it available in? |
Titoli di libri nel criterio |
---|
How much does steal this book cost and what format is it available in? |
How much does ask cost and what format is it available in? |
How much does The Curious Incident of the Dog in the Night-Time cost and what format is it available in? |
Le parole del titolo del libro non sono confuse a LUIS perché LUIS sa dove termina il titolo del libro, in base a Pattern.any entità.
Elenchi espliciti
creare un elenco esplicito tramite l'API di creazione per consentire l'eccezione quando:
- Il modello contiene un pattern.any
- E tale sintassi del criterio consente la possibilità di un'estrazione di entità non corretta in base all'espressione.
Ad esempio, si supponga che un criterio contenga sia la sintassi facoltativa, []
, che la sintassi dell'entità, {}
, combinate in modo da estrarre i dati in modo non corretto.
Si consideri il criterio "[find] email about {subject} [from {person}]".
Nelle espressioni seguenti le entità subject e person vengono estratte in modo corretto e non corretto:
Espressione | Entità | Estrazione corretta |
---|---|---|
email about dogs from Chris | subject=dogs person=Chris |
✔ |
email about the man from La Mancha | subject=the man person=La Mancha |
X |
Nella tabella precedente l'oggetto deve essere the man from La Mancha
(titolo di un libro), ma poiché l'oggetto include la parola from
facoltativa , il titolo non è previsto correttamente.
Per risolvere questa eccezione nel criterio, aggiungere the man from la mancha
come corrispondenza dell'elenco esplicito per l'entità {subject} usando l'API di creazione per l'elenco esplicito.
Sintassi per contrassegnare un testo facoltativo in un'espressione del modello
Contrassegnare il testo facoltativo nell'espressione usando la sintassi tra parentesi quadre dell'espressione regolare, []
. Nel testo facoltativo possono essere nidificate un massimo di due parentesi quadre.
Criteri con testo facoltativo | Significato |
---|---|
[find] email about {subject} [from {person}] |
find e from {person} sono facoltativi |
'Puoi aiutarmi[?] | Il segno di punteggiatura è facoltativo |
I segni di punteggiatura (?
, !
, .
) devono essere ignorati ed è necessario ignorarli usando la sintassi tra parentesi quadre nei modelli.
Passaggi successivi
Altre informazioni sui modelli:
Informazioni sul modo in cui il sentiment viene restituito nella risposta json.