Elementi essenziali del design conversazionale: suggerimenti per la creazione di un chatbot
Pubblicato: 2022-03-10Le interazioni umane sono incredibilmente affascinanti se le guardi da vicino: l'imbarazzo sociale, gli stili di comunicazione, il modo in cui la conoscenza viene trasferita, il modo in cui vengono raccontate le storie e si costruisce la fiducia.
Ma cosa succede quando una macchina evoca la stessa risposta?
Le interfacce di conversazione sono diventate la nuova novità nel design UX. Google sta per rilasciare un nuovo chatbot assistente virtuale; Facebook ha già lanciato la piattaforma Messenger aggiornata con i chatbot; e Microsoft è arrivata al punto di affermare che il sistema operativo del futuro non è Windows, ma "la conversazione come piattaforma".
Ulteriori letture su SmashingMag:
- Interfacce di conversazione: dove siamo oggi? Dove stiamo andando?
- La conversazione fa male o aiuta l'esperienza utente di Chatbot?
- Come sviluppare un chatbot con Node.js
Quello che tutti i grandi attori del settore hanno già capito è che i progressi dell'intelligenza artificiale (AI) possono risolvere un problema di UX molto importante: rendere i siti Web e le app con marchio senza volto davvero personali.
I chatbot possono creare un'esperienza più genuina e personalizzata, paragonabile all'esperienza in un negozio: ottieni un sorriso dal venditore, qualche chiacchierata e una strizzatina d'occhio amichevole, il che rende l'intera esperienza di acquisto più personale e piacevole . Per i marchi, questo rappresenta un'opportunità per estendere e gestire le relazioni con i propri clienti e per andare oltre l'essere "solo un prodotto".
Tuttavia, la creazione di un chatbot davvero utile e attraente è ancora una sfida dal punto di vista dell'esperienza utente. Sebbene ora disponiamo di un brillante apprendimento automatico, che fa avanzare le tecnologie di intelligenza artificiale e di elaborazione del linguaggio naturale (NLP), siamo ancora alquanto limitati nel tipo di supporto che possiamo creare e dobbiamo forzare il massimo da ciò che abbiamo. Matt Schlicht, fondatore di Chatbots Magazine, ha creato una guida molto completa che riassume lo stato attuale dell'ecosistema chatbot e le opportunità per i designer.
Di recente, ho lavorato al progetto chatbot per Alty, un bot di messaggistica di Facebook per chiacchierare con potenziali clienti, presentarli all'azienda e ai servizi offerti e inviare richieste di posta elettronica.
L'esperienza è stata relativamente nuova e stimolante. A differenza dell'interfaccia utente grafica (GUI) standard, l'app doveva funzionare senza problemi con il minimo input dell'utente, fornire nuovo valore sfruttando le informazioni archiviate e anticipare le esigenze degli utenti. I modelli e i flussi standard non funzionano davvero nella progettazione conversazionale, oppure necessitano di un riadattamento significativo. Check Bot UI Kit for Messenger, per gentile concessione di Mockuuups e Botframe, un semplice strumento di prototipazione per emulare conversazioni sviluppato da Alsadir Monk per avere un'idea migliore dei flussi comuni su questa piattaforma.
1. Scegli un toolkit
Come già affermato, la prima sfida che probabilmente incontrerai è che hai poco controllo sull'aspetto dell'applicazione. Non devi preoccuparti troppo della tipografia, dei layout o dello stile. Se stai costruendo un chatbot con controllo vocale, non avrà nemmeno un lato visivo! Quindi, abbandona la maggior parte degli strumenti standard e potenzia il tuo kit di strumenti con nuovi utili.
Per il nostro progetto, abbiamo optato per lo strumento più semplice: Chatfuel, un generatore di bot gratuito e intuitivo per Facebook Manager con un'interfaccia drag-and-drop e quasi nessuna codifica richiesta.
Tuttavia, se prevedi di creare un bot più avanzato, vale la pena esaminare i seguenti strumenti:
- Twine Questo editor di testo non lineare crea script di testo e sequenze di messaggi per i tuoi dialoghi.
- Wit Questo strumento indispensabile ti aiuterà a convertire i comandi vocali e di testo in azioni. La community ha creato dozzine di comandi utili e puoi aggiungerne di personalizzati.
- Botkit Howdy's Botkit offre un pratico set di comandi e codice pronto per creare il tuo primo chatbot Slack.
- Api.ai Recentemente acquisita da Google, questa piattaforma robusta e completa ti aiuterà a costruire qualsiasi tipo di interfaccia UX conversazionale.
- Botwiki Questo wiki risponde a tutte le domande comuni sui chatbot.
Pochi dei controlli o degli stili standard che utilizziamo nelle app standard si applicano alla progettazione conversazionale.
2. Suggerimento per l'utente su come iniziare
Il design conversazionale cambia completamente il modo in cui gli utenti interagiscono con un'app. In genere, quando un utente apre una nuova app iOS, vedrà alcuni elementi familiari, come un menu, un pannello per accedere o creare un account, pulsanti e così via: gli elementi con cui sanno già interagire in base a schemi.
Tuttavia, il primo incontro con un chatbot è meno convenzionale. L'utente fisserà uno schermo vuoto, perso in supposizioni su cosa fare dopo o su come interagire con l'app. Affrontano due semplici problemi:
- "Non ho idea di cosa dovrei fare."
- "Cosa può fare esattamente questa cosa per me?"
I chatbot non sembrano ancora intuitivi per la maggior parte degli utenti. Quindi, il tuo primo compito è chiedere all'utente cosa sta per accadere dopo. Inizia con una rapida introduzione e un semplice invito all'azione, ad esempio:
Mantienilo breve e semplice. Invita gli utenti a provare un rapido vantaggio della tua app e a goderti immediatamente il risultato.
Nel caso del bot di Alty, abbiamo deciso di includere i pulsanti nella conversazione per alcuni motivi chiave:
- Digitare in movimento potrebbe essere complicato per alcuni utenti e i chatbot non sono sempre abbastanza intelligenti da rilevare errori di battitura (anche se ne parleremo più avanti).
- I pulsanti possono suggerire agli utenti a quale tipo di domande può rispondere il bot e quali azioni può eseguire.
3. Crea il giusto flusso di conversazione
Vuoi che il tuo robot sembri un mago, piuttosto che un ostacolo, giusto?
Una delle parti più impegnative della progettazione di un chatbot è rendere la conversazione il più naturale ed efficiente possibile. Tuttavia, l'interazione umana è in genere disordinata e non lineare. Ecco alcuni suggerimenti per ottimizzare le prestazioni dell'app.
Insegna al tuo bot a distinguere tra diversi tipi di domande
Crea l'ambito iniziale delle domande che il tuo bot sarà in grado di elaborare e rispondere in modo efficiente. Puoi usare un'ottima libreria chiamata qTypes, che ha oltre 40 sottoclassificazioni per come rispondere alle domande. qType indica il tipo di risposta che l'utente si aspetta e qSubType indica il formato della domanda:
- CH . Con la domanda di scelta alternativa, al robot viene chiesto di scegliere tra due alternative (ad esempio, "Questa maglietta è rossa o verde?").
- WH . Queste sono domande che iniziano con chi, cosa, quando, dove o perché.
- YN . Queste sono domande sì o no (ad esempio, "Hai un cane?").
- TG . Una domanda tag non è una domanda reale, ma piuttosto un'opzione per mantenere la conversazione fluida (ad esempio, "Questa spiaggia è adorabile, vero?").
Quando il tuo bot riceve una delle domande standard, può produrre risposte più accurate in base ai dati della libreria:
Evita di fare domande retoriche, perché la maggior parte degli utenti tende a rispondere comunque, anche se il chatbot è solo educato.
Ora che il tuo bot è in grado di comprendere le domande, la prossima sfida è insegnare all'app a restituire i comandi appropriati in cambio.
Convalida i dati di input in modo più efficace
Una GUI standard consente di perfezionare facilmente i dati inseriti durante l'elaborazione. Questo indirizzo email è valido? Questo nome utente è disponibile? Questo numero di telefono è valido? Puoi facilmente limitare e perfezionare i dati inseriti prima di elaborarli.
Tuttavia, nel design conversazionale, le cose si complicano un po'. L'utente è libero di dire o digitare quello che vuole; quindi, devi essere intelligente quando costruisci le tue domande ed elabora le risposte.
Offrire suggerimenti . Evita le domande a risposta aperta quando possibile perché di solito creano più confusione. Invece, chiedi il tipo di risposta che ti aspetti. Per esempio:
Che tipo di case study vorresti vedere? Ne abbiamo di app per viaggi, social networking, design e finanza personale.
Oppure potresti presentare le informazioni in base al formato della piattaforma su cui stai costruendo, ad esempio elenchi nel caso di Facebook Messenger:
Inoltre, conferma . Se la risposta è valida, ripetila per assicurarti che tutto sia corretto, quindi passa alla domanda successiva:
Fatto. App di viaggio. E che budget hai in mente?
O suggerire cosa è andato storto . Se i dati inseriti non sono validi, spiega di nuovo di che tipo di risposta hai bisogno. Idealmente, distingui tra risposte che non capisci e risposte che vanno bene ma che non puoi accettare:
Non dimenticare che gli utenti stanno parlando con la tua app. Possono usare parole diverse per descrivere la stessa cosa, ad esempio "gio", "giovedì", "domani" o una parola con un errore di battitura. Puoi chiedere loro di confermare la loro immissione o concentrarti sulla creazione di sequenze di messaggi più avanzate per il tuo chatbot.
Puoi perfezionare i dati immessi eseguendoli tramite Normalizer, una libreria che converte l'ortografia britannica e canadese in inglese americano, spiega le abbreviazioni comuni e corregge oltre 4.000 parole errate.
Attendi input critici. In alcuni casi, sarà necessario che l'utente inserisca alcune informazioni essenziali senza le quali non è possibile procedere. Nelle GUI standard, il problema viene solitamente risolto con una finestra modale popup che blocca l'accesso a tutto fino a quando l'utente non completa l'attività: "Hai convalidato il tuo indirizzo e-mail?", con la finestra che richiede "Sì" o "No".
Tuttavia, nella progettazione conversazionale, dovresti affrontare questo problema in un modo leggermente diverso. Questo tipo di loop può diventare piuttosto fastidioso con un robot, quindi assicurati di spiegare l'azione esatta di cui hai bisogno e perché ne hai bisogno in modo così critico. Prepara alcuni frammenti di conversazione per questo scopo per evitare che il chatbot diventi ripetitivo:
In generale, pensaci due volte se determinate informazioni sono critiche per procedere. Quando possibile, fai un'ipotesi plausibile o chiedi di nuovo le stesse informazioni in un passaggio successivo.
Un'altra opzione consiste nell'utilizzare pulsanti e testi pre-suggeriti che gli utenti possono scegliere sia quando fanno domande che fornendo le risposte. I pulsanti dovrebbero migliorare la qualità complessiva degli input degli utenti, tuttavia possono ridurre leggermente il fattore di coinvolgimento. Quindi è meglio usarli solo quando hai bisogno di ricevere i dati essenziali per procedere.
Con l'avanzare della tecnologia di intelligenza artificiale, potrebbe diventare più facile addestrare i bot a fornire determinate risposte e insegnare loro a indovinare l'intenzione dell'utente in base alle interazioni precedenti archiviate nel database. Eppure la maggior parte dei chatbot oggi non ha cervelli di intelligenza artificiale per rispondere agli utenti; quindi, per una migliore UX, dovrai affrontare questo lavoro da solo.
4. Concentrati sulla microcopia
Il designer dovrebbe pensare come un copywriter quando sviluppa un chatbot. Il contenuto e la finestra di dialogo definiranno lo stile del tuo prodotto. Le migliori app sono solitamente quelle che presentano un modo di parlare divertente e colloquiale. Quindi, concentrati su quanto segue:
- Segui lo stesso flusso utente che faresti se stessi effettivamente parlando con una persona.
- Il bot non dovrebbe suonare troppo intelligente, usando complicate strutture grammaticali o linguistiche. Sii semplice e sii conciso.
- Non usare pronomi specifici per genere, perché non sai mai chi c'è dall'altra parte della conversazione.
- Prepara una serie di risposte predefinite leggermente diverse per rendere la conversazione più umana.
- Aggiungi messaggi di aiuto e suggerimenti per quando l'utente si sente perso.
- Scrivi risposte spiritose per argomenti non supportati, in modo che il bot non sembri stupido.
5. Rivela le caratteristiche gradualmente
Le GUI standard di solito mostrano tutte le funzionalità disponibili sullo schermo contemporaneamente. L'utente può passare il mouse sopra le icone, fare clic sui pulsanti e accedere al menu per vedere cosa è in grado di fare l'app.
L'interazione con un chatbot, tuttavia, può sembrare che l'utente stia parlando nel vuoto. Quindi, suggerisci ogni passaggio successivo ed evidenzia gradualmente le caratteristiche sconosciute. Esploriamo cosa significa.
Dopo aver ricevuto il comando iniziale dall'utente, spiega cosa sta per accadere e cosa farà il robot per completare l'attività. Suggerisci i prossimi passi possibili e/o collega alla pagina delle FAQ o al manuale utente.
Sblocca funzionalità aggiuntive dopo la prima interazione riuscita. Disattiva la "modalità allenamento" e inizia a suggerire funzionalità aggiuntive e suggerimenti più avanzati. Basa queste funzionalità e suggerimenti sulla cronologia dell'utente e sui dati inseriti in precedenza.
Invita l'utente su nuove cose da fare. Ad esempio, suggerisci in modo proattivo alcune altre interessanti funzionalità del tuo robot:
Ehi, hai una festa in arrivo! Vuoi che ordini 5 pizze grandi?
L'agilità di conversazione è, ad esempio, uno dei principali punti di forza del bot Taco. L'azienda ha utilizzato Wit.ai per alimentare diversi scenari di conversazione e persino per fare battute. La tecnologia di elaborazione del linguaggio naturale della piattaforma, ora utilizzata anche per alimentare l'assistente virtuale M di Facebook, consente al bot di eseguire il rendering di stili di ordinazione diversi. Ad esempio, "Posso avere un burrito?", "Buritto, per favore" e persino rispondere in modo esilarante alla richiesta "Sono ubriaco", che fa scattare il "Ok. Un bicchiere d'acqua aggiunto al tuo ordine” risponde. Inoltre, gli utenti possono digitare un commento di una riga come "sans cheese" e il bot capirà che le informazioni si riferiscono al burrito precedentemente ordinato.
Tuttavia, se il chatbot avvia la conversazione, assicurati che dia suggerimenti pertinenti perché non vuoi apparire come uno spammer odioso, giusto?
Chatbot e riconoscimento vocale
I comandi vocali stanno diventando una cosa con Siri e Google Now, ma lo sviluppo di tali robot richiede ovviamente risorse umane e materiali. Anche le reti neurali più potenti responsabili del riconoscimento vocale sono piuttosto difficili da addestrare al momento. La sfida più comune è che, mentre i piccoli errori sono abbastanza semplici da eliminare, quelli più grandi e ricorrenti possono diventare ancora più grandi a causa della moltiplicazione, come sottolinea Andrew Gibiansky.
Ad esempio, se un utente con un accento pronuncia Apple come Eupple , la rete potrebbe ricordare il comando in questo modo. Gli omofoni sono un'altra grande sfida per il riconoscimento vocale; parole come "fiore" e "farina" suonano identiche e capire il giusto contesto potrebbe essere difficile.
Quindi, se il tuo obiettivo è costruire un semplice chatbot, optare per i comandi vocali potrebbe non essere la soluzione migliore al momento, a meno che tu non sia pronto a investire molto nell'architettura e nello stack tecnologico avanzato di apprendimento automatico.
Note finali
Sebbene i chatbot possano essere un ottimo strumento per creare un'esperienza cliente più personalizzata, il design conversazionale presenta ancora alcune limitazioni. Come ha sottolineato Mariya Yao, ci sono casi evidenti in cui una conversazione può aiutare o danneggiare l'UX.
Prima di creare un chatbot per la tua attività, dovresti definire chiaramente il suo scopo e il valore esatto che potrebbe apportare all'utente. Insegna al bot a fare una cosa estremamente buona, come fornire previsioni meteorologiche o introdurre l'ambito del servizio dell'azienda prima di sperimentare ulteriormente con funzionalità più avanzate. Questa è la lezione chiave che abbiamo imparato durante lo sviluppo del bot di aprile in base al feedback degli utenti.