Intent

Un intent classifica l'intenzione di un utente finale per un turno di conversazione. Rispetto agli intent ES, gli intent CX sono stati semplificati per renderli una risorsa più riutilizzabile.

Un intent contiene i seguenti dati:

Termine Definizione
Nome visualizzato Nome visualizzato nella console per l'intent.
Etichette Etichette che aiutano a classificare gli intent. Ad esempio: intent head.
Frasi di addestramento Le frasi di addestramento sono frasi di esempio per ciò che gli utenti finali potrebbero digitare o dire, note come input dell'utente finale. Quando l'input utente finale è simile a una di queste frasi, Dialogflow corrisponde all'intent. Non è necessario definire tutti gli esempi possibili, perché il machine learning integrato di Dialogflow espande l'elenco con altre frasi simili.
Parametri Sei tu a definire le frasi di addestramento in modo da usare i 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 pressione dei tasti del telefono), Dialogflow confronta l'input con le frasi di addestramento degli intent per trovare la corrispondenza migliore. Questo processo è chiamato corrispondenza di intent. La corrispondenza degli intent può verificarsi solo per gli intent associati a una route intent (un gestore di stato con un requisito di intent) nell'ambito.

L'input della pressione dei tasti viene associato ai pattern DTMF. Durante la ricerca di un intent corrispondente al testo, tuttavia, Dialogflow classifica le potenziali corrispondenze con una confidenza del rilevamento dell'intent, nota anche come punteggio di affidabilità. Questi valori vanno da 0,0 (completamente incerto) a 1,0 (completamente certi). Una volta assegnato un punteggio agli intent, si possono ottenere due risultati:

  • Se l'intent con il punteggio più alto ha un punteggio di confidenza maggiore o uguale all'impostazione della soglia di classificazione, viene restituito come corrispondenza.
  • Se nessun intent soddisfa la soglia, verrà richiamato un evento senza corrispondenza.

I modelli Dialogflow ML hanno un certo livello di sensibilità alle maiuscole, che potrebbe comportare punteggi di corrispondenza leggermente diversi per gli input degli utenti finali che differiscono solo per l'utilizzo delle maiuscole. Scopri di più nella guida alle best practice per la progettazione degli agenti.

Frasi di addestramento

Le frasi di addestramento sono frasi di esempio per ciò che gli utenti finali potrebbero digitare o dire, definite input dell'utente finale. Per ogni intento, crei molte frasi di addestramento. Quando un input utente finale assomiglia a una di queste frasi, Dialogflow corrisponde all'intent.

Ad esempio, la frase di addestramento "Voglio una pizza" insegna all'agente a riconoscere l'input utente finale simile a questa frase, come "Prendi una pizza" o "Ordina una pizza".

Non è necessario definire tutti gli esempi possibili, perché il machine learning integrato di Dialogflow espande l'elenco di frasi simili. Crea almeno 10-20 frasi di addestramento (a seconda della complessità dell'intent), in modo che l'agente possa riconoscere una serie di input dell'utente finale. Ad esempio, se vuoi che riconoscano 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"
  • "nero"
  • "Il blu è il mio preferito"
  • ...

Annota le frasi di addestramento

Puoi controllare il modo in cui i dati degli utenti finali vengono estratti annotando le parti delle frasi di addestramento e configurando i parametri associati.

Ad esempio, prendiamo in considerazione una frase che prende in esame il testo "Quali sono le previsioni per Tokyo domani?" Dovresti annotare "domani" con un parametro date e "Tokyo" con un parametro location. Quando annota le parti di una frase di addestramento, Dialogflow riconosce che queste parti sono solo esempi di valori effettivi che verranno forniti dagli utenti finali durante il runtime. Per un input utente finale come "Quali sono le previsioni per venerdì per Sydney?", Dialogflow estrae il parametro date da "Friday" e il parametro location da "Sydney".

Tutte le parti delle frasi di addestramento da estrarre 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 che contengono parti che possono essere abbinate a un tipo di entità esistente. Queste parti sono evidenziate nella console. Puoi modificare queste annotazioni e parametri in base alle tue esigenze.

Per annotare manualmente una frase di addestramento con la console:

  1. Seleziona la parte della frase di addestramento a cui vuoi aggiungere annotazioni.
  2. Seleziona il tipo di entità desiderato dall'elenco.
  3. Viene creato un parametro nella tabella dei parametri riportata di seguito.

Quando crei un agente con l'API, devi annotare manualmente le parti di frase di addestramento. Visualizza il tipo TrainingPhrase utilizzato dal tipo Intent.

