Progettare la navigazione del bot
SI APPLICA A: SDK v4
Gli utenti possono navigare nei siti Web tramite percorsi di navigazione, nelle app tramite menu e nei Web browser con pulsanti come Avanti e Indietro. Nessuna di queste tecniche di navigazione consolidate risponde tuttavia interamente alle esigenze di navigazione all'interno di un bot. Come illustrato in Progettare e controllare il flusso di conversazione, gli utenti spesso interagiscono con i bot in modo non lineare, rendendo difficile progettare lo spostamento dei bot che offre in modo coerente un'esperienza utente ottimale.
Si considerino i dilemmi seguenti:
- Come si garantisce che un utente non si perda in una conversazione con un bot?
- Un utente può tornare "indietro" in una conversazione con un bot?
- Come si accede al "menu principale" durante una conversazione con un bot?
- Come si "annulla" un'operazione durante una conversazione con un bot?
Le specifiche della progettazione di navigazione del bot dipendono in gran parte dalle funzionalità e dalle funzionalità supportate dal bot. Indipendentemente dal tipo di bot che si sta sviluppando, è opportuno evitare le insidie comuni delle interfacce di conversazione non progettate correttamente. Questo articolo descrive queste insidie in termini di cinque personalità: "bot testardo", "bot inetto", "bot misterioso", "bot dell'ovvio" e "bot che non sa dimenticare".
Suggerimento
La mitigazione di ognuna di queste personalità per il proprio bot è spesso possibile gestendo correttamente le interruzioni degli utenti.
Il "bot testardo"
Il bot testardo insiste nel mantenere il corso corrente della conversazione anche quando l'utente tenta di prendere una direzione diversa.
Prendi in considerazione lo scenario seguente:
Gli utenti spesso cambiano idea, decidono di annullare o talvolta vogliono semplicemente ricominciare da capo.
Suggerimento
Cosa fare: progettare il bot in modo che prenda in considerazione la possibilità che un utente voglia modificare il corso della conversazione in un momento qualsiasi.
Cosa non fare: progettare il bot in modo che ignori l'input dell'utente e continui a ripetere la stessa domanda in un loop infinito.
Un modo per impedire a un bot di porre la stessa domanda senza fine è specificare un numero massimo di tentativi per ogni domanda. Se progettato in questo modo, il bot non esegue alcuna operazione intelligente per comprendere l'input dell'utente, ma evita di porre la stessa domanda in un ciclo infinito.
Il "bot inetto"
Il bot inetto risponde in modo insensato quando non comprende il tentativo dell'utente di accedere a determinate funzionalità. Un utente può provare a usare comandi con parole chiave comuni, ad esempio "aiuto" o "annulla", aspettandosi ragionevolmente che il bot risponda in modo appropriato.
Prendi in considerazione lo scenario seguente:
Anche se si potrebbe essere tentati di progettare ogni dialogo all'interno del bot per restare in ascolto e rispondere in modo appropriato a determinate parole chiave, questo approccio non è consigliato.
Suggerimento
Operazione: implementare il middleware che esaminerà l'input dell'utente per le parole chiave specificate (ad esempio: "help", "cancel", "start over" e così via) e rispondere in modo appropriato.
Cosa non fare: progettare ogni finestra di dialogo per esaminare l'input dell'utente e individuare un elenco di parole chiave.
Definendo la logica nel middleware, è possibile renderla accessibile a ogni scambio con l'utente. È quindi possibile creare singoli dialoghi e richieste per ignorare in modo sicuro le parole chiave, se necessario.
Il "bot misterioso"
Il bot misterioso non riesce a riconoscere immediatamente l'input dell'utente in alcun modo.
Prendi in considerazione lo scenario seguente:
In alcuni casi, questa situazione potrebbe essere un'indicazione che il bot ha un'interruzione. Tuttavia, potrebbe essere solo che il bot sta elaborando l'input dell'utente e non ha ancora completato la compilazione della risposta.
Suggerimento
Cosa fare: progettare il bot per riconoscere immediatamente l'input dell'utente, anche nei casi in cui la compilazione della risposta può richiedere del tempo.
Cosa non fare: progettare il bot per posticipare il riconoscimento dell'input dell'utente fino a quando il bot non termina la compilazione della risposta.
Riconoscendo immediatamente l'input dell'utente, si elimina qualsiasi possibile confusione sullo stato del bot. Se la risposta richiede molto tempo per la compilazione, prendere in considerazione l'invio di un messaggio di "digitazione" per indicare il funzionamento del bot e quindi seguire un messaggio proattivo.
Il "bot dell'ovvio"
Il bot capitano ovvio fornisce informazioni non richieste completamente ovvie e quindi inutili per l'utente.
Prendi in considerazione lo scenario seguente:
Suggerimento
Cosa fare: progettare il bot per fornire informazioni utili all'utente.
Non: progettare il bot per fornire informazioni non richieste che potrebbero risultare utili per l'utente.
Progettando il bot per fornire informazioni utili, aumentano le probabilità che l'utente interagisca con il bot.
Il "bot che non sa dimenticare"
Il bot che non sa dimenticare integra in modo inappropriato informazioni di conversazioni passate nella conversazione corrente.
Prendi in considerazione lo scenario seguente:
Suggerimento
Cosa fare: progettare il bot per mantenere l'argomento corrente della conversazione, fino a quando l'utente non esprime il desiderio di tornare a un argomento precedente.
Non: progettare il bot per inserire informazioni dalle conversazioni precedenti quando non è rilevante per la conversazione corrente.
Mantenendo l'argomento corrente della conversazione, si riduce il potenziale di confusione e frustrazione e si aumentano le probabilità che l'utente continuerà a interagire con il bot.
Passaggi successivi
Progettando il bot per evitare queste insidie comuni delle interfacce di conversazione non progettate correttamente, si compie un passo importante nel garantire un'ottima esperienza all'utente.
Vedere altre informazioni sugli elementi dell'esperienza utente sui quali si basano generalmente i bot per scambiare informazioni con gli utenti.