Creare un'interfaccia utente vocale rappresenta un nuovo campo da esplorare per molti sviluppatori. Recentemente ho collaborato con Cathy Pearl, Head of Conversation Design Outreach di Google, per realizzare un'Action per la community.
Questi sono i punti chiave della nostra collaborazione.
Originariamente, quando ho presentato la mia Action per la versione Alpha, ho aggiunto Cathy come tester. Perché potesse accedere all'Action, ho dovuto inviarle tramite email il link dell'Action dalla directory Action (questa directory elenca tutte le Action disponibili su Assistente Google). Utilizzando questo link, ha accettato il ruolo di tester, e ciò equivaleva a dire che aveva accesso all'Action e poteva testarla su dispositivi diversi. Ci siamo poi resi conto che aveva bisogno di strumenti aggiuntivi per intervenire sulla sintesi vocale (TTS). Quindi l'ho aggiunta come editor al progetto.
2. Fine-tuning della sintesi vocale
Essendo un Conversation Designer, Cathy aveva bisogno di ascoltare e modificare le risposte per rendere migliore l'esperienza. Nella Console Actions è disponibile un'opzione di menu del simulatore che consente di testare le Action. Sulla destra, vediamo una scheda per ascoltare l'audio di cosa dice l'Action. Qui puoi modificare la sintassi grammaticale e le pause per ottenere un risultato più naturale. Ho anche mostrato a Cathy il riferimento SSML per darle ancora più controllo sull'output.
Abbiamo finito per apportare piccole modifiche al testo di risposta di benvenuto in modo che il discorso risultasse più naturale:
TEXT: "Bentornato! Posso parlarti dell'organizzazione, di quanti membri abbiamo o degli eventi. Cosa vorresti sapere?".
SPEECH: “<speak> Bentornato! Posso parlarti dell'organizzazione, di quanti membri abbiamo o degli eventi. <break time=’0.5' /> Cosa vorresti sapere. </speak>”
Qui di seguito è possibile ascoltare la differenza tra l'originale (senza SSML) e il testo aggiornato (con SSML).
Appunti di Cathy
È importante ascoltare i prompt e non solo leggerli, perché il TTS non suona sempre come pensiamo. Ascoltando i prompt ad alta voce, mi sono resa conto che avevamo bisogno di una breve pausa tra il messaggio introduttivo e la domanda finale. Inoltre, la domanda suonava meglio con il punto anziché con il punto interrogativo alla fine. Quando ascolti i messaggi, prova a chiudere gli occhi e a percepire pause, punteggiatura e testo.
3. Dichiarazioni No Match più informative
Questa particolare Action non è intesa per l'uso quotidiano, è pensata solitamente per un uso mensile. A causa della scarsa frequenza, Cathy ha suggerito di offrire qualche informazione in più sul primo prompt di fallback invece del reprompt rapido suggerito nella documentazione. Ha anche modificato il secondo prompt per includere una dichiarazione su come uscire dall'Action e ha aggiunto la parola "still (ancora)".
È una situazione simile a quando qualcuno che sa che hai già detto loro qualcosa, ma tu l'hai dimenticato, ad esempio "Scusa, che giorno hai detto di partire?", che è preferibile a "Quando parti?", perché non dà indicazioni del fatto di averne già parlato.
È importante che i prompt di fallback siano sensibili al contesto e non generici. Di seguito è riportato l'esempio di ciò che abbiamo deciso di usare:
FALLBACKPROMPT_1: "Scusa, non ho capito bene. Posso parlarti dell'organizzazione o di quando sarà il nostro prossimo evento".
FALLBACKPROMPT_2: "Scusa, non ho ancora capito bene. Posso parlarti dell'organizzazione o di quando sarà il nostro prossimo evento, o se hai finito, puoi dire 'Arrivederci'".
FALLBACKPROMPT_FINAL: "Mi dispiace, sto avendo delle difficoltà. Fermiamoci qui per ora. Arrivederci".
4. Chip di suggerimenti più intelligenti
Nel mio progetto ho utilizzato chip di suggerimento che sono stati selezionati casualmente da un array. L'ho fatto perché c'erano solo 6 opzioni. Cathy ha suggerito di modificarli in modo che mostrino solo le opzioni che l'utente non ha ancora selezionato. Ho classificato i chip di suggerimento e aggiunto un array all'oggetto della conversazione (ulteriori informazioni sul salvataggio dei dati). Ho anche aggiunto a ogni intento il comando di aggiornare l'array a ogni attivazione. Per questo motivo, i chip di suggerimento visualizzano solo le opzioni rimanenti.
5. Override delle chiusure di conversazione dell'Assistente
Cathy ha notato che quando tentava di uscire dall'Action usando termini come "esci" o "arrivederci", l'Action chiudeva la conversazione senza un saluto finale. Dopo alcune ricerche, ho capito che c'erano delle parole riservate che prendevano il controllo dell'Action e chiudevano automaticamente la conversazione. Per eseguire l'override di questa funzionalità, tutto ciò che dovevo fare era aggiungere l'evento actions_intent_CANCEL all'intento finale.
In questo tipo di azioni in cui non esiste necessariamente un chiaro punto finale, gli utenti spesso si sentono più a loro agio con una chiusura esplicita. Pertanto, è importante consentire loro di dire "Arrivederci" o "Ho finito" e offrire una risposta cortese prima di chiudere.
La lezione più importante appresa in questa situazione è che lavorare da soli non è l'ideale né per lo sviluppatore né per il progetto che sta realizzando. La maggior parte degli sviluppatori di Action non collabora regolarmente (o affatto) con un Conversational Designer. Speriamo però che tu possa collaborare con altre persone. Chiedi loro pareri e feedback. È persino meglio chiedere a qualcuno che non sia uno sviluppatore, perché penserà ad aspetti relativi al modo in cui si svolge la conversazione naturale. Se dovessi avere difficoltà a implementare qualsiasi suggerimento, rivolgiti ai gruppi della nostra community: g+ e stack overflow.
Se sei interessato a saperne di più sul design di Action, vai a vedere l'ultimo post di Cathy: Sample Dialogs: The Key to Creating Great Actions on Google. E naturalmente consulta le nostre linee guida sul Design conversazionale e la documentazione per sviluppatori. Hai già creato una bellissima Action? Sono curiosa di sapere cosa hai imparato da questo processo. Condividi i tuoi suggerimenti con noi su Twitter usando #AoGDevs!
Per 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.