CommunityConnect Labs

What Makes A Good Chatbot?

Chatbot, courtesy of DALL-E

Chatbot, courtesy of DALL-E

A question for the ages — what makes a good chatbot? Chatbots aren’t just about shoving the latest generative AI technology onto your website. They’re about providing a satisfying conversational experience. And that can be accomplished in a number of ways.


When developing a chatbot, understanding your audience and the specific goals of your chatbot are paramount. This understanding should guide every aspect of the chatbot’s design, from the language it uses to its visual elements, ensuring that it aligns with the expectations and preferences of its intended users. For instance, a chatbot serving professional financial advice should adopt a more formal tone and terminology compared to one designed for a casual retail shopping experience, which can be more informal and engaging.


Moreover, the visual design of the chatbot interface plays a crucial role in user experience. It should be intuitive and visually appealing, making the conversation flow as natural and effortless as possible. Elements like buttons, menus, and chat bubbles should be designed with accessibility in mind, ensuring that users can easily navigate the chatbot’s responses and functionalities.


Another critical aspect to consider is the multicultural and multilingual nature of your audience. Providing translations and localizing content is not just about converting text from one language to another; it involves adapting your chatbot’s interactions to reflect cultural nuances and preferences. This ensures inclusivity, allowing users from diverse backgrounds to interact with your chatbot in a way that feels familiar and respectful of their cultural context. For that reason, we recommend going with human translation over automated or machine translation.


By prioritizing user experience design and tailoring the chatbot’s language, visual design, and interactions to meet the needs and expectations of your target audience, you create a more engaging and effective conversational agent. This approach not only enhances user satisfaction but also fosters a stronger connection between users and your brand or agency, ultimately contributing to the chatbot’s success.


The simplest way to create a chatbot is to have a menu-driven experience. The chatbot has a limited selection of items you can pick from — canned responses or quick replies — that cover the most commonly asked questions. This doesn’t have to be fancy or even comprehensive. In most domains, you’re going to get the same questions over and over again. For example, in healthcare (e.g. Medicaid) that’s usually around eligibility, coverage, cost, and how to apply. You can include links out to pages on your website (for example, an application). And having the option to request assistance from a human — either live webchat, making an appointment, or a call back — is always a good option.


Covering Wisconsin is a great example of a largely menu-driven chatbot we created:


The next level up is a Natural Language Processing-powered chatbot. This is a fancy way of saying that someone can type in free-text and the chatbot will make an effort to parse and understand it. Again, this doesn’t have to be anything complicated, using simple pattern-matching, like regex (regular expression parsing available in pretty much any programming language) can be surprisingly comprehensive. For example, If I ask “Do you want to cancel your membership?”


catches “y, yes, yep, yeah,” and “uh-huh.”


An NLU (Natural Language Understanding) chatbot we designed is the one for the City of San Jose, which covers a wide variety of topics and offers English, Spanish, Vietnamese, and Simplified Chinese:


Good chatbots keep in mind the overall conversational experience, including tone (professional, friendly, etc.) as well as what information you’re trying to get across. They should also be designed with offramps in mind, e.g. how you handle cases where someone can’t get their question answered automatically — which happens a lot in high-touch use cases like checking on public benefits, for example.


Finally, a feedback loop is important to make the chatbot better over time. Did you answer someone’s question? This can be a thumbs-up or thumbs-down, yes or no, or other rating. And asking why not if the answer is no is helpful as well. And track what quick reply someone came in from or what text they typed. That can help you figure out if the error was bad question parsing (e.g. they asked something in a unique way or there was a typo the system didn’t catch) or whether the problem is that the information wasn’t what they were looking for or didn’t exist. Couple that with basic analytics — which intents (answer areas) are most popular and which intents are least helpful — and you can continue to make your chatbot improve, for example, automatically adding the n most frequently asked questions to quick-reply menus or showing them when someone wasn’t able to get their question answered (“I’m sorry, I didn’t understand that. People frequently ask A, B, and C.”)


In summary, the key to a successful chatbot lies in its ability to deliver a seamless and engaging conversational experience, tailored to the audience’s needs and preferences, with a continuous focus on improvement through feedback and analytics.


Recent posts