Sintassi dei criteri
Importante
LUIS verrà ritirato il 1 ottobre 2025 e a partire dal 1 aprile 2023 non è più possibile creare nuove risorse LUIS. Si consiglia di eseguire la migrazione delle applicazioni LUIS a comprensione del linguaggio di conversazione per sfruttare appieno un supporto costante per i prodotti e le funzionalità multilingue.
La sintassi dei criteri è un modello per un'espressione. Il modello deve contenere parole ed entità che si desidera associare, nonché parole e punteggiatura da ignorare. Non si tratta di un'espressione regolare.
Attenzione
I modelli includono solo elementi padre di entità di Machine Learning, non 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 dei criteri supporta la sintassi seguente:
Funzione | Sintassi | Livello di nidificazione | Esempio |
---|---|---|---|
entità | {} - parentesi graffe | 2 | Dove si trova il formato {entity-name}? |
facoltative | [] - parentesi quadre Esiste un limite di 3 sui livelli di annidamento di qualsiasi combinazione di raggruppamento e facoltativo |
2 | Il punto interrogativo è facoltativo [?] |
grouping | () - parentesi | 2 | is (a | b) |
or | | - 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 | - | ^begin l'espressione l'espressione viene eseguita^ ^strict corrispondenza letterale dell'intera espressione con {number} entità^ |
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 criterio |
è un nuovo modulo | corrisponde a parole facoltative esterne e parole non facoltative nel criterio |
un nuovo modulo | corrisponde solo alle parole obbligatorie |
La sintassi di raggruppamento , tra 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 è una località con ruoli come origine (Seattle) e destinazione (Cairo) ed Entità 2 è un nome predefinito 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 or-ing
Una combinazione di raggruppamento con la sintassi di or-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 confondono LUIS perché LUIS sa dove termina il titolo del libro, in base all'entità Pattern.any.
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:
Comprendere come viene restituito il sentiment nella risposta .json.