In late summer 2017 we developed Air Charter Amy. A first-effort chatbot that helped us understand conversation flow and the user experience. Voice bots are the future and we have since moved on to an an Alexa-capable Air Charter Amy, which you can find on PlaneViz and the Alexa Skills store as of April 2019.
Rules-based bots like Amy continue have a role in the chatbot landscape. If you are considering one you may find our experience building Amy to be informative and helpful.
Amy is a Facebook Messenger chatbot. She guides users new to jet charter through predefined conversation flows that cover topics a first-time charter customer would likely be interested in. Amy can also gather information needed to initiate a jet charter price quote.
Air Charter Amy is Conceived
Amy congealed out of the dust of a head on collision between AI and a dashboard analytics application we were working on. You can read about that in Jumping the Curve. Basically, AI is the future and analytics dashboards…not so much.
I estimate that within five years consumers will bypass websites and interface mostly with conversation via Siri, Alexa, and company. But for now, websites remain an essential connection point between brands and customers.
Rules-based chatbots can be taught but they cannot learn.
A.I. vs. Rules-based chatbots
There are three types of chatbot
- Rules-based, like Amy.
- Trainable chatbots that can be taught and can learn on their own.
- Autonomous bots that teach themselves with deep learning techniques.
AI-powered bots (2 & 3) require sufficient data from which they can learn. A rules based chatbot doesn’t require data because the bot guides the conversation and the likely questions it will face are built right into it.
Rules-based chatbots can be taught but they cannot learn. That’s not to say rules-based chatbots are inferior, just that they have a different use case. One benefit of a rules-based chatbot is that the user is never left wondering what to do next; the bot offers a suggested course of action.
Amy is built on a conversation flow. For a chatbot, conversation is any kind of dialog that takes place between chatbot and user including tapping a button in response to the bot.
Making a Chatbot
In the beginning I used a spreadsheet to plan the chatbot conversation flow. Mercifully, a contact told me about botsociety.io, a visualization tool that enables bot creators to easily build a working mock-up without coding. It really expedited development.
The top benefit of a working mock-up tool is that it turns abstract conversation flows into a real UX/UI. Designers and developers can then experience the chatbot just as the end-user will.
Using Botsociety saved a lot of development time since I was able to work out most design and conversation issues before we started making the prototype. It might not be obvious but even a simple Facebook Messenger bot has design considerations.
Language style is one of them.
Smartphone messaging between people is the epitome of informal language. Cueing off that, I kept Amy’s language style friendly, informal, and concise. I probably spent more time on trimming the conversation than on anything else.
Amy is rules based but needs to understand what’s being asked to provide the correct response. That’s natural language processing (NLP). For this proof of concept we limited NLP to the FAQ section and a few hidden responses to random questions like “who made you?”
This is a good point to illustrate the difference between a rules-based chatbot and an AI-powered chatbot (#2 above) as both use NLP to understand what is being asked.
In general, NLP receives your question, derives the probable meaning of it, and returns a relevant answer. A rules-based chatbot then looks up the relevant response. If there is no predefined, synonymous expression then you can get frustrating outcomes. “What about pets?” is a predefined question that triggers a corresponding, predefined answer; the same user intent “Can I bring a dog?” is not understood.
An AI-powered chatbot, e.g., IBM Watson Conversation, is smart enough to make the association between pet and dog and will answer the question appropriately.
Build quickly. Iterate or abandon.
For this prototype I choose Chatfuel for the development platform after discussion with my developer after discussing Watson, API.ai and some other platforms.
Moving from Botsociety to Chatfuel was a snap; it took just a few hours to have a functioning prototype.
I chose Facebook messenger to be the UI for this version. Connecting Chatfuel to Facebook is one-click-easy and Messenger is widely used. Our goal was to create a working chatbot and gain the knowledge of what goes into creating one. That people who charter private jets might not use Facebook Messenger wasn’t as important for this exercise.
When implementing a chatbot you will want to have some mechanism for recording user/bot dialog. A Facebook business page can be configured to capture all conversations between Messenger and its users. The conversation will appear in the Page inbox, which makes it possible to observe how each person is interacting with Amy.
In many cases it’s important to have a conversation exit strategy to a real person as the bot might not understand something or the user might want to engage with a person.
For our human hand-off we use a Chatfuel feature that suspends chatting with Amy and offers the user the option to send a message to the Air Charter Amy Facebook page inbox. From that point a human can chat with the user, if available, or respond as soon as possible.
On Chatfuel, the fluidity if this handoff is constrained by the platform. Understanding what to do here has been Amy’s biggest sticking point with early users.
If you choose to deploy your chatbot on platform that permits custom coding then you can create a hand-off that is smoother and suits your workflow. That’s the trade-off between the ease of a platform like Chatfuel and one more involved like IBM Watson Conversation.
[Edit: This version of Amy was retired in 2018]. Facebook Messenger users can try Air Charter Amy in Messenger by searching for Aircharteramy in the Messenger app. Please type “test” in the additional notes dialog if you follow the Get a Quote conversation path so I can distinguish between test quotes and real ones.
For now we’re only validating email address and telephone number since Amy sends quote request information to a person for further action.
More extensive validation is required for tasks like hotel reservations and other cases where the chatbot will connect to 3rd-party databases. Chatbot data validation is more challenging than website data validation due to its conversational nature…a topic worthy of its own article.
Amy was a get-our-feet-wet prototype that helped us understand conversation flow and the user experience. We believe voice bots are the future. You can see the possibilities in AI Will Change the Customer Experience: A Look 5 Years Forward.