Intent

Gli intent rappresentano un'attività che richiede l'esecuzione dell'Azione, ad esempio un input utente che richiede l'elaborazione o un evento di sistema che devi gestire. Puoi utilizzare gli intent per creare i modelli di chiamata e conversazione. Quando si verificano questi eventi, il runtime dell'assistente lo abbina all'intent corrispondente e lo invia all'Azione da elaborare. Gli intent sono due tipi principali, descritti nel seguente elenco:

  • Gli intent degli utenti ti consentono di estendere la capacità dell'assistente di comprendere le richieste degli utenti specifiche per il tuo brand e i tuoi servizi. Puoi definire frasi di addestramento personalizzate all'interno di un intent, che a sua volta genera il modello linguistico di un intent. Questo modello linguistico potenzia l'NLU dell'assistente, aumentando la sua capacità di capire ancora di più.

  • Gli intent di sistema hanno dati di addestramento o altri indicatori di input non conversazionali definiti dall'assistente. Ciò significa che non devi definire frasi di addestramento per questi intent. L'assistente corrisponde a questi intent in modo standard, durante eventi di sistema noti come la chiamata principale o quando gli utenti non forniscono alcun input.

Figura 1. Uno scenario comune di corrispondenza di intent. Un utente dice qualcosa che corrisponde a un intento globale. La scena corrispondente si attiva e alla fine consuma più input dell'utente. Viene trovato un altro intent, che esegue la transizione a un'altra scena e la attiva.

Intenzioni degli utenti

Quando crei azioni, crei intent dell'utente che contengono frasi di addestramento, il che estendono la capacità dell'assistente di capire ancora di più. L'assistente utilizza le tue frasi di addestramento per migliorare la sua NLU quando delega le richieste degli utenti alle tue azioni.

In questo caso, l'assistente media la comunicazione tra l'utente e le tue azioni, mappando l'input utente a un intent con un modello linguistico corrispondente. L'assistente notifica quindi alle tue azioni l'intent corrispondente in modo che tu possa elaborarle all'interno di una scena.

Quando crei intent degli utenti, specifichi i seguenti elementi:

  • Una classificazione dell'intent globale definisce se il runtime dell'assistente può corrispondere o meno all'intent dell'utente specificato al momento della chiamata e durante una conversazione. Per impostazione predefinita, l'assistente può associare gli intent dell'utente solo durante una conversazione. Solo gli intent contrassegnati come globali sono idonei per la chiamata di link diretto.

  • Le frasi di addestramento sono esempi di ciò che un utente potrebbe dire per soddisfare l'intenzione. Il motore NLU (Comprensione del linguaggio naturale) dell'assistente espande in modo naturale queste frasi di addestramento in modo da includere altre frasi simili. Fornire un ampio insieme di esempi di alta qualità aumenta la qualità e l'accuratezza della corrispondenza dell'intent.

  • I parametri sono dati digitati che vuoi estrarre dall'input utente. Per creare un parametro, annota le frasi di addestramento con dei tipi per comunicare al motore NLU che vuoi che vengano estratte parti dell'input utente. Puoi utilizzare tipi di sistema o creare tipi personalizzati per i parametri.

Quando il motore NLU rileva una corrispondenza di parametro nell'input utente, estrae il valore come parametro digitato, in modo che tu possa utilizzare la logica in una scena. Se un parametro intent ha lo stesso nome di uno slot della scena, il runtime dell'assistente riempie automaticamente lo slot della scena con il valore del parametro intent. Per ulteriori informazioni, consulta la documentazione relativa alla mappatura dei valori degli slot.

I parametri di intent supportano anche le corrispondenze "parziali". Ad esempio, se specifichi il tipo DateTime e l'utente fornisce solo una data, l'NLU estrae comunque il valore parziale come parametro.

Potresti voler utilizzare la tua NLU per gestire tutti gli input utente per un'azione. Ad esempio, potresti voler che l'Azione risponda a tutti gli scenari senza corrispondenza durante una conversazione. Per assicurarti di acquisire tutti gli input degli utenti, crea un intent con il tipo di testo in formato libero. Tuttavia, dovresti evitare di utilizzare intent personalizzati per eseguire l'override globale del comportamento senza corrispondenza predefinito dell'assistente, poiché potrebbe influire negativamente sulla possibilità degli utenti di passare da un'azione all'altra.

Quando crei un intent personalizzato nella console di Actions, Actions Builder suggerisce intent di sistema che potrebbero ricoprire lo stesso ruolo dell'intent dell'utente. Per saperne di più sugli intent di sistema, consulta la sezione seguente.

Intent di sistema

L'assistente associa gli intent di sistema in base a eventi di sistema standard. Questi eventi potrebbero avere un modello linguistico definito dal sistema, ad esempio utenti che dicono "pause" per mettere in pausa il media player, oppure potrebbero non avere un modello linguistico, ad esempio gli utenti che non forniscono alcun input. Poiché questi intent sono forniti dall'assistente, non devi preoccuparti di come vengono abbinati, ma solo di come gestirli quando vengono abbinati.

