Finalità

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.

Una finalità rappresenta un'attività o un'azione che l'utente desidera eseguire. È uno scopo o un obiettivo espresso nell'espressione di un 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 (Messaggio introduttivo) "Ciao"
"Hello"
"Buongiorno"
Meteo "Com'è il tempo a Boston?"
"Mostrami le previsioni per il weekend"
Nessuno "Dammi una ricetta di biscotti"
"Ha vinto la Roma?"

Tutte le applicazioni vengono fornite con la finalità predefinita "Nessuno", ovvero la finalità di fallback.

Finalità predefinite

LUIS fornisce finalità predefinite e le relative espressioni per ognuno dei relativi domini predefiniti. È possibile aggiungere le finalità senza aggiungere l'intero dominio. L'aggiunta di una finalità è 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à superiore per tale espressione.

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

Versione dell'API di stima 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'intera espressione. Un'espressione può disporre di una sola finalità punteggio più alto, ma può avere molte entità.

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

Finalità Entità Espressione di esempio
Meteo { "type": "location", "entity": "Seattle" }
{ "type": "builtin.datetimeV2.date","entity": "tomorrow","resolution":"2018-05-23" }
Com'è il tempo a Seattletomorrow?
Meteo { "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 è una finalità obbligatoria e non può essere eliminata o rinominata. Inserire le espressioni che si trovano all'esterno del dominio.

La finalità Nessuno è la finalità di fallback e deve avere il 10% delle espressioni totali. È importante in ogni app, perché viene usata per insegnare espressioni LUIS che non sono importanti nel dominio dell'app (area soggetto). 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 stimata come 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 intere come espressione regolare, è consigliabile usare l'entità di espressione regolare associata a un modello.

L'uso di un'entità di espressione regolare garantisce l'estrazione dei dati in modo che il modello corrisponda. La corrispondenza del modello garantisce che venga restituita una finalità esatta.

Bilanciamento tra finalità

Nelle finalità del dominio dell'app le espressioni devono essere equamente distribuite. Ad esempio, non hanno la maggior parte delle finalità con 10 espressioni e un'altra finalità con 500 espressioni. Questa non è una distribuzione bilanciata. In questa situazione si vuole esaminare la finalità con 500 espressioni per verificare se molte delle finalità possono essere riorganizzate in un modello.

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

Limiti della finalità

Esaminare i limiti per comprendere il numero di finalità che è possibile aggiungere a un modello.

Suggerimento

Se è necessario più del numero massimo di finalità, valutare se il sistema usa troppe finalità e determinare se più finalità vengono combinate in una singola finalità con 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. Ad esempio, due finalità: BookFlight() e FlightCustomerService() potrebbero essere finalità separate in un'app di viaggio, 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 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

"Prenotare un volo" e "prenotare un hotel" usa lo stesso vocabolario di "prenotare 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 per una finalità. Una funzionalità può essere un elenco di frasi 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 vuole che il punteggio dell'espressione per ogni intenzione sia più distante, quindi questa varianza non si verifica. La distinzione ottimale tra le finalità dovrebbe produrre ogni volta la finalità principale prevista.

Bilanciare le espressioni tra finalità

Affinché le stime LUIS siano accurate, la quantità di espressioni di esempio in ogni finalità (ad eccezione della finalità Nessuno), deve essere relativamente uguale.

Se si ha una finalità con 500 espressioni di esempio e tutte le altre finalità con 10 espressioni di esempio, la finalità di 500 espressioni avrà una frequenza di stima più elevata.

Aggiungere espressioni di esempio a nessuna finalità

Questa finalità è la finalità di fallback, che indica tutti gli elementi esterni all'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 espressioni dall'apprendimento attivo nel processo del ciclo di vita di 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 bot che prenota i 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à