Seleziona un protocollo e una versione per il riferimento dell'intent:

Protocollo V3 V3beta1
REST Risorsa intent Risorsa intent
RPC Interfaccia dell'intent Interfaccia dell'intent
C++ IntentsClient Non disponibile
C# IntentsClient Non disponibile
Go 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 da 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 anche contenere valori impliciti. Questo accade quando annoti il testo di una frase di addestramento, in cui 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 di entità aggiunta implicitamente. Se il tipo di entità è un'entità della mappa, il testo diventa anche sinonimo della voce dell'entità.

Intento di benvenuto predefinito

Quando crei un agente, viene creato per te un intent di benvenuto predefinito. Per alcune lingue, l'intent include semplici frasi di addestramento, come "Ciao" o "Ciao", che hanno lo scopo di corrispondere all'input utente iniziale dell'utente finale. Puoi modificare questo intent come preferisci.

Quando utilizzi l'API, puoi fare riferimento a questo intent con il seguente ID intent:

00000000-0000-0000-0000-000000000000

Se l'agente avvia la conversazione, puoi attivare questo intent 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 escluso predefinito

Quando crei un agente, viene creato per te un intent negativo predefinito. A questo intent puoi aggiungere frasi di addestramento che fungono da esempi negativi. Potrebbero verificarsi casi in cui l'input utente finale assomiglia leggermente a frasi di addestramento in intent normali, ma non vuoi che questi input corrispondano a qualsiasi intent normale.

Ad esempio, un agente di prenotazione di una stanza potrebbe avere una frase di addestramento come "Vorrei prenotare una camera". 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 alle tue intenzioni, puoi aggiungere questa frase come esempio negativo.

Inoltre, devi aggiungere possibili frasi che non rientrano nell'ambito dell'agente, in modo che non corrispondano ad alcun intent. Tuttavia, evita di aggiungere un numero molto elevato di queste frasi. Ad esempio, se definisci 10.000 frasi di intent negative predefinite, questo influisce negativamente sulla normale corrispondenza di intent.

Dovresti rivedere regolarmente queste frasi, poiché alcune di queste potrebbero essere state originariamente fuori dall'ambito dell'agente, ma sono state successivamente aggiunte agli intent.

L'intent negativo predefinito ha un impatto su tutte le corrispondenze di intent. Le frasi aggiunte potrebbero rivelarsi vantaggiose per l'abbinamento a un intent, ma peggiorare per un altro. Ad esempio, potresti aggiungere "chiamate internazionali" all'intent negativo predefinito per evitare di trovare corrispondenze con un intent di viaggio internazionale. Tuttavia, ciò impedirà anche che la frase corrisponda a un intento di chiamata internazionale.

Quando utilizzi l'API, puoi fare riferimento a questo intent con il seguente ID intent:

00000000-0000-0000-0000-000000000001

Annulla intent

Durante una conversazione, l'utente finale potrebbe voler annullare l'argomento della conversazione corrente. Ad esempio, la pagina attualmente attiva potrebbe richiedere la 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 il tuo agente. Puoi assegnare a questi intent di annullamento il nome che preferisci, ma è consuetudine includere "cancel" nel nome. Dovresti associare gli intent di annullamento a route di intent che rientrano nell'ambito in punti pertinenti della conversazione. Queste route di intent devono passare a una pagina appropriata per gestire l'annullamento.

Le frasi di addestramento per gli intent di annullamento devono gestire i tentativi di annullamento sia generici che specifici per argomento. Ad esempio:

  • Annulla
  • Arresta
  • ho cambiato idea
  • Ignora
  • Torna indietro
  • Indietro
  • Non voglio un nuovo appuntamento
  • Annulla nuovo appuntamento
  • Elimina nuovo appuntamento

Creare un intent

Per creare un intent:

Console

  1. Apri la console Dialogflow CX.
  2. Scegli il tuo progetto Google Cloud.
  3. Seleziona l'agente.
  4. Seleziona la scheda Gestisci.
  5. Fai clic su Intent.
  6. Fai clic su +Crea.
  7. Inserisci i dati sull'intent.
  8. Fai clic su Salva.

API

Visualizza il metodo create per il tipo Intent.

Seleziona un protocollo e una versione per il riferimento dell'intent:

Protocollo V3 V3beta1
REST Risorsa intent Risorsa intent
RPC Interfaccia dell'intent Interfaccia dell'intent
C++ IntentsClient Non disponibile
C# IntentsClient Non disponibile
Go 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 intent