Inoltre, gli intent di sistema sostituiscono la necessità di creare intent dell'utente per le azioni che sono spesso richieste, come YES e NO. Gli intent di sistema sono addestrati per tutte le impostazioni internazionali, consentendoti di implementare più facilmente un'esperienza coerente per gli utenti in più lingue. Gli intent di sistema possono essere impostati anche come intent globali.

Viene eseguito il controllo delle versioni per gli intent di sistema. Puoi utilizzare una versione specifica di un intent di sistema finché tale versione è supportata dall'assistente. Se un'Azione utilizza una versione non supportata di un intent di sistema, l'intent di sistema viene aggiornato automaticamente a una versione supportata.

Elenco di intent

Intenzione Descrizione
actions.intent.MAIN Ogni progetto di Actions deve contenere questa chiamata principale predefinita, che è legata al tuo nome visualizzato. Gli utenti pronunciano frasi come "Hey Google, parla con <nome visualizzato>" per richiamare l'azione.

actions.intent.NO_MATCH_1

actions.intent.NO_MATCH_2

actions.intent.NO_MATCH_FINAL

Questi intent vengono abbinati quando l'utente dice qualcosa che non può essere abbinato a un intent nell'Azione. Puoi impostare singole richieste e un messaggio di uscita nell'intent finale.

actions.intent.NO_INPUT_1

actions.intent.NO_INPUT_2

actions.intent.NO_INPUT_FINAL

Questi intent vengono abbinati quando non viene generato alcun input dall'utente dopo 8 secondi. Puoi impostare singole richieste per ciascun intent e un messaggio di uscita nell'intent finale.

actions.intent.CANCEL Questo intent viene trovato quando l'utente vuole uscire dalle azioni durante una conversazione, ad esempio un utente che dice "Voglio uscire".
actions.intent.MEDIA_STATUS_FINISHED Questo intent viene abbinato e inviato all'Azione quando un utente completa la riproduzione di contenuti multimediali o passa al contenuto multimediale successivo.
actions.intent.MEDIA_STATUS_PAUSED Questo intent viene associato e inviato all'Azione quando un utente mette in pausa la riproduzione di contenuti multimediali in una risposta multimediale.
actions.intent.MEDIA_STATUS_STOPPED Questo intent viene associato e inviato all'Azione quando un utente interrompe o esce dalla riproduzione di contenuti multimediali da una risposta multimediale.
actions.intent.MEDIA_STATUS_FAILED Questo intent viene associato e inviato all'Azione quando il player di una risposta multimediale non viene riprodotto.
actions.intent.YES

Questo intent viene trovato quando un utente fornisce una risposta affermativa all'Azione.

actions.intent.NO

Questo intent viene trovato quando un utente fornisce una risposta negativa all'Azione.

actions.intent.REPEAT

Questo intent viene trovato quando un utente chiede all'azione di ripetere l'ultima risposta. Le richieste di ripetizione vengono gestite automaticamente dall'assistente se l'intent del sistema non è abilitato nell'agente. L'attivazione di questo intent di sistema consente di modificare la modalità di gestione delle richieste ripetute e delle risposte.

actions.intent.PLAY_GAME Questo intent viene trovato quando un utente chiede di poter giocare. Questo intent consente di attivare una chiamata implicita (chiamata senza utilizzare il nome visualizzato) fornita da Actions on Google.

Aggiungi il supporto per altre lingue

Alcuni intent di sistema, come YES, NO e NO_MATCH, sono supportati solo in inglese.Per aggiungere il supporto per altre lingue, devi creare intent utente che corrispondano a questi intent di sistema. I nuovi intent devono essere gestiti nel codice come gli intent del sistema che hai implementato.

Ad esempio, supponiamo che tu stia sviluppando una nuova azione e abbia implementato l'intent di sistema YES. L'intent di sistema YES è supportato soltanto in inglese, ma vuoi anche che la tua app supporti le interazioni in tedesco e giapponese. Per supportare altre lingue, crea un intent che includa frasi di addestramento per il tedesco e il giapponese, poi implementa la gestione utilizzata per l'intent di sistema YES.

Scopri di più sulla creazione di intent degli utenti.

Scopri di più sulla localizzazione degli intent degli utenti.

Rendimento senza corrispondenza

Quando la risposta di un utente non corrisponde a uno dei tuoi intent, l'assistente tenta di gestire l'input. Questo comportamento consente agli utenti di modificare le azioni nel corso di una conversazione. Ad esempio, un utente chiede "Che film ci sono in programmazione questa settimana?" e poi cambia contesto durante una conversazione: "Che tempo farà domani?" In questo esempio, poiché "Che tempo farà domani?" non è una risposta valida alla conversazione attivata dalla richiesta iniziale, l'assistente tenta automaticamente di gestire la corrispondenza e di spostare l'utente in una conversazione appropriata.

Se l'Assistente non riesce a trovare un'Azione appropriata che corrisponde all'input dell'utente, l'utente continua nel contesto dell'Azione.

Poiché l'assistente potrebbe interrompere l'Azione per rispondere a uno scenario senza corrispondenza valido, non utilizzare l'intent di sistema NO_MATCH per soddisfare le query degli utenti. Devi utilizzare l'intent NO_MATCH solo per riproporre la richiesta all'utente.