Crea un agente Dialogflow ES

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

Prima di iniziare

Prima di leggere questa guida, devi:

  1. Leggi le nozioni di base su Dialogflow.
  2. Esegui i passaggi 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 la panoramica della console di Dialogflow.
  3. Fai clic su Crea agente nel menu della barra laterale a sinistra. Se hai già altri agenti, fai clic sul nome dell'agente, scorri fino in fondo 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 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 descritti in questa guida fanno delle supposizioni sul tuo agente, quindi 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 il tuo agente.
  4. Fai clic sul pulsante delle impostazioni accanto al nome dell'agente.
  5. Seleziona la scheda Esporta e importa.
  6. Seleziona Ripristina da file ZIP e segui le istruzioni per ripristinare il file ZIP scaricato.

Intent

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

Intent predefiniti

Quando crei un agente, vengono creati automaticamente due intent predefiniti:

  • Intent di benvenuto predefinito: viene associato quando l'utente finale inizia una conversazione con il tuo agente. Questo intento deve restituire una risposta che consenta all'utente finale di sapere cosa fa il tuo agente o cosa può dire per iniziare una conversazione.
  • Intent di riserva predefinito: viene associato quando l'agente non riesce a trovare una corrispondenza tra l'espressione dell'utente finale e nessun altro intent.

Per visualizzare queste intenzioni, vai all'elenco delle intenzioni per il tuo agente:

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

Al centro della console viene visualizzato l'elenco degli 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 il tuo agente parlando o digitando i 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 tuo input non corrisponde a nessun intento, è stato trovato un intento di riserva predefinito e hai ricevuto una delle risposte predefinite.

Creare un nuovo intento

I passaggi in questa sezione creano un'intenzione che può rispondere alla domanda "Come ti chiami?". Per ogni intento, definisci molte frasi di addestramento. Una frase di addestramento è un esempio di ciò che un utente finale potrebbe digitare o dire al tuo agente, conosciuta anche come espressione dell'utente finale. Devi definire molte frasi di addestramento che forniscono a Dialogflow una serie di espressioni che devono corrispondere a un'intenzione.

Crea un'intenzione:

  1. Fai clic sul pulsante Aggiungi intenzione accanto a Intent nel menu della barra laterale a 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 delle frasi di addestramento

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

    • My name is Dialogflow!

    Screenshot delle frasi di addestramento

  6. Fai clic sul pulsante Salva e attendi che la finestra di dialogo Formazione agenti annunci il completamento della formazione.

Testa l'intento

Screenshot del simulatore

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

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

Dialogflow utilizza frasi di addestramento come esempi per un modello di machine learning per abbinare le espressioni dell'utente finale agli intent. Il modello controlla l'espressione rispetto a ogni intento nell'agente, attribuendo a ogni intento un punteggio e abbinando l'intento con il punteggio più alto. Se l'intenzione con il punteggio più alto ha un punteggio molto basso, viene associata l'intenzione di riserva.

Parametri ed entità

Quando un'intenzione viene associata in fase di esecuzione, Dialogflow fornisce i valori estratti dall'espressione dell'utente finale come parametri. Ogni parametro ha un tipo, chiamato tipo di entità, che determina esattamente come vengono estratti i dati. A differenza dell'input utente finale non elaborato, i parametri sono dati strutturati che possono essere facilmente utilizzati per eseguire alcune operazioni logiche o generare risposte.

Quando crei un agente, controlla la modalità di estrazione dei dati annotando parti delle frasi di addestramento e configurando i parametri associati.

Creare parametri

Crea un nuovo intent con parametri:

  1. Fai clic sul pulsante Più accanto a Intent nel menu della barra laterale a sinistra.
  2. Assegna un nome all'intent set-language nella parte superiore del modulo dell'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 che la finestra di dialogo Formazione agenti annunci il completamento della formazione.

    Screenshot della frase di addestramento annotata

Dialogflow rileva automaticamente i parametri nelle frasi di addestramento 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 chiamato automaticamente language, poiché è riconosciuto come lingua.
  • Entità:questo è il tipo di entità. È riconosciuta come entità di sistema @sys.language.
  • Valore:questo è l'identificatore utilizzato per fare riferimento al valore di questo parametro.
  • È elenco: la casella di controllo non è selezionata, pertanto il parametro non è un elenco.