Per eliminare un intent:

Console

  1. Apri la console Dialogflow CX.
  2. Scegli il tuo progetto Google Cloud.
  3. Seleziona l'agente.
  4. Seleziona la scheda Gestisci.
  5. Fai clic su Intent.
  6. Passa il mouse sopra l'intent che vuoi eliminare.
  7. Fai clic sul pulsante Elimina .

API

Visualizza il metodo delete per il tipo Intent.

Seleziona un protocollo e una versione per il riferimento dell'intent:

Protocollo V3 V3beta1
REST Risorsa intent Risorsa intent
RPC Interfaccia dell'intent Interfaccia dell'intent
C++ IntentsClient Non disponibile
C# IntentsClient Non disponibile
Go IntentsClient Non disponibile
Java IntentsClient IntentsClient
Node.js IntentsClient IntentsClient
PHP Non disponibile Non disponibile
Python IntentsClient IntentsClient
Ruby Non disponibile Non disponibile

Dati sull'intent di accesso

Per accedere ai dati sull'intent:

Console

  1. Apri la console Dialogflow CX.
  2. Scegli il tuo progetto Google Cloud.
  3. Seleziona l'agente.
  4. Seleziona la scheda Gestisci.
  5. Fai clic su Intent.
  6. Fai clic sull'intent a cui vuoi accedere.
  7. Visualizza o aggiorna i dati sull'intent.
  8. Fai clic su Salva per salvare le modifiche.

API

Visualizza i metodi get e patch/update per il tipo Intent.

Seleziona un protocollo e una versione per il riferimento dell'intent:

Protocollo V3 V3beta1
REST Risorsa intent Risorsa intent
RPC Interfaccia dell'intent Interfaccia dell'intent
C++ IntentsClient Non disponibile
C# IntentsClient Non disponibile
Go 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 intenzione

Dialogflow analizza automaticamente le occorrenze senza corrispondenza durante le conversazioni e può suggerire nuovi intent o frasi di addestramento aggiuntive per gli intent esistenti. Se accetti questi suggerimenti, eviterai future occorrenze senza corrispondenza.

Quando utilizzi i suggerimenti, puoi modificare la Dimensione del cluster. Valori più piccoli per le dimensioni del cluster indicano più intent con meno frasi di addestramento. Valori maggiori indicano meno intent con più frasi di addestramento per intent.

Per accettare i suggerimenti di intent:

Console

  1. Apri la console Dialogflow CX.
  2. Scegli il tuo progetto Google Cloud.
  3. Seleziona l'agente.
  4. Seleziona la scheda Gestisci.
  5. Fai clic su Intent.
  6. Fai clic sulla scheda Suggerimenti.
  7. Modifica la Dimensione del cluster come preferisci.
  8. Seleziona un suggerimento.
  9. Seleziona le frasi di addestramento che preferisci.
  10. Per l'intent target, aggiungi le frasi di addestramento a un intent esistente o a uno nuovo.
  11. Fai clic su Salva o Crea nuova per salvare le modifiche. Quando accetti i suggerimenti di intent, l'intent rimane nell'elenco dei suggerimenti.

Suddividi intent

Puoi suddividere un intent in due intent utilizzando la console. L'interfaccia consente di selezionare frasi di addestramento da un intent di origine e spostarle in un nuovo intent:

Console

  1. Apri la console Dialogflow CX.
  2. Scegli il progetto.
  3. Seleziona l'agente.
  4. Seleziona la scheda Gestisci.
  5. Fai clic su Intent.
  6. Seleziona l'intent che vuoi suddividere.
  7. Fai clic su Dividi.
  8. Seleziona gli intent dall'intent di origine.
  9. Fai clic su Sposta a destra.
  10. Fornisci altri dettagli per l'intent target.
  11. Fai clic su Dividi.

Confrontare e unire gli intent

Puoi confrontare o unire due intent in un singolo intent utilizzando la console:

Console

  1. Apri la console Dialogflow CX.
  2. Scegli il progetto.
  3. Seleziona l'agente.
  4. Seleziona la scheda Gestisci.
  5. Fai clic su Intent.
  6. Seleziona i due intent che vuoi confrontare o unire.
  7. Fai clic su Confronta.
  8. Le frasi di addestramento vengono mostrate una accanto all'altra per il confronto.
  9. Per unire i due intent, fai clic su Unisci.

Esportare e importare intent

Puoi esportare e importare gli intent per la condivisione tra agenti.

Una delle opzioni per il formato dell'esportazione è CSV, con le seguenti colonne:

  • Nome visualizzato dell'intent
  • Lingua
  • Frase

