The goal of the chatbot is to offer non-task oriented social conversation with users.
Nowadays there is a wide-spread task-oriented chatbots serving the needs like order and commands. However, a more quality conversation is expected to form more twists and turns, personalized recommendation and mutual learning from both side.
With this big idea in mind, I would like to design a social bot with some personalized functions to comfort users with skills learned throughout the course Programming for Online Prototyping.
Several social bots in the current market have offered me a lot of inspiration for my later design. For instance, a precedent project like Woebot is an artificially intelligent chatbot that uses CBT principles to treating depression.
There are 5 prominent features of Woebot that stand out to benefit clients and have shed light in my later design as well:
1. offer immediate emotional support;
2. practical self-monitoring tool for thoughts, emotions, and behaviors;
3. in-vivo practice (sth occurs in real life moment);
4. offer a forum where to discuss fears about social situations;
5. role modeling growth mindset.
Step 1: Planning and Conceptualization
With a general background research on the social bots, I first made a project proposal, stating the goal, work timeline and expected outcome. After that I tried to find out 3 examples of bot interactions I would like to emulate or inform my future chatbot design with written discovery posted in slack. After sharing in class, I created a priority matrix to list out all the features I would like to implement and developed an annotated workflow diagram that explains how the application I want to build would work.
Step 2: Technical Needs
After making out the design outline, I then researched into the potential APIs that might be useful in my project. I found out useful APIs such as MovieDb, Giphy, would help add live elements to my conversation design. When I was trying to experiment and adapt these APIs into my project, it was really challenging at first to get familiar with the syntax of different APIs and extract the right output.
Step 3: Experience Prototyping
Tools: alexa console, ruby language
Demo link: https://vimeo.com/415700645
Throughout the project I got more understanding towards conversation and conversational design. I didn’t even notice that our choices in human-computer conversation were not 100% based on our own decisions but rather heavily by the past searching outcomes. The current conversational engine failed to offer a space for users to look forward or question the generated recommendation.
“As a designer, I shall act always so as to increase the total number of choices for a user.” I think this quote is powerful in trying to improve conversation in a better direction. A good conversation should delight us, engage us, reach (dis)agreement and evolve something we on our own don’t expect to happen. At the same time I do feel a quandary in designing a quality conversation and developing it in Alexa console as well. Design principle is one thing, while development is another. The frequent bugs of API and also hardship to create bot-guided conversation are the two biggest challenge in my chatbot development.
For the next step, I hope to add more back and forth interactions for my comfort bot. Also the applicability of the current conversational design into a broader space would be another direction in the next iteration.
Is this a good/useful/informative piece of content to include in the project? Have your say!
You must login before you can post a comment. .