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
( [ ( 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
( 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 fromfacoltativa , 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.