Creazione e personalizzazione di un agente

In Dialogflow, un agente appena creato include due intent predefiniti, l'intent di benvenuto predefinito e l'intent di riserva predefinito. I primi passi nella creazione di un agente, oltre a creare nuovi intent, prevedono la personalizzazione di questi intent in base allo scopo e all'utente tipo del tuo agente.

Prima di iniziare

Prima di iniziare a seguire questo tutorial, dovresti avere familiarità con le nozioni di base di Dialogflow e illustrate nelle guide rapide.

Crea un agente

Usa la console Dialogflow ES per creare un agente denominato "MarysBikeShop". Se non sai come fare, consulta la guida rapida.

Personalizza l'intent di benvenuto predefinito

Iniziamo a personalizzare la risposta dell'intent di benvenuto predefinito in base alle best practice di progettazione per le conversazioni Google. La best practice suggerisce di raggiungere tre obiettivi principali con l'annuncio: dare il benvenuto all'utente, impostare aspettative e lasciare che sia l'utente ad avere il controllo.

Sulla base di questa best practice, possiamo comporre il saluto del nostro agente:

Ti diamo il benvenuto. Posso dirti gli orari di apertura o posso fissare un appuntamento. Quale preferisci?

Per aggiornare la risposta predefinita per intenzione di benvenuto:

  1. Fai clic sull'intent di benvenuto predefinito.
  2. Vai alla sezione Risposte.
  3. Nella tabella Risposta di testo, elimina tutte le risposte predefinite.
  4. Nella tabella Risposta di testo, copia e incolla la seguente risposta:

    Welcome. I can tell you the shop hours, or I can set up an appointment. Which would you like?

  5. Fai clic su SALVA.

  6. Verifica l'aggiornamento utilizzando il simulatore nella console di Dialogflow.

    Figura 2. Diagramma di flusso che mostra l'intent di benvenuto con la corrispondenza e la risposta corrispondenti.

Crea varianti di risposta

Dopo aver composto una nuova frase di saluto, dobbiamo creare altre varianti. Includi le seguenti varianti come risposte nell'intent di benvenuto predefinito:

  • Welcome. I can tell you the shop hours, or I can make an appointment. What can I do for you?
  • Hello there. I can tell you the shop hours, or I can schedule an appointment. How may I help you today?

Quando forniamo più risposte per un intent, Dialogflow seleziona casualmente una variante della risposta dall'elenco. Tuttavia, tieni presente che esistono modi più sofisticati per gestire le varianti nelle risposte una volta che abbiamo iniziato a scrivere il codice per il fulfillment, che consente di utilizzare una logica complessa. Il componente fulfillment di Dialogflow verrà trattato nelle sezioni successive.

Nelle nostre varianti di risposta, le frasi di saluto terminano con una domanda, ad esempio "Quali vorresti?"quot;cosa posso fare per te?" A questo punto, l'agente si aspetta una frase dall'utente e quest'ultima deve rivelare ciò che l'utente vuole. Nella sezione successiva, creiamo il primo agente personalizzato per l'agente in grado di identificare e risolvere la richiesta di un utente.

Crea un intent personalizzato

Vogliamo che l'agente del negozio di biciclette esegua due attività:

  • Comunica ai clienti gli orari di apertura
  • Programmare gli appuntamenti per i clienti

Innanzitutto, creiamo un intent che possa informare gli utenti in merito agli orari di apertura del negozio di biciclette. Possiamo iniziare scrivendo una finestra di dialogo di esempio per questo intent:

Utente: quando è aperta?

Agente: siamo aperti tutti i giorni dalle 9:00 alle 18:00. C'è qualcos'altro che posso fare per te?

Per creare un intent in grado di gestire questa finestra di dialogo, segui questi passaggi:

  1. Crea un nuovo intent denominato Hours.
  2. Nella sezione Frasi di addestramento dell'intent Ore, inserisci la seguente frase di addestramento: When are you open?
  3. Nella sezione Risposte, inserisci la seguente risposta nella tabella Risposta di testo: We're open from 9 AM to 6 PM every day. Is there anything else I can do for you?
  4. Fai clic su SALVA.

    Figura 3. Diagramma di flusso che mostra l'intent di benvenuto predefinito e il nuovo intent personalizzato, Ore.