Utilizzare i dati del parametro in una risposta

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

Aggiungi una risposta che utilizza un parametro:

  1. Scorri verso il basso fino alla sezione Risposte.
  2. Aggiungi la seguente risposta di testo: Wow! I didn't know you knew $language.
  3. Fai clic sul pulsante Salva e attendi che la finestra di dialogo Formazione agenti annunci il completamento della formazione.

Testa il parametro

Screenshot del simulatore

Nel simulatore, inserisci I know Russian.

Puoi vedere che Dialogflow estrae correttamente il parametro language con il valore Russian e che Russian è stato inserito correttamente dove è stato utilizzato il riferimento del parametro nella risposta.

Crea le tue entità

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

Crea un'entità personalizzata:

  1. Fai clic sul pulsante Aggiungi entità accanto a Entità nel menu della barra laterale a sinistra.
  2. Inserisci language-programming per il 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 che la finestra di dialogo Formazione agenti annunci il completamento della formazione.

Screenshot dell'utilizzo delle entità

Dialogflow può gestire elementi semplici come la pluralità e le lettere maiuscole, ma devi aggiungere tutti i possibili sinonimi per le voci. Più ne aggiungi, meglio l'agente può determinare le tue entità.

Utilizzare la nuova entità

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

  1. Fai clic su Intent nel menu della barra laterale a sinistra.
  2. Fai clic sull'intenzione 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 annotati automaticamente e aggiunti ai parametri nella sezione Azione e parametri.
  5. Nella sezione Risposte, aggiungi la seconda risposta di testo seguente: $language-programming is an excellent programming language..
  6. Fai clic sul pulsante Salva e attendi che la finestra di dialogo Formazione agenti annunci il completamento della formazione.

Prova la nuova entità

Screenshot del simulatore

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

Puoi vedere 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.

Aggiungere un intent 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'intenzione di follow-up, un contesto di output viene aggiunto all'intenzione principale e un contesto di input con lo stesso nome viene aggiunto all'intenzione secondaria. Ciò significa che l'intento di follow-up viene associato solo quando l'intento principale viene associato nel turno di conversazione precedente.

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

  1. Seleziona l'intenzione set-language creata nei passaggi precedenti.
  2. Nella sezione Risposta, aggiorna la risposta di testo:
    • Wow! I didn't know you knew $language. How long have you known $language?
  3. Fai clic sul pulsante Salva e attendi che la finestra di dialogo Formazione agenti annunci il completamento della formazione.
  4. Fai clic su Intent nel menu della barra laterale a sinistra.
  5. Passa il mouse sopra l'intenzione set-language e fai clic su Aggiungi intenzione di follow-up.
  6. Fai clic su Personalizzato nell'elenco visualizzato.
  7. Fai clic sul pulsante Salva e attendi che la finestra di dialogo Formazione agenti annunci il completamento della formazione.

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

Screenshot di follow-up

Corrispondenza di intent con intent di follow-up

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

  1. Fai clic su Intent nel menu della barra laterale a sinistra.
  2. Fai clic sull'intenzione 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 che la finestra di dialogo Formazione agenti annunci il completamento della formazione.

Testa l'intent di follow-up

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

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

Intent e contesti

Controlla l'intent set-language per verificare che set-language-followup sia elencato come contesto di output e che sia preceduto dal numero 2. Questo numero è chiamato lifetime.

Screenshot del contesto dell'output

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

Controlla l'intent set-language - custom per verificare che set-language-followup sia indicato come contesto di input, che corrisponde al contesto di output per l'intent set-language.

Tutti gli intent con un contesto di input che corrisponde a un contesto attivo sono fortemente favoriti 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 la durata del periodo di tempo in cui l'utente conosce la lingua, e non la lingua stessa a cui si fa riferimento.

Per fare riferimento alla lingua nella risposta:

  1. Aggiorna la risposta di testo dell'intento set-language - custom su I can't believe you've known #set-language-followup.language for $duration!
  2. Fai clic sul pulsante Salva e attendi che la finestra di dialogo Formazione agenti annunci il completamento della formazione.

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

Testa il parametro di contesto

Inserisci I know French nel simulatore e poi 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 all'evasione degli ordini.