Comprendere le entità in Dialogflow

1. Prima di iniziare

Le entità sono un meccanismo di Dialogflow per identificare ed estrarre dati utili dagli input in linguaggio naturale. Mentre gli intent consentono all'agente di comprendere la motivazione alla base di un particolare input dell'utente, le entità vengono utilizzate per estrarre informazioni specifiche menzionate dagli utenti, ad esempio indirizzi, nomi di prodotti e importi con unità. Tutti i dati importanti che vuoi ottenere dalla richiesta di un utente avranno un'entità corrispondente.

Il seguente elenco spiega i tre tipi di entità:

  • Le entità di sistema, fornite con Dialogflow, consentono agli agenti di estrarre informazioni su una vasta gamma di concetti senza alcuna configurazione aggiuntiva. Ad esempio, le entità di sistema sono disponibili per estrarre date, orari e località dagli input in linguaggio naturale.
  • Le entità sviluppatore, che definisci, estraggono informazioni su concetti che vanno oltre quelli coperti dalle entità di sistema. Ad esempio, un brand potrebbe creare un'entità sviluppatore per riconoscere il proprio insieme unico di nomi di prodotti.
  • Le entità di sessione, che definisci anche tu, si applicano solo a una conversazione specifica. Ad esempio, potresti creare un'entità di sessione per rappresentare le opzioni sensibili al tempo disponibili per un determinato utente al momento della prenotazione.

Prerequisiti

Prima di procedere, devi completare i seguenti codelab:

  1. Creare un programma degli appuntamenti con Dialogflow
  2. Integrare un chatbot Dialogflow con Actions on Google

Devi anche comprendere i concetti e le strutture di base di Dialogflow, che puoi apprendere dai seguenti video disponibili nel percorso Crea un chatbot con Dialogflow:

Obiettivi didattici

  • Come creare e utilizzare le entità di sistema in Dialogflow
  • Come creare e utilizzare le entità sviluppatore in Dialogflow
  • Come testare l'agente

Cosa creerai

  • Una versione avanzata di un agente Dialogflow già creato
  • Entità di sviluppo in Dialogflow
  • Entità di sistema in Dialogflow

Che cosa ti serve

  • Un browser web e un indirizzo email per accedere alla console Dialogflow

2. Come attivare e utilizzare le entità di sistema in Dialogflow

  1. Vai alla console di Dialogflow.
  2. Seleziona l'agente AppointmentScheduler che hai creato in precedenza.

ecedc445a9578e3b.png

  1. Fai clic su Intenti.

37ee739b69fa1ae7.png

  1. Fai clic su Pianifica appuntamenti per aprire le impostazioni dell'intent.

Noterai frasi di addestramento come "Fissa un appuntamento per domani alle 16:00", in cui Data e Ora vengono estratte automaticamente come @sys.date e @sys.time. Se vuoi, puoi aggiungere altre frasi di addestramento per vedere come Dialogflow estrae automaticamente le entità di sistema.

7dcdad1372191f90.png

Come hai visto, le entità di sistema consentono agli agenti di estrarre informazioni su una vasta gamma di concetti senza alcuna configurazione aggiuntiva. Dati come indirizzo, email, valuta e numeri di telefono sono alcuni degli esempi comuni di entità di sistema. Per saperne di più, consulta Entità di sistema.

3. Come attivare e utilizzare le entità sviluppatore in Dialogflow

Creare entità di sviluppo

Finora hai trattato il tuo strumento di pianificazione degli appuntamenti in modo generico. Supponiamo ora che il tuo pianificatore sia per l'ufficio del dipartimento dei veicoli a motore di uno stato, che offre principalmente servizi di patenti di guida e immatricolazione. Crea queste entità.

  1. Fai clic su Entità.

4d8924f1d4edc0d1.png

  1. Fai clic su Crea entità.

b77e94e5e47adbc7.png

  1. Inserisci "AppointmentType" come Nome entità, poi aggiungi "Immatricolazione del veicolo" e "Patente di guida" come due valori di riferimento con alcuni sinonimi, come mostrato nell'immagine seguente. Fai clic su Salva.

51562b4327dbaf1.png

