Un intent classifica l'intenzione di un utente finale per un turno di conversazione.
Un'intenzione contiene i seguenti dati:
Termine | Definizione |
---|---|
Nome visualizzato | Nome visualizzato nella console per l'intent. |
Etichette | Etichette che aiutano a classificare le intenzioni. Ad esempio: intent principale. |
Frasi di addestramento | Le frasi di addestramento sono frasi di esempio di ciò che gli utenti finali potrebbero digitare o dire, note come input dell'utente finale. Quando l'input utente finale assomiglia a una di queste frasi, Conversational Agents (Dialogflow CX) trova una corrispondenza con l'intent. Non devi definire ogni possibile esempio, perché il machine learning integrato degli agenti conversazionali (Dialogflow CX) amplia il tuo elenco con altre frasi simili. |
Parametri | Definisci le frasi di addestramento in modo da utilizzare parametri per estrarre valori da parti specifiche dell'input utente finale. |
Pattern DTMF | Consulta DTMF per le integrazioni di telefonia. |
Corrispondenza di intent
Quando un utente finale inserisce un input (testo, voce o pressioni dei tasti del telefono), Conversational Agents (Dialogflow CX) confronta l'input con le frasi di addestramento dell'intenzione per trovare la migliore corrispondenza. Questo processo è chiamato corrispondenza dell'intenzione. La corrispondenza dell'intenzione può avvenire solo per le intenzioni associate a un percorso dell'intenzione (un gestore dello stato con un requisito di intenzione) in ambito.
L'input di pressione dei tasti viene associato in base ai pattern DTMF. Tuttavia, quando si cerca un intento corrispondente al testo, Conversational Agents (Dialogflow CX) assegna un punteggio alle potenziali corrispondenze con un'affidabilità del rilevamento dell'intento, nota anche come punteggio di attendibilità. Questi valori vanno da 0,0 (completamente incerto) a 1,0 (completamente certo). Una volta assegnati i punteggi agli intent, sono possibili due risultati:
- Se l'intenzione con il punteggio più alto ha un punteggio di confidenza maggiore o uguale all'impostazione della soglia di classificazione, viene restituita come corrispondenza.
- Se nessun'intenzione soddisfa la soglia, verrà invocato un evento di mancata corrispondenza.
Frasi di addestramento
Le frasi di addestramento sono frasi di esempio di ciò che gli utenti finali potrebbero digitare o dire, chiamate input degli utenti finali. Per ogni intento, crei molte frasi di addestramento. Quando l'input di un utente finale assomiglia a una di queste frasi, Conversational Agents (Dialogflow CX) trova una corrispondenza con l'intent.
Ad esempio, la frase di addestramento "Voglio una pizza" insegna all'agente a riconoscere l'input utente finale simile a quella frase, come "Fammi una pizza" o "Ordina una pizza".
Non devi definire ogni possibile esempio, perché il machine learning integrato degli agenti conversazionali (Dialogflow CX) amplia il tuo elenco con altre frasi simili. Devi creare almeno 10-20 frasi di addestramento (a seconda della complessità dell'intenzione), in modo che l'agente possa riconoscere una serie di input degli utenti finali. Ad esempio, se vuoi che lo scopo riconosca l'input di un utente finale sul suo colore preferito, puoi definire le seguenti frasi di addestramento:
- "Mi piace il rosso"
- "Il mio colore preferito è il giallo"
- "black"
- "Il blu è il mio colore preferito"
- …
Annotare le frasi di addestramento
Puoi controllare la modalità di estrazione dei dati utente finali annotando alcune parti delle frasi di addestramento e configurando i parametri associati.
Ad esempio, considera una frase di addestramento come
"Quali sono le previsioni per domani per Tokyo?"
Devi annotare "domani" con un parametro date
e "Tokyo" con un parametro location
.
Quando annoti parti di una frase di addestramento, agenti conversazionali (Dialogflow CX) riconosce che queste parti sono solo esempi di valori effettivi che verranno forniti dagli utenti finali in fase di esecuzione.
Per un input utente finale come
"Quali sono le previsioni per venerdì a Sydney?",
Conversational Agents (Dialogflow CX) estrae il parametro date
da "Friday"
e il parametro location
da "Sydney".
Devi annotare tutte le parti della frase di addestramento che devono essere estratte come parametri. In caso contrario, Dialogflow non estrarrà i valori.
Quando crei un agente con la console, la maggior parte delle annotazioni viene creata automaticamente quando aggiungi frasi di addestramento contenenti parti che possono essere associate a un tipo di entità esistente. Queste parti sono evidenziate nella console. Puoi modificare queste annotazioni e questi parametri in base alle tue esigenze.
Per annotare manualmente una frase di addestramento con la console:
- Seleziona la parte della frase di addestramento che vuoi annotare.
- Seleziona dall'elenco il tipo di entità che ti interessa.
- Viene creato un parametro nella tabella dei parametri di seguito.
Quando crei un agente con l'API, devi annotare manualmente le parti della frase di addestramento.
Visualizza il tipo TrainingPhrase
utilizzato dal tipo Intent
.
Seleziona un protocollo e una versione per il riferimento all'intent:
Protocollo | V3 | V3beta1 |
---|---|---|
REST | Risorsa intent | Risorsa intent |
RPC | Interfaccia Intent | Interfaccia Intent |
C++ | IntentsClient | Non disponibile |
C# | IntentsClient | Non disponibile |
Vai | IntentsClient | Non disponibile |
Java | IntentsClient | IntentsClient |
Node.js | IntentsClient | IntentsClient |
PHP | Non disponibile | Non disponibile |
Python | IntentsClient | IntentsClient |
Ruby | Non disponibile | Non disponibile |
Entità implicite create dalle frasi di addestramento
La maggior parte delle entità personalizzate viene definita esplicitamente creando tipi di entità e aggiungendo voci di entità. Tuttavia, le entità personalizzate possono contenere anche valori impliciti. Questo accade quando annoti il testo di una frase di addestramento, dove il testo annotato non è un valore definito dal tipo di entità selezionato. Il testo annotato diventa un valore di riferimento dell'entità per la voce dell'entità aggiunta implicitamente. Se il tipo di entità è un'entità mappa, il testo diventa anche un sinonimo per la voce dell'entità.
Intent di benvenuto predefinito
Quando crei un agente, viene creato un intent di benvenuto predefinito. Per alcune lingue, l'intent contiene semplici frasi di addestramento come "Un saluto da Google" o "Un saluto da Google" che hanno lo scopo di corrispondere all'input utente iniziale dell'utente finale. Puoi modificare questa intenzione come preferisci.
Quando utilizzi l'API, puoi fare riferimento a questo intento con il seguente ID:
00000000-0000-0000-0000-000000000000
Se è l'agente ad avviare la conversazione,
puoi attivare questa intenzione utilizzando l'API.
Utilizza il valore
projects/<PROJECT_ID>/locations/<LOCATION_ID>/agents/<AGENT_ID>/intents/00000000-0000-0000-0000-000000000000
nel campo QueryInput.intent.intent
quando chiami il metodo detectIntent
o streamingDetectIntent
.
Intento negativo predefinito
Quando crei un agente, viene creato un intent escluso predefinito. A questo intento puoi aggiungere frasi di addestramento che fungono da esempi negativi. Potrebbero verificarsi casi in cui l'input utente finale abbia una leggera somiglianza con le frasi di addestramento negli intent normali, ma non vuoi che questi input corrispondano a intent normali.
Ad esempio, un agente di prenotazione di camere potrebbe avere una frase di addestramento come "Vorrei prenotare una stanza". Se l'utente finale vuole acquistare un libro sulle camere, potrebbe dire "Vorrei acquistare un libro sulle camere". Per assicurarti che l'input utente finale non corrisponda alla tua intenzione, puoi aggiungere la frase come esempio negativo.
Inoltre, devi aggiungere possibili frasi che non rientrano nell'ambito dell'agente, in modo che non corrispondano a nessun intent. Tuttavia, evita di aggiungerne una quantità molto elevata. Ad esempio, se definisci 10.000 frasi di intenti negativi predefiniti, questo influisce negativamente sulla normale corrispondenza dell'intent.
Ti consigliamo di esaminare regolarmente queste frasi, poiché alcune potrebbero non essere state inizialmente coperte dall'agente, ma sono state successivamente aggiunte agli intent.
L'intenzione negativa predefinita influisce su tutte le corrispondenze di intent. Le frasi che aggiungi potrebbero migliorare la corrispondenza per un'intenzione, ma danneggiarla per un'altra. Ad esempio, potresti aggiungere "chiamate internazionali" all'intenzione negativa predefinita per evitare la corrispondenza a un'intenzione di viaggio internazionale. Tuttavia, in questo modo impedirai anche alla frase di corrispondere a un'intenzione di chiamata internazionale.
Quando utilizzi l'API, puoi fare riferimento a questo intento con il seguente ID:
00000000-0000-0000-0000-000000000001
Annullare intent
Durante una conversazione, l'utente finale potrebbe voler annullare l'argomento corrente. Ad esempio, la pagina attualmente attiva potrebbe richiedere una data per un nuovo appuntamento, ma l'utente finale ha deciso di non creare un nuovo appuntamento. L'utente finale potrebbe dire ad esempio "annulla" o "non voglio un nuovo appuntamento". Per gestire questa situazione, puoi creare uno o più intent di annullamento per l'agente. Puoi assegnare a questi intent di annullamento il nome che preferisci, ma è consuetudine includere "annulla" nel nome. Devi associare questi intent di annullamento ai percorsi di intent che rientrano nell'ambito nei punti pertinenti della conversazione. Questi percorsi di intent devono passare a una pagina appropriata per gestire l'annullamento.
Le frasi di addestramento per le intenzioni di annullamento devono gestire sia i tentativi di annullamento generici sia quelli specifici per argomento. Ad esempio:
- Annulla
- Interrompi
- Ho cambiato idea
- Ignora
- Torna indietro
- Indietro
- Non voglio un nuovo appuntamento
- Annullare il nuovo appuntamento
- Eliminare il nuovo appuntamento
Creare un'intenzione
Per creare un'intenzione:
Console
- Apri la console Dialogflow CX.
- Scegli il tuo progetto Google Cloud.
- Seleziona il tuo agente.
- Seleziona la scheda Gestisci.
- Fai clic su Intent.
- Fai clic su +Crea.
- Inserisci i dati sull'intenzione.
- Fai clic su Salva.
API
Consulta il metodo create
per il tipo Intent
.
Seleziona un protocollo e una versione per il riferimento all'intent:
Protocollo | V3 | V3beta1 |
---|---|---|
REST | Risorsa intent | Risorsa intent |
RPC | Interfaccia Intent | Interfaccia Intent |
C++ | IntentsClient | Non disponibile |
C# | IntentsClient | Non disponibile |
Vai | IntentsClient | Non disponibile |
Java | IntentsClient | IntentsClient |
Node.js | IntentsClient | IntentsClient |
PHP | Non disponibile | Non disponibile |
Python | IntentsClient | IntentsClient |
Ruby | Non disponibile | Non disponibile |
Eliminare un'intenzione
Per eliminare un'intenzione:
Console
- Apri la console Dialogflow CX.
- Scegli il tuo progetto Google Cloud.
- Seleziona il tuo agente.
- Seleziona la scheda Gestisci.
- Fai clic su Intent.
- Passa il mouse sopra l'intent che vuoi eliminare.
- Fai clic sul pulsante Elimina delete.
API
Consulta il metodo delete
per il tipo Intent
.
Seleziona un protocollo e una versione per il riferimento all'intent:
Protocollo | V3 | V3beta1 |
---|---|---|
REST | Risorsa intent | Risorsa intent |
RPC | Interfaccia Intent | Interfaccia Intent |
C++ | IntentsClient | Non disponibile |
C# | IntentsClient | Non disponibile |
Vai | IntentsClient | Non disponibile |
Java | IntentsClient | IntentsClient |
Node.js | IntentsClient | IntentsClient |
PHP | Non disponibile | Non disponibile |
Python | IntentsClient | IntentsClient |
Ruby | Non disponibile | Non disponibile |
Accedere ai dati sulle intenzioni
Per accedere ai dati sulle intenzioni:
Console
- Apri la console Dialogflow CX.
- Scegli il tuo progetto Google Cloud.
- Seleziona il tuo agente.
- Seleziona la scheda Gestisci.
- Fai clic su Intent.
- Fai clic sull'intent a cui vuoi accedere.
- Visualizza o aggiorna i dati sull'intenzione.
- Fai clic su Salva per salvare le modifiche.
API
Consulta i metodi get
e patch/update
per il tipo Intent
.
Seleziona un protocollo e una versione per il riferimento all'intent:
Protocollo | V3 | V3beta1 |
---|---|---|
REST | Risorsa intent | Risorsa intent |
RPC | Interfaccia Intent | Interfaccia Intent |
C++ | IntentsClient | Non disponibile |
C# | IntentsClient | Non disponibile |
Vai | IntentsClient | Non disponibile |
Java | IntentsClient | IntentsClient |
Node.js | IntentsClient | IntentsClient |
PHP | Non disponibile | Non disponibile |
Python | IntentsClient | IntentsClient |
Ruby | Non disponibile | Non disponibile |
Suggerimenti di intent
Dialogflow analizza automaticamente le occorrenze senza corrispondenza durante le conversazioni e può suggerire nuovi intent o consigliare frasi di addestramento aggiuntive per gli intent esistenti. L'accettazione di questi suggerimenti può aiutarti a evitare future occorrenze di mancata corrispondenza.
Quando utilizzi i suggerimenti, puoi regolare la Dimensione cluster. Valori più piccoli della dimensione del cluster suggeriscono più intenti con meno frasi di addestramento per intento. Valori più elevati della dimensione del cluster suggeriscono meno intent con più frasi di addestramento per intento.
Per accettare i suggerimenti di intent:
Console
- Apri la console Dialogflow CX.
- Scegli il tuo progetto Google Cloud.
- Seleziona il tuo agente.
- Seleziona la scheda Gestisci.
- Fai clic su Intent.
- Fai clic sulla scheda Suggerimenti.
- Modifica la Dimensione cluster in base alle tue esigenze.
- Seleziona un suggerimento.
- Seleziona le frasi di addestramento che preferisci.
- Per l'intenzione target, aggiungi le frasi di addestramento a un'intenzione esistente o a una nuova.
- Fai clic su Salva o Crea nuovo per salvare le modifiche. Quando accetti i suggerimenti di intent, l'intent rimane nell'elenco dei suggerimenti.
Intenti suddivisi
Puoi suddividere un'intenzione in due utilizzando la console. L'interfaccia ti consente di selezionare frasi di addestramento da un'intenzione di origine e spostarle in una nuova intenzione:
Console
- Apri la console Dialogflow CX.
- Scegli il tuo progetto.
- Seleziona il tuo agente.
- Seleziona la scheda Gestisci.
- Fai clic su Intent.
- Seleziona l'intenzione che vuoi suddividere.
- Fai clic su Dividi.
- Seleziona gli intent dall'intent di origine.
- Fai clic su Sposta a destra.
- Fornisci altri dettagli per l'intent target.
- Fai clic su Dividi.
Confrontare e unire gli intent
Puoi confrontare o unire due intent in un unico intent utilizzando la console:
Console
- Apri la console Dialogflow CX.
- Scegli il tuo progetto.
- Seleziona il tuo agente.
- Seleziona la scheda Gestisci.
- Fai clic su Intent.
- Seleziona i due intent che vuoi confrontare o unire.
- Fai clic su Confronta.
- Le frasi di addestramento vengono mostrate una accanto all'altra per il confronto.
- Per unire i due intent, fai clic su Unisci.
Esportare e importare intent
Puoi esportare e importare le intenzioni per la condivisione tra gli agenti.
Una delle opzioni di formato di esportazione è CSV, che ha le seguenti colonne:
- Nome visualizzato dell'intento
- Lingua
- Frase
Ogni voce contiene il nome visualizzato, la lingua e la prima frase di addestramento oppure solo una frase di addestramento per l'intenzione dichiarata in precedenza. Dialogflow codifica le annotazioni nelle frasi di addestramento esportate, in modo che vengano ripristinate durante l'importazione. Il formato di questa codifica è:
(annotated part)[entity, parameter]
Ad esempio:
Intent Display Name,Language,Phrase
Shirt Selection,en,I want a (green)[@sys.color, color] shirt
,,I would like a (yellow)[@sys.color, color] shirt
Store Hours,en,When are you open?
,,What are your hours?
Quando importi gli intent, potrebbero verificarsi conflitti di unione quando il nome visualizzato di un intent nell'agente esistente corrisponde a quello di un intent importato. Puoi controllare il comportamento dell'unione quando i nomi visualizzati degli intent corrispondono selezionando una delle seguenti opzioni:
- Sostituisci gli intent esistenti: un intent importato sovrascrive qualsiasi intent con lo stesso nome nell'agente esistente.
- Rinomina e importa come nuovi intent: l'intent importato viene rinominato aggiungendo "_1" al nome visualizzato.
- Unisci con le intenzioni esistenti: le frasi di addestramento di un'intenzione importata vengono aggiunte all'intenzione esistente. Se esistono le stesse frasi di addestramento, non verranno duplicate.
- Mantieni le intenzioni originali: l'intenzione esistente rimane invariata e quella in conflitto viene ignorata. Vengono importati gli intent non in conflitto.
Per esportare le intenzioni:
Console
- Apri la console Dialogflow CX.
- Scegli il tuo progetto Google Cloud.
- Seleziona il tuo agente.
- Seleziona la scheda Gestisci.
- Fai clic su Intent.
- Seleziona ogni intent che vuoi esportare.
- Fai clic su Esporta intent selezionati.
- Seleziona il formato e la destinazione desiderati.
- Fai clic su Invia.
Per importare le intenzioni:
Console
- Apri la console Dialogflow CX.
- Scegli il tuo progetto Google Cloud.
- Seleziona il tuo agente.
- Seleziona la scheda Gestisci.
- Fai clic su Intent.
- Fai clic su Importa.
- Seleziona l'origine.
- In caso di conflitti, viene visualizzata una finestra di dialogo che consente di selezionare il comportamento di unione.
- Fai clic su Invia.
Esportare e importare frasi di addestramento
Puoi esportare e importare frasi di addestramento per un'intenzione esistente.
Il formato del file per l'importazione è CSV senza intestazione di colonna e una singola colonna. Ad esempio:
"I want a pony"
"I need a pony"
"I must have a pony"
Quando importi le frasi di addestramento, puoi scegliere una delle seguenti modalità di importazione:
- Importa come nuove frasi di addestramento: le frasi nei file vengono aggiunte all'elenco di frasi esistenti.
- Sostituisci le frasi di addestramento esistenti: le frasi di addestramento esistenti vengono eliminate e vengono aggiunte quelle dei file.
Per impostazione predefinita, le frasi di addestramento importate vengono annotate automaticamente. Puoi disattivare questo comportamento selezionando Salta l'annotazione automatica.
Per esportare le frasi di addestramento per un intento:
Console
- Apri la console Dialogflow CX.
- Scegli il tuo progetto Google Cloud.
- Seleziona il tuo agente.
- Seleziona la scheda Gestisci.
- Fai clic su Intent.
- Seleziona un'intenzione.
- Scorri verso il basso fino alla sezione Frasi di addestramento.
- Seleziona le frasi di allenamento che vuoi esportare.
- Fai clic su Esporta.
Per importare le frasi di addestramento per un intento:
Console
- Apri la console Dialogflow CX.
- Scegli il tuo progetto Google Cloud.
- Seleziona il tuo agente.
- Seleziona la scheda Gestisci.
- Fai clic su Intent.
- Seleziona un'intenzione.
- Scorri verso il basso fino alla sezione Frasi di addestramento.
- Se vuoi, seleziona Salta l'annotazione automatica.
- Fai clic sul pulsante di importazione appena sopra l'elenco delle frasi di addestramento.
- Seleziona un file e la modalità di importazione.
- Fai clic su Invia.
Intent principali e supplementari
Quando progetti gli agenti, talvolta è utile considerare gli intenti come intenti principali o intenti supplementari.
Un'intenzione principale identifica lo scopo principale dell'utente finale per interagire con un agente. Un'intenzione supplementare identifica le domande successive di un utente finale correlate all'intenzione principale. Queste domande successive possono fornire un contesto aggiuntivo per le esigenze dell'utente finale o essere domande di follow-up che aiutano l'utente finale a chiarire o comprendere meglio qualcosa.
Un'intenzione principale è in genere una delle prime intenzioni associate in una conversazione e le altre domande dell'utente finale corrispondono alle intenzioni supplementari. Ad esempio:
Dialogo | Spiegazione |
---|---|
Utente finale: attivare il nuovo telefono Agente: certo, posso aiutarti. Quali sono le ultime 4 cifre del numero di telefono che vuoi attivare? |
L'intenzione principale corrisponde |
Utente finale: 1234 Agente: sei pronto ad attivare lo smartphone? |
È impostato un parametro |
Utente finale: tutti i miei messaggi verranno trasferiti sul nuovo telefono? Agente: ... |
L'intenzione supplementare è associata |