Ogni voce contiene il nome visualizzato, la lingua e la prima frase di addestramento oppure solo una frase di addestramento per l'intent dichiarato in precedenza. Dialogflow codifica le annotazioni nelle frasi di addestramento esportate, in modo che vengano ripristinate durante l'importazione. Il formato per 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?

Durante l'importazione degli 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 di unione quando i nomi visualizzati degli intent corrispondono selezionando una delle seguenti opzioni:

  • Sostituisci 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 intent esistenti: le frasi di addestramento di un intent importato vengono aggiunte all'intent esistente. Se esistono le stesse frasi di addestramento, non verranno duplicate.
  • Mantieni gli intent originali: l'intent esistente rimane invariato e quello in conflitto viene ignorato. Gli intent non in conflitto vengono importati.

Per esportare gli intent:

Console

  1. Apri la console Dialogflow CX.
  2. Scegli il tuo progetto Google Cloud.
  3. Seleziona l'agente.
  4. Seleziona la scheda Gestisci.
  5. Fai clic su Intent.
  6. Seleziona ogni intent che vuoi esportare.
  7. Fai clic su Esporta gli intent selezionati.
  8. Seleziona il formato e la destinazione che preferisci.
  9. Fai clic su Invia.

Per importare gli intent:

Console

  1. Apri la console Dialogflow CX.
  2. Scegli il tuo progetto Google Cloud.
  3. Seleziona l'agente.
  4. Seleziona la scheda Gestisci.
  5. Fai clic su Intent.
  6. Fai clic su Importa.
  7. Seleziona l'origine.
  8. In caso di conflitti, viene visualizzata una finestra di dialogo che consente di selezionare il comportamento di unione.
  9. Fai clic su Invia.

Esportare e importare frasi di addestramento

Puoi esportare e importare frasi di addestramento per un intent esistente.

Il formato file per l'importazione è CSV senza intestazione di colonna e con una sola colonna. Ad esempio:

"I want a pony"
"I need a pony"
"I must have a pony"

Quando importi 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 le frasi di addestramento dai file.

Per impostazione predefinita, le frasi di addestramento importate vengono annotate automaticamente. Puoi disattivare questo comportamento selezionando Ignora annotazione automatica.

Per esportare le frasi di addestramento per un intent:

Console

  1. Apri la console Dialogflow CX.
  2. Scegli il tuo progetto Google Cloud.
  3. Seleziona l'agente.
  4. Seleziona la scheda Gestisci.
  5. Fai clic su Intent.
  6. Seleziona un intent.
  7. Scorri verso il basso fino alla sezione Frasi di addestramento.
  8. Seleziona le frasi di addestramento che vuoi esportare.
  9. Fai clic su Esporta.

Per importare frasi di addestramento per un intent:

Console

  1. Apri la console Dialogflow CX.
  2. Scegli il tuo progetto Google Cloud.
  3. Seleziona l'agente.
  4. Seleziona la scheda Gestisci.
  5. Fai clic su Intent.
  6. Seleziona un intent.
  7. Scorri verso il basso fino alla sezione Frasi di addestramento.
  8. Se lo desideri, seleziona Salta annotazione automatica.
  9. Fai clic sul pulsante Importa subito sopra l'elenco delle frasi di addestramento.
  10. Seleziona un file e la modalità di importazione.
  11. Fai clic su Invia.

Durante la progettazione degli agenti, a volte è utile considerare gli intent come intent head o intent supplementari.

Un intent head identifica lo scopo principale dell'utente finale per interagire con un agente. Un intent supplementare identifica le domande successive di un utente finale correlate all'intent head. Queste domande successive possono fornire un contesto aggiuntivo per le esigenze dell'utente finale oppure potrebbero essere domande di follow-up che aiutano l'utente finale a chiarire o comprendere meglio qualcosa.

Un intent principale è in genere uno dei primi intent che corrispondono a una conversazione e le ulteriori domande dell'utente finale corrispondono a intent supplementari. Ad esempio:

Dialogo Spiegazione
Utente finale: Attiva un nuovo telefono
Agent: Certo, posso aiutarti. Quali sono le ultime quattro cifre del numero di telefono che vuoi attivare?
L'intenzione principale è corrispondente
Utente finale: 1234
Agent: Vuoi attivare il telefono adesso?
È impostato un parametro
Utente finale: tutti i miei messaggi verranno trasferiti sul nuovo telefono?
Agent: ...
Intent supplementare corrispondente