Melissa, il Bot per allenare la tua mente

Lo psicologo e psicoterapeuta Luca Bidogia di recente mi aveva chiesto di collaborare alla realizzazione di un chat-bot assistente per la pagina Facebook di “MeLab, allena la mente”.

Oggi dopo tanti sforzi nasce Melissa, il bot per allenare la tua mente.

Presentazione di Melissa

 

Step-1: Progettare la conversazione

Abbiamo iniziato scrivendo una sceneggiatura su un word editor,  immaginando  come la conversazione si sarebbe ramificata  nei diversi turni con l’utente e concentrandoci su quali azioni chiave dovesse compiere ad ogni nodo.  Infine abbiamo associato ad ogni nodo della conversazione  l’elemento grafico  di conversazione più opportuno.

Una delle primissime sceneggiature per il Bot

L’obiettivo di questa fase iniziale era quello di guidare la conversazione con l’utente impiegando suggerimenti contestuali, ad esempio ponendogli domande e indirizzandone le risposte attraverso gli elementi grafici dell’interfaccia (GUI) che gli sono familiari come le quick replies o il persistent menu.
Prestando particolare attenzione all’utilizzo di un linguaggio amichevole e inclusivo dando così una personalità al chat-bot e un tono personale alla conversazione.

Step-2: NLP/NLU Bot engines

Una delle cose più eccitanti legate all’aumento dei chat-bots è il loro impiego dell’intelligenza artificiale (AI), attraverso  tecniche di machine learning, ad esempio  per la classificazione degli intenti degli utenti (intents recognition). Eppure, chi si diverte a chattare con i bot conosce la frustrazione di quando esclama: “Questa cosa non capisce quello che dico!”.
Una volta ottenuta una sceneggiatura  quasi definitiva della conversazione abbiamo iniziato una seconda fase di esplorazione di servizi gratuiti o a pagamento per la comprensione del linguaggio natuale (NLU) come:

– Wit.Ai, (free)
Api.Ai, (free)
Init.Ai, (free)
Rasa NLU, (free)
Watson Conversation, (free + paid)
– Luis (Language Understanding Intelligent Service), (free + paid)

Da questa fase di sperimentazione è nato anche un primo articolo “Getting started: Creare un Bot Facebook con Python” sull’utilizzo del API Graph di Facebook. In futuro ce ne saranno anche molti altri.

Le aspettative degli utenti

Discutendo con Luca ero giunto alla conclusione che AI e NLP sono in grado di fare cose incredibili, ma spesso non soddisfavano le aspettative degli utenti e non era quello di cui avevamo bisogno.
Abbiamo quindi pensato di rivolgerci a piattaforme per la realizzazione di chatbot senza programmare per la rilasciare una prima versione di Melissa, in futuro valuteremo se implementare qualche servizio di NLP/NLU engine.
La collaborazione con Luca mi ha aiutato a comprendere che per rendere abbastanza “smart” il nostro Bot non sempre servono piattaforme di NLP/NLU engine, ma che bisogna progettare una conversazione che non provochi frustrazione nell’utente.
Lo sviluppo di un chatbot richiede un insieme di skills differenti da quelle di una app tradizionale,  in particolare quella del tutto nuova per un developer del saper scrivere (“Forget Coding: Writing Is Design’s “Unicorn Skill”, 2017). Infatti mi sono ritrovato spesso a dover comprendere “come fare cose con le parole in chat” .

Bibliografia
[1] Giorgio Graffi, Sergio Scalise, Le lingue e il linguaggio, Il Mulino, 2002
[2] C. Penco, Introduzione alla filosofia del linguaggio, Laterza, 2008
[3] Riccardo Falcinelli, Critica portatile al visual design, Einaudi, 2014
[4] Michael McTear, Zoraida Callejas, David Griol, The Conversational Interface: Talking to Smart Devices, Springer , 2016
[5] Cathy Pearl, Designing Voice User Interfaces: Principles of Conversational Experiences,O’Reilly Media, 2016

Sitografia
[1] Joe Toscano, Why a Chatbot was the Hardest Thing I’ve ever Designed, Medium, 2016
[2] Joe Toscano, Designing A Chatbot Conversation: How To Keep Users In The Loop , Medium, 2016
[3] Joe Toscano,The Ultimate Guide to Chatbots: Why they’re disrupting UX and best practices for building , Medium, 2016
[4] Joe Toscano, Emotional Design for Chatbots: How to make humans love your bot, Medium, 2016
[5] Joe Toscano,Signifiers and Affordances for Chatbots: How to hack the system , Medium, 2016
[6] Anna Lurchenko, Cheat Sheet: All Facebook Messenger Bots Interactions, Medium, 2016
[7] Jacqueline Feldman, The bot politic,The New Yorker, 2016
[8] John Pavlus, The next phase of UX: designing chatbot personalities, Fastcodesign, 2016
[9] Diane Kim, How x.ai designs personality through a conversational interface, Medium, 2016
[10] Étienne Mérineau , Writers are the new designers, Medium, 2016
[11] Fiona Campbell-Howes, Chat bots: the next big opportunity for copywriters?, Radix Communications, 2016
[12] Mark Sinclair, Bot chat – how writers are helping machines to talk , Creative Review, 2016
[13] John Saito, Why your design team should hire a writer, Medium, 2016
[14] Matthieu Varagnat, Conversational interfaces , beyond the hype , Chatbots Magazine, 2016
[15] Giulia Mantuano, The 4 key eements of conversation , Codurance, 2017
[16] Dave Feldman, Product Design for Bots: Tips and Best Practices from the Messenger Team , Messenger, 2017
[17] Katharine Schwab, Forget Coding: Writing Is Design’s “Unicorn Skill, Fastcodedesign, 2017