La configurazione riportata sopra ci consente di capire l'intenzione di base che funziona. Quando un utente fa la domanda "Quando la tua attività è aperta?", Dialogflow abbina l'espressione utente all'intenzione personalizzata con Hour. In seguito, l'intent risponde con la frase "Siamo aperti dalle 9:00 alle 18:00 tutti i giorni. C'è qualcos'altro che posso fare per te?"

Aggiungi altre frasi di addestramento

Dal momento che l'intent Orario ha una sola frase di addestramento, "Quando la tua attività è aperta?", l'intent non dispone di conoscenze sufficienti per identificare altre frasi simili con lo stesso significato. Dobbiamo fornire più frasi di addestramento per permettere all'agente di rispondere a diverse frasi degli utenti che esprimono la stessa intenzione.

Nel linguaggio naturale, quasi sempre abbiamo un modo diverso di creare le frasi che hanno lo stesso significato. Consigliamo di iniziare con almeno 10-20 frasi di addestramento (a seconda della complessità dell'intent). Mentre inizi a testare l'agente, continua ad aggiungere altre frasi di addestramento utilizzando lo strumento di addestramento di Dialogflow.

Con la frase "Quando la tua attività è aperta?", possiamo produrre queste 10 varianti che gli utenti potrebbero dire:

  • Are you open today?
  • How late are you open on weekends?
  • When do you close?
  • What time do you open tomorrow morning?
  • Are you open now?
  • Business hours.
  • How early can I drop in?
  • Tell me your opening hours.
  • What are your hours?
  • How late can I come in?

Per aggiungere queste varianti come frasi di addestramento:

  1. Fai clic sull'intent Orario.
  2. Nella sezione Frasi di addestramento, copia e incolla ogni frase sopra.
  3. Fai clic su SALVA.
  4. Verifica l'intent con varie frasi degli utenti utilizzando il simulatore nella console di Dialogflow.

Finora abbiamo un agente che può salutare e accogliere gli utenti e identificare e risolvere una loro richiesta specifica. Tuttavia, cosa succede quando gli utenti dicono qualcosa che l'agente non è in grado di capire?

Nella sezione successiva esploreremo un intent speciale concepito per gestire le frasi senza corrispondenza: un intent di riserva.

Personalizzare l'intent di riserva

Un intent di riserva è un intent speciale che viene soddisfatto quando un'espressione utente non corrisponde ad altri intent. Come per l'intent di benvenuto predefinito, in ogni agente viene incluso un intent di riserva generico denominato Intent di riserva predefinito.

Un intent di riserva può chiedere agli utenti di formulare frasi in un formato riconoscibile dall'agente. Per aggiornare la risposta predefinita per intenzione di riserva, procedi nel seguente modo:

  1. Fai clic sull'intent di riserva predefinito.
  2. Vai alla sezione Risposte.
  3. Nella tabella Risposta di testo, elimina tutte le risposte predefinite.
  4. Nella tabella Risposta di testo, copia e incolla la seguente risposta:

    Sorry, did you want to hear our hours, or set up an appointment?

  5. Fai clic su SALVA.

    Figura 4. Diagramma di flusso che mostra l'intent di riserva nell'angolo in alto a sinistra.

La domanda alla quale si vuole rispondere nella risposta è "vuoi ascoltare gli orari o fissare un appuntamento?" indica agli utenti di pronunciare una frase riconoscibile. L'agente deve aspettarsi una delle seguenti frasi dall'utente: "Voglio sapere gli orari" o "Vorrei fissare un appuntamento".

A questo punto, il nostro agente non ha un'intenzione in grado di gestire l'espressione vuoi fissare un appuntamento." Nella sezione seguente, creeremo un intent avanzato che può risolvere la richiesta di configurazione di un appuntamento.