Crea un agente Dialogflow ES

Questa guida mostra come utilizzare la console di Dialogflow per creare e testare un agente semplice.

Prima di iniziare

Prima di leggere questa guida, effettua le seguenti operazioni:

  1. Leggi le nozioni di base di Dialogflow.
  2. Esegui la procedura di configurazione.

Crea un agente

Se non hai ancora creato un agente, creane uno ora:

  1. Vai alla console Dialogflow ES.
  2. Se richiesto, accedi alla console di Dialogflow. Per ulteriori informazioni, consulta Panoramica della console Dialogflow.
  3. Fai clic su Crea agente nel menu della barra laterale sinistra. Se hai già altri agenti, fai clic sul nome dell'agente, scorri verso il basso e fai clic su Crea nuovo agente.
  4. Inserisci il nome dell'agente, la lingua predefinita e il fuso orario predefinito.
  5. Se hai già creato un progetto, inseriscilo. Se vuoi consentire alla console di Dialogflow di creare il progetto, seleziona Crea un nuovo progetto Google.
  6. Fai clic su pulsante Crea.

Importa il file di esempio nell'agente

I passaggi di questa guida fanno ipotesi sul tuo agente, pertanto devi import un agente preparato per questa guida. Durante l'importazione, questi passaggi utilizzano l'opzione restore, che sovrascrive tutte le impostazioni, gli intent e le entità dell'agente.

L'agente preparato per questa guida è un nuovo agente, senza intent o entità definiti dall'utente.

Per importare il file:

  1. Scarica il file new-agent.zip.
  2. Vai alla console Dialogflow ES.
  3. Seleziona l'agente.
  4. Fai clic sul pulsante delle impostazioni accanto al nome dell'agente.
  5. Seleziona la scheda Esporta e importa.
  6. Seleziona Ripristina da Zip e segui le istruzioni per ripristinare il file ZIP che hai scaricato.

Intent

Gli intent classificano l'intenzione di un utente finale per un turno di conversazione. Per ogni agente devi definire molti intent, in cui quelli combinati possono gestire una conversazione completa.

Intent predefiniti

Quando crei un agente, vengono creati per te due intent predefiniti:

  • Intent di benvenuto predefinito: questo intent viene abbinato quando l'utente finale inizia una conversazione con il tuo agente. Questo intent dovrebbe restituire una risposta che consenta all'utente finale di sapere cosa fa l'agente o cosa può dire per iniziare una conversazione.
  • Intent di riserva predefinito: questo intent viene abbinato quando l'agente non può associare l'espressione dell'utente finale a nessun altro intent.

Per vedere questi intent, vai all'elenco di intent dell'agente:

  1. Vai alla console Dialogflow ES.
  2. Seleziona l'agente appena creato.
  3. Fai clic su Intent nel menu della barra laterale sinistra.

Al centro della console viene mostrato l'elenco di intent per l'agente.

Screenshot dell'elenco di intent

Testare l'intent di riserva predefinito

Screenshot del simulatore

Il simulatore Dialogflow si trova sul lato destro della console. Con il simulatore puoi testare l'agente parlando o digitando messaggi.

Prova subito l'agente:

  • Fai clic sul campo Prova ora.
  • Digita What is your name?.
  • Premi Invio.

La risposta dell'agente viene visualizzata nella sezione Risposta predefinita. Poiché il input non corrisponde ad alcun intent, è stata trovata una corrispondenza con l'intent di riserva predefinito e hai ricevuto una delle risposte predefinite.

Crea un nuovo intent

I passaggi in questa sezione creano un intent in grado di rispondere alla domanda "Come ti chiami?". Per ogni intent, devi definire molte frasi di addestramento. Una frase di addestramento è un esempio di ciò che un utente finale potrebbe digitare o dire al tuo agente, nota anche come espressione dell'utente finale. È necessario definire molte frasi di addestramento che forniscono a Dialogflow una varietà di espressioni che dovrebbero corrispondere a un intent.

Crea un intent:

  1. Fai clic sul pulsante per aggiungere un intent accanto a Intent nel menu della barra laterale sinistra.
  2. Inserisci get-agent-name nel campo Nome intent.
  3. Nella sezione Frasi di addestramento, fai clic su Aggiungi frasi di addestramento.
  4. Inserisci le seguenti frasi di addestramento, premendo Invio dopo ogni voce:

    • What is your name?
    • Do you have a name?
    • Tell me your name

    Screenshot Frasi di addestramento

  5. Nella sezione Risposte, inserisci quanto segue nella sezione Risposta di testo:

    • My name is Dialogflow!

    Screenshot Frasi di addestramento

  6. Fai clic sul pulsante Salva e attendi fino a quando la finestra di dialogo Addestramento agente indica che l'addestramento è stato completato.

Verifica le tue intenzioni

Screenshot del simulatore

Nel simulatore, digita What's your name? e premi Invio.

L'agente risponde correttamente all'espressione, anche se l'espressione era leggermente diversa dalle frasi di addestramento che hai fornito.

