I joined 42Chat four months ago as an AI Interaction Designer and have learned an immense amount about what it takes to build a successful chatbot from the conversation side. My team has built chatbots for an interesting range of events including trade shows, charity auctions, car test drive events, and corporate meetings, as well as some non-events. I’ve learned a lot about what makes a bot conversation successful and what doesn’t. However, being a former software developer, I was curious about the differences between developing for chatbots as opposed to applications. So, I asked our development team what they had learned in the last year and this is what they had to say.
The Hard Part
I was ready for them to get right down to the ins and outs of our backend systems so I was that surprised when they told me the number one thing they had learned was the technology wasn’t the hard part. The real hard part was the conversation! To that end, a lot of the code our team writes focuses on improving the user’s experience.
One way they’ve done this is to provide a custom initial greeting based on what we know about the user. Our code takes into account what channel—text messaging, social media, a website—they are using to interact with our chatbot and how the user started the conversation. This part of our backend system enables us to deliver a personalized experience for the user.
Another way our developers have helped to deliver a better conversation is by customizing the pace of delivery so the user has time to absorb it. We do this by breaking up the conversation into readable bubbles and timing the way each message is delivered.
Integrations are Key
Conversation design is definitely important and regardless of what platform you use to write your bot conversations, it’s still only one piece of delivering a robust chatbot. There is an overwhelming number of systems out there. Figuring out which ones to integrate into our UX design is as important as designing the conversation itself. So this is where our developers focused most of their time and effort.
First, they need to figure out what integrations made sense; then they need to make sure those integrations help our bots become smarter. By choosing the right integrations, we are able to deliver a richer, more personalized experience for our users.
We integrate with systems that give us data specific to the user which enables us to deliver a more personalized conversation. We are also able to enrich the user experience by integrating with systems such as Google Maps to provide driving directions. Perhaps the most important way we’ve improved the conversation was by recognizing we couldn’t rely solely on Natural Language Processing (NLP). While NLP has definitely improved over the recent years , it still needs support to deliver a robust chatbot. It can still struggles with spelling mistakes, abbreviations, humor, emotional nuances, and the thousands of ways a question can be asked. And that’s just the beginning. Our dev team focused on integrating with services such as spell check, language translation, and sentiment analysis to extend our NLP and greatly improve the conversation and user experience.
Every Chatbot is Learning Lab
This was the most exciting part of our discussion. Each new chatbot we build and deploy is another opportunity to learn and iterate.
For example, we initially thought if we told the user to get started by greeting the bot with “Hi” they would. Nope! Many users skipped the formality and went straight to asking the bot a question. Since the bot was expecting a simple “Hi”, it returned its standard greeting which didn’t address the user’s question. This didn’t make for a good start to the conversation and the user was left confused. So our dev team stepped in and built a smarter initial greeting handler that improves the user’s boarding experience.
This is one of the many lessons we’ve learned. And we keep on learning. Each and every time a question is asked, we collect invaluable data that informs the way we move into the future. We incorporate everything we learn after each deployment into our core platform. Our dev team is able to make many of these changes quickly so the next bot we deliver is more successful than the first. As a result of these fast changes, the differences between our bots at the beginning of the year to those at the end of the year are astounding.
The exciting part for me is that it’s a new year full of new chatbots. Our entire team recently took a day together to make some big plans for our chatbot platform, both technically and non-technically. We are all looking forward to launching and learning even more in the year to come! Stay tuned…