Dialogflow è dotato di un'ottima funzionalità, chiamata Cronologia, che fornisce una visualizzazione di alto livello delle conversazioni tra gli utenti e la tua Action. Una volta implementata l'Action, questa pagina è uno strumento fondamentale per analizzare come gli utenti interagiscono con l'Action e se sia necessario migliorare il design della conversazione.
Di recente abbiamo lanciato le Action di esempio, che consentono di creare agenti Dialogflow funzionanti con pochi clic. Questi agenti implementano le nostre best practice per Actions on Google. Per garantire che questi esempi siano conformi ai nostri requisiti di revisione, abbiamo creato delle istanze per ciascuna delle Action di esempio e le abbiamo sottoposte a un processo di revisione da parte del pubblico.
Abbiamo studiato le pagine della cronologia per ognuna delle Action implementate e abbiamo ottenuto alcuni risultati interessanti. Ecco la pagina della cronologia dell'Action di esempio sull'utilizzo dello stato della sessione (questa Action è un videogioco d'avventura interattivo molto semplice).
La pagina della cronologia mostra che l'Action viene attivata in diversi modi:
Alcune righe nella pagina includono delle icone di avviso:
Per gli intenti non corrispondenti, abbiamo scoperto alcuni casi interessanti. Ecco l'esempio di un input inaspettato da parte dell'utente.
Poiché nessuno degli intenti corrisponde all'input dell'utente "read my mind", l'intento di fallback predefinito è stato richiamato. L'Action di esempio implementa le best practice con una strategia di ripristino degli errori per riportare la conversazione nella giusta direzione o uscire dall'Action se l'interazione dell'utente continua nella direzione sbagliata.
Questo input dell'utente senza corrispondenza potrebbe indicare la necessità di migliorare il design aggiungendo più frasi di addestramento, più valori di entità o addirittura nuovi intenti per gestire l'input dell'utente.
Altri esempi interessanti riguardano i vari modi in cui l'utente può selezionare le diverse opzioni. In questo gioco, all'utente viene richiesto di selezionare una delle due porte in ogni stanza. Abbiamo notato che gli utenti possono rispondere con il nome completo della porta, come "porta verde", parzialmente con "verde" o aggiungendo altre parole, come "ovviamente la porta blu".
L'entità di queste opzioni è stata progettata per gestire corrispondenze parziali.
Abbiamo anche molte frasi di addestramento dell'intento per far fronte ai vari modi in cui l'utente potrebbe selezionare un'opzione.
Altri modi interessanti in cui gli utenti selezionano le opzioni sono in base alla posizione, come ad esempio "la prima", "la seconda porta" o "la porta numero 1". Poiché queste risposte non contengono l'entità del nome della porta, l'intento per le opzioni corrispondenti non viene attivato. Quindi servono nuovi intenti addestrati con frasi che corrispondano ai vari modi in cui l'utente può indicare la posizione.
Abbiamo riscontrato lo stesso problema durante il test del nostro modello di design iniziale per i giochi a quiz. Per questo tipo di giochi, abbiamo aggiunto diversi intenti, con frasi di addestramento come le seguenti:
Ecco un'altra conversazione interessante.
L'Action di esempio ha l'intento di gestire la richiesta dell'utente di tornare indietro nel gioco.
Tuttavia, sembra che sia necessario aggiungere un'altra frase di addestramento per gestire l'input dell'utente "go return" con questo intento. La risposta di fallback predefinita chiede all'utente di chiarire la richiesta. In base alla cronologia, possiamo vedere che l'utente ha riformulato la richiesta con "Voglio tornare indietro", che il nostro intento ha gestito correttamente. In questo caso, la strategia di recupero degli errori ha funzionato.
Abbiamo parlato brevemente dei risultati interessanti ottenuti dalla nostra Action e di come migliorarne il design. Consigliamo dunque di eseguire regolarmente il mining della pagina della cronologia per ottenere feedback preziosi e adattare il design per ridurre il numero di intenti non corrispondenti. Vai a vedere la funzione di addestramento che fornisce una GUI per aggiungere facilmente gli input senza corrispondenza dell'utente agli intenti esistenti.
Un buon punto di partenza è utilizzare un'Action di esempio, che puoi quindi estendere e personalizzare in base al tuo caso d'uso specifico. Ciò ti consente di iniziare con un'Action ben progettata che segue molte delle nostre best practice.
Ulteriori informazioni: vai alla community Actions on Google per confrontarti con altri sviluppatori. Partecipa al programma della community degli sviluppatori Actions on Google per ricevere 200 $ in credito mensile con Google Cloud e una t-shirt dell'Assistente dopo aver pubblicato la tua prima app.