Dialogflow usa frasi di addestramento come esempi di un modello di machine learning per abbinare le espressioni dell'utente finale agli intent. Il modello verifica l'espressione in base a ogni intent nell'agente, assegna un punteggio a ogni intent e corrisponde l'intent con il punteggio più alto. Se l'intent con il punteggio più alto ha un punteggio molto basso, viene trovata una corrispondenza con l'intent di riserva.

Parametri ed entità

Quando viene trovata una corrispondenza di un intent in fase di runtime, Dialogflow fornisce i valori estratti dall'espressione dell'utente finale come parametri. Ogni parametro ha un tipo, chiamato tipo di entità, che determina esattamente il modo in cui vengono estratti i dati. A differenza dell'input non elaborato dell'utente finale, i parametri sono dati strutturati che possono essere facilmente utilizzati per eseguire una logica o generare risposte.

Quando crei un agente, puoi controllare il modo in cui vengono estratti i dati annotando le parti delle frasi di addestramento e configurando i parametri associati.

Crea parametri

Crea un nuovo intent con parametri:

  1. Fai clic sul pulsante Più accanto a Intent nel menu della barra laterale sinistra.
  2. Assegna all'intent il nome set-language nella parte superiore del modulo per intent.
  3. Aggiungi le seguenti frasi di addestramento:
    • I know English
    • I speak French
    • I know how to write in German
  4. Fai clic sul pulsante Salva e attendi fino a quando la finestra di dialogo Addestramento agente indica che l'addestramento è stato completato.

    Screenshot della frase di addestramento annotata

Dialogflow rileva automaticamente i parametri nelle frasi di addestramento che vengono riconosciuti come entità di sistema. Si tratta di entità fornite da Dialogflow per molti tipi di dati comuni, come località, colore e data.

Sotto la sezione Frasi di addestramento, Dialogflow crea una riga nella tabella Azione e parametri:

Screenshot della frase di addestramento annotata

  • Obbligatorio: la casella di controllo non è selezionata, pertanto questo parametro è facoltativo.
  • Nome parametro: questo parametro viene denominato automaticamente language, perché il parametro è riconosciuto come lingua.
  • Entità: è il tipo di entità. È riconosciuto come entità di sistema @sys.language.
  • Valore: è l'identificatore utilizzato quando fai riferimento al valore di questo parametro.
  • È elenco: la casella di controllo non è selezionata, quindi il parametro non è un elenco.

Utilizzare i dati dei parametri in una risposta

Il valore di un parametro può essere utilizzato nelle risposte. Ad esempio, puoi usare il riferimento al parametro $language nelle risposte quando crei un agente. Al momento dell'attivazione, verrà sostituita con la lingua specificata nell'espressione dell'utente finale.

Aggiungi una risposta che utilizzi un parametro:

  1. Scorri verso il basso fino alla sezione Risposte.
  2. Aggiungi il seguente testo di risposta: Wow! I didn't know you knew $language.
  3. Fai clic sul pulsante Salva e attendi fino a quando la finestra di dialogo Addestramento agente indica che l'addestramento è stato completato.

Testare il parametro

Screenshot del simulatore

Nel simulatore, inserisci I know Russian.

Puoi notare che Dialogflow estrae correttamente il parametro language con il valore Russian e che Russian è stato inserito correttamente nel punto in cui era utilizzato il riferimento al parametro nella risposta.

Creare entità personalizzate

Nella maggior parte dei casi, devi raccogliere dati specifici dagli utenti che non sono forniti dalle entità di sistema. Per farlo, puoi creare entità personalizzate.

Crea un'entità personalizzata:

  1. Fai clic sul pulsante Aggiungi entità accanto a Entità nel menu della barra laterale sinistra.
  2. Inserisci language-programming come nome dell'entità.
  3. Aggiungi le seguenti voci di entità (righe):

    Valore di riferimento Sinonimi
    JavaScript JavaScript, js, ECMAScript
    Java Java
    Python Python, py
  4. Fai clic sul pulsante Salva e attendi fino a quando la finestra di dialogo Addestramento agente indica che l'addestramento è stato completato.

Screenshot relativo all'utilizzo delle entità

Dialogflow è in grado di gestire operazioni semplici come la pluralità e le lettere maiuscole, ma ti consigliamo di aggiungere tutti i possibili sinonimi per le voci. Più ne aggiungi, più il tuo agente potrà determinare le tue entità.

Utilizza la nuova entità

Aggiungi all'intent set-language delle frasi di addestramento che utilizzano la nuova entità:

  1. Fai clic su Intent nel menu della barra laterale sinistra.
  2. Fai clic sull'intent set-language.
  3. Aggiungi le seguenti frasi di addestramento:
    • I know javascript
    • I know how to code in Java
  4. Tieni presente che i linguaggi di programmazione in queste frasi di addestramento vengono automaticamente annotati e aggiunti ai parametri nella sezione Azione e parametri.
  5. Nella sezione Risposte, aggiungi la seguente seconda risposta testuale: $language-programming is an excellent programming language..
  6. Fai clic sul pulsante Salva e attendi fino a quando la finestra di dialogo Addestramento agente indica che l'addestramento è stato completato.

Testa la nuova entità

Screenshot del simulatore

Nel simulatore, inserisci I know how to code in py.

Puoi notare che Dialogflow ha estratto correttamente py per il parametro language-programming, lo ha identificato come entità Python e ha inserito il valore nella risposta.

Contesti

Per controllare il flusso della conversazione, puoi utilizzare il contesto.

Aggiungi un intento di follow-up

Gli intent di follow-up offrono un modo semplice per controllare una conversazione senza dover creare e gestire manualmente i contesti.

Quando crei un intent di follow-up, viene aggiunto un contesto di output all'intent principale, mentre un contesto di input con lo stesso nome viene aggiunto all'intent figlio. Ciò significa che l'intent di follow-up viene trovato solo quando l'intent principale corrisponde all'intent della conversazione precedente.

Aggiungi un intent di follow-up personalizzato all'intent set-language:

  1. Seleziona l'intent set-language che hai creato nei passaggi precedenti.
  2. Nella sezione Risposta, aggiorna il testo di risposta:
    • Wow! I didn't know you knew $language. How long have you known $language?
  3. Fai clic sul pulsante Salva e attendi fino a quando la finestra di dialogo Addestramento agente indica che l'addestramento è stato completato.
  4. Fai clic su Intent nel menu della barra laterale sinistra.
  5. Passa il mouse sopra l'intent set-language e fai clic su Aggiungi intento di follow-up.
  6. Fai clic su personalizzato nell'elenco visualizzato.
  7. Fai clic sul pulsante Salva e attendi fino a quando la finestra di dialogo Addestramento agente indica che l'addestramento è stato completato.

Dialogflow assegna automaticamente il nome dell'intent di follow-up set-language - custom.

Screenshot di follow-up

Corrispondenza di intent con intent di follow-up

Gli intent di follow-up vengono abbinati solo dopo la corrispondenza dell'intent principale. Poiché l'intent set-language - custom trova una corrispondenza solo dopo l'intent set-language, puoi presumere che all'utente sia stata appena posta la domanda How long have you known $language?. Ora puoi aggiungere frasi di addestramento per le probabili risposte degli utenti alla domanda:

  1. Fai clic su Intent nel menu della barra laterale sinistra.
  2. Fai clic sull'intent set-language - custom.
  3. Aggiungi le seguenti frasi di addestramento:
    • 3 years
    • about 4 days
    • for 5 years
  4. Fai clic sul pulsante Salva e attendi fino a quando la finestra di dialogo Addestramento agente indica che l'addestramento è stato completato.

Verifica l'intenzione di follow-up

Inserisci I know French nel simulatore, quindi rispondi alla domanda How long have you known French con about 2 weeks.

Sebbene non sia presente alcuna risposta per la seconda espressione (about 2 weeks), puoi vedere che l'espressione corrisponde all'intent corretto (set-language - custom) e che il parametro di durata viene analizzato correttamente (2 weeks).

Intent e contesti

Esamina l'intent set-language per vedere che set-language-followup è elencato come contesto di output e è preceduto dal numero 2. Questo numero è chiamato durata.

Screenshot del contesto di output

Dopo la corrispondenza dell'intent set-language, il contesto set-language-followup è attivo e collegato alla conversazione per due turni (durata di 2). Pertanto, quando l'utente risponde alla domanda, How long have you known $language?, il contesto set-language-followup è attivo.

Esamina l'intent set-language - custom per vedere che set-language-followup è elencato come contesto di input, che corrisponde a quello di output per l'intent set-language.

Tutti gli intent con un contesto di input che corrisponde a un contesto attivo sono fortemente preferiti quando Dialogflow corrisponde agli intent.

Contesti e parametri

I contesti memorizzano i valori dei parametri e puoi accedere ai valori dei parametri definiti nell'intent set-language quando il relativo contesto di output è attivo.

Nell'intent set-language - custom, hai chiesto solo il periodo di tempo in cui l'utente ha conosciuto la lingua e non la lingua di riferimento stessa.

Per fare riferimento al linguaggio nella risposta:

  1. Aggiorna la risposta testuale dell'intent set-language - custom a I can't believe you've known #set-language-followup.language for $duration!
  2. Fai clic sul pulsante Salva e attendi fino a quando la finestra di dialogo Addestramento agente indica che l'addestramento è stato completato.

Il riferimento #set-language-followup.language è noto come riferimento a parametri per un contesto attivo.

Testare il parametro di contesto

Inserisci I know French nel simulatore e rispondi alla domanda con 1 week. Tieni presente che il valore parametro language viene recuperato dal contesto.

Produzione

Prima di eseguire l'agente in produzione, assicurati di implementare le best practice per la produzione.

Passaggi successivi

Prova la guida rapida di fulfillment.