Condividi tramite


Intenti

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.

Una finalità rappresenta un'attività o un'azione che l'utente desidera eseguire. È un obiettivo espresso in un'espressione dell'utente.

Definire un set di finalità che corrisponde alle azioni che gli utenti desiderano eseguire nell'applicazione. Ad esempio, un'app di viaggio avrà diverse finalità:

Finalità dell'app di viaggi Espressioni di esempio
BookFlight (PrenotaVolo) "Prenotami un volo per Rio la settimana prossima"
"Fammi volare a Rio il 24"
"Ho bisogno di un biglietto aereo per Rio de Janeiro per domenica prossima"
Greeting "Ciao"
"Salve"
"Buongiorno"
ControlloMeteo "Com'è il tempo a Boston?"
"Mostrami le previsioni per il weekend"
None "Dammi una ricetta di biscotti"
"Ha vinto la Roma?"

Tutte le applicazioni vengono fornite con la finalità predefinita, "None" (Nessuna) che è la finalità di fallback.

Finalità predefinite

LUIS offre finalità predefinite e le relative espressioni per ognuno dei domini predefiniti. È possibile aggiungere le finalità senza aggiungere l'intero dominio. Per aggiunta di una finalità si intende il processo di aggiunta di una finalità e delle relative espressioni all'app. È possibile modificare sia il nome della finalità e che l'elenco delle espressioni.

Restituire i punteggi di tutte le finalità

Assegnare un'espressione a una singola finalità. Quando LUIS riceve un'espressione, per impostazione predefinita restituisce la finalità principale di tale espressione.

Se si vogliono ottenere i punteggi per tutte le finalità dell'espressione, è possibile fornire un flag nella stringa di query dell'API di previsione.

Versione dell'API di previsione Flag
V2 verbose=true
V3 show-all-intents=true

Finalità ed entità a confronto

La finalità rappresenta l'azione che l'applicazione deve eseguire per l'utente, in base all'espressione nella sua interezza. Un'espressione può disporre di una sola finalità punteggio più alto, ma può avere molte entità.

Creare una finalità quando l'intenzione dell'utente avvierebbe un'azione nell'applicazione client, ad esempio una chiamata alla funzione checkweather(). Quindi creare entità per rappresentare i parametri necessari per eseguire l'azione.

Finalità Entità Espressione di esempio
ControlloMeteo { "type": "location", "entity": "Seattle" }
{ "type": "builtin.datetimeV2.date","entity": "tomorrow","resolution":"2018-05-23" }
Com'è il tempo a Seattle tomorrow?
ControlloMeteo { "type": "date_range", "entity": "this weekend" } Mostrami le previsioni per this weekend

Finalità None

La finalità None (Nessuna) viene creata ma lasciata vuota di proposito. La finalità None è obbligatoria e non può essere eliminata o rinominata. Associarla alle espressioni che non rientrano nel dominio.

La finalità None (Nulla) è la finalità di fallback e deve avere il 10% delle espressioni totali. Tale finalità è importante in ogni app, perché viene usata per insegnare espressioni LUIS non importanti nel dominio dell'app (area dell'oggetto). Se non si aggiungono espressioni per la finalità None (Nessuna), LUIS forza un'espressione che si trova all'esterno del dominio in una delle finalità del dominio. Questo distorcerà i punteggi di stima perché a LUIS verrà insegnata la finalità errata dell'espressione.

Quando un'espressione viene considerata una finalità None, l'applicazione client può porre altre domande o fornire un menu per indirizzare l'utente a scelte valide.

Intenzioni negative

Per determinare intenzioni negative e positive, ad esempio "Voglio un'auto" e "Non voglio un'auto", è possibile creare due finalità (una positiva e una negativa) e aggiungere espressioni appropriate per ognuna. In alternativa, è possibile creare una singola finalità e contrassegnare i due diversi termini positivi e negativi come entità.

Finalità e modelli

Se sono presenti espressioni di esempio, che possono essere definite in parte o nel loro complesso come un'espressione regolare, è consigliabile usare l' l'entità dell'espressione regolare abbinata a un criterio.

L'uso di un'entità di espressione regolare garantisce l'estrazione dei dati in modo tale che sia individuato il criterio corrispondente. I criteri di ricerca garantiscono che venga restituita una finalità esatta.

Bilanciamento tra finalità

Nelle finalità del dominio dell'app le espressioni devono essere equamente distribuite. Ad esempio, è consigliabile che la maggior parte delle finalità non sia associata a 10 espressioni e un'altra finalità a 500 espressioni. Questa non è una distribuzione bilanciata. In questa situazione, esaminare la finalità con 500 espressioni per accertarsi se alcune delle finalità possono essere riorganizzate in un criterio.

La finalità None non è inclusa nel bilanciamento. La finalità dovrebbe contenere il 10% delle espressioni totali nell'app.

Limiti della finalità

Rivedere i limiti per comprendere quante finalità è possibile aggiungere a un modello.

Suggerimento

Se è necessario più del numero massimo di finalità, valutare se il sistema usa troppe finalità e comprendere se le diverse finalità debbano essere combinate in un'unica finalità con delle entità. Se le finalità sono troppo simili, LUIS le distinguerà con maggiore difficoltà. Le finalità devono essere sufficientemente varie per acquisire le attività principali che chiede l'utente, anche se non è necessario che acquisiscano ogni percorso accettato dal codice. Di seguito un esempio con due finalità: BookFlight() e FlightCustomerService() potrebbero essere finalità separate in un'app di viaggi, ma BookInternationalFlight() e BookDomesticFlight() sono troppo simili. Se il sistema deve fare distinzione tra di essi, usare le entità o altra logica anziché le finalità.

Richiedere la guida per le app con un numero significativo di finalità

Se ridurre il numero delle finalità o dividere le finalità in più app non comporta alcun miglioramento, contattare l'assistenza. Se la sottoscrizione di Azure include servizi di assistenza, contattare il team di supporto di Azure.

Procedure consigliate per le finalità:

Definire le finalità distinte

Assicurarsi che il vocabolario per ogni finalità sia specifico di quella finalità e che non si sovrapponga a un'altra. Ad esempio, se si vuole realizzare un'app per gestire i viaggi, ad esempio i voli aerei e gli hotel, è possibile scegliere di definire queste aree di interesse come finalità separate o una sola finalità con entità per dati specifici all'interno dell'espressione.

Se il vocabolario tra due finalità è lo stesso, combinare la finalità e usare le entità.

Considerare le espressioni di esempio seguenti:

  1. Prenota un volo
  2. Prenota un hotel

"Prenota un volo" e "prenota un hotel" utilizzano lo stesso vocabolario di "Prenota un <sostantivo>". Questo formato è uguale, pertanto dovrebbe essere la stessa finalità con le parole diverse delle entità estratte volo e hotel.

Aggiungere funzionalità alle finalità

Le funzionalità descrivono i concetti di una finalità. Una funzionalità può essere un elenco di locuzioni di parole significative per tale finalità o un'entità significativa per tale finalità.

Trovare un compromesso per le finalità

Usare i dati di stima LUIS per determinare se le finalità si sovrappongono. Le finalità sovrapposte confondono LUIS. Il risultato è che la finalità con il punteggio più alto è troppo vicina a un'altra finalità. Poiché LUIS non usa ogni volta lo stesso percorso esatto attraverso i dati per il training, una finalità sovrapposta ha la possibilità di essere la prima o la seconda nel training. Si desidera che il punteggio dell'espressione per ogni finalità sia più distante affinché non si verifichi la varianza. La distinzione ottimale tra le finalità dovrebbe produrre ogni volta la finalità principale prevista.

Bilanciare le espressioni tra le finalità

Affinché LUIS possa generare previsioni precise, la quantità di espressioni di esempio in ogni finalità (ad eccezione della finalità None) deve essere relativamente equivalente.

In presenza di una finalità con 500 espressioni di esempio e di tutte le altre finalità con 10 espressioni di esempio, la finalità con 500 espressioni genererà più previsioni.

Aggiungere espressioni di esempio alla finalità None (Nessuna)

Si tratta della finalità di fallback, che indica ogni cosa all'esterno dell'applicazione. Aggiungere un'espressione di esempio alla finalità None (Nessuna) ogni 10 espressioni di esempio nel resto dell'app LUIS.

Non aggiungere molte espressioni di esempio alle finalità

Dopo la pubblicazione dell'app, aggiungere solo le espressioni dall'apprendimento attivo nel processo del ciclo di vita dello sviluppo. Se le espressioni sono troppo simili, aggiungere un criterio.

Non combinare la definizione di finalità ed entità

Creare una finalità per qualsiasi azione che eseguirà il bot. Usare le entità come parametri che rendono possibile tale azione.

Ad esempio per un chatbot che prenoterà voli aerei, creare una finalità BookFlight. Non creare una finalità per ogni compagnia aerea o per ogni destinazione. Usare questi dati come entità e contrassegnarle nelle espressioni di esempio.

Passaggi successivi

Come usare le finalità