Puoi aggiungere altre righe con altri servizi come tipi di entità.

  1. Fai clic su Salva.

Modifica l'intent per adattarlo all'entità sviluppatore appena creata

  1. Fai clic su Intento.
  2. Inserisci "Set an appointment for drivers license for 3 PM tomorrow" (fissa un appuntamento per la patente di guida per domani alle 15:00) nell'intent di pianificazione dell'appuntamento.

Vedrai il riconoscimento automatico di patente di guida, alle 15:00 e domani come entità di sistema e sviluppatore.

5fb91b31806f06f.png

  1. Inserisci le seguenti frasi di addestramento:
  2. Appuntamento per il rinnovo della patente lunedì
  3. Fissa un appuntamento per lunedì alle 14:00 per la patente
  4. Appuntamento per l'immatricolazione del veicolo per lunedì

5addff06908c61f8.png

  1. Devi rendere AppointmentType un campo obbligatorio, come ora e data. Per farlo, vai ad Azioni e parametri, quindi seleziona la casella di controllo nella riga AppointmentType.

c43e72c5c1a43f5c.png

  1. Aggiungi una richiesta, ad esempio "Quali servizi stai cercando? Il DMV offre servizi di patente di guida e immatricolazione di veicoli". Se l'utente non fornisce un tipo di appuntamento, verrà utilizzato il prompt.
  2. Fai clic su Salva.

4. Testare il chatbot

Puoi testare il chatbot nel simulatore di azioni o utilizzare l'integrazione web o Google Home che hai appreso in precedenza.

Scenario di test 1

In questo caso, l'utente chiede solo di fissare un appuntamento senza le tre informazioni, quindi Dialogflow chiede la data, l'ora e il tipo di appuntamento utilizzando i prompt di compilazione degli slot che hai impostato.

  1. Utente: "Fissa un appuntamento".
  2. Chatbot: "In che data?"
  3. Utente: "23 maggio".
  4. Chatbot: "A che ora vorresti venire?"
  5. Utente: "10:00"
  6. Chatbot: "Quali servizi stai cercando? Il DMV offre servizi di patente di guida e immatricolazione di veicoli".
  7. Utente: "Licenza".
  8. Chatbot: "L'appuntamento per la registrazione del veicolo è stato fissato per il 23/05/2019 alle ore 10:00:00. A presto!"

Scenario di test 2

In questo caso, l'utente chiede di fissare un appuntamento con informazioni parziali, quindi Dialogflow chiede la data, l'ora e il tipo di appuntamento utilizzando i prompt di riempimento degli slot che hai impostato.

  1. Utente: "Ho bisogno di un appuntamento per domani alle 16:00."
  2. Chatbot: "Quali servizi stai cercando? Il DMV offre servizi di patente di guida e immatricolazione di veicoli".
  3. Utente: "Licenza".
  4. Chatbot: "Il tuo appuntamento per la patente di guida è stato fissato per il giorno 24/04/2019 alle ore 16:00. A presto!"

Scenario di test 3

In questo caso, l'utente fornisce tutte le informazioni. Dialogflow elabora le informazioni e fornisce una risposta con la conferma dell'appuntamento.

  1. Utente: "Fissa un appuntamento per l'immatricolazione del veicolo per domani alle 14:00."
  2. Chatbot: "Hai completato la procedura per l'appuntamento per la registrazione del veicolo il giorno 24/04/2019 alle ore 14:00:00. A presto!"

5. Esegui la pulizia

Se prevedi di completare altri codelab di Dialogflow, salta questa sezione per ora e torna a consultarla in un secondo momento.

Elimina l'agente Dialogflow

  • Fai clic su fe9c61cc27fb9f2e.png accanto all'agente esistente.

520c1c6bb9f46ea6.png

  • Nella scheda Generali, scorri fino in fondo e fai clic su Elimina questo agente.
  • Digita Elimina nella finestra di dialogo e fai clic su Elimina.

6. Complimenti

Hai creato un chatbot che gestisce input personalizzati con entità sviluppatore. Ora sei uno sviluppatore di chatbot.

Scopri di più

Per saperne di più, consulta le seguenti risorse: