Architecture, Machine Learning and AI
Anatomy of a Chatbot Project
Chatbots have come a long way from simple scripted answer machines. Today’s chatbots are intelligent enough to engage potential customers and ensure that human customer service and sales agents are not swamped with repetitive inquiries that waste time and resources. But that’s not all they do. Businesses today use chatbots in very interesting ways that demonstrate the full spectrum of the capabilities and capacities of chatbots.
They are bringing a new way for businesses to communicate with their customers. Bots are a new user interface. This new user interface lets brands and services to interact with customers using their favorite messaging apps. There are few components you need to consider before designing a Chatbot for your business.
Let’s see what they are:
Some features are:
- Personality – Before you start your project, you need to create a personality for your bot. The personality of your bot should suit your target audience, the task you want to complete, and the brand the bot is going to represent.
Logos and icons – Having a logo and icon allow the user to identify the bot, which helps in brand recognition. The bot’s logo can imply gender, age, and other human attributes.
- Name – Your bot should have a unique name that differentiates it. That way, consumers can just run a quick search to connect with your bot. Also, giving a human name to your bot will create a strong emotional connection.
- Human intervention – Routing a conversation to a human is easy and can be transparent to the user in chat conversations. When your bot is brand new, it is better to have a human review the conversations until it can handle conversations without human intervention.
Artificial Intelligence (AI)
AI is the component that makes a chatbot intelligent. AI enables a chatbot to understand human language – either it be text or voice.
Elements to consider include:
Natural language processing – Understanding intents and extracting key variables from a user’s inputs.
Conversation management – Managing complex and multi-intent conversations.
Image recognition – The ability to recognize text, objects and people’s emotions in photos.
Predictive power – The ability to predict the right answer to a question, and an action to take at a particular time during a conversation.
Sentiment analysis – The ability to derive the opinion or attitude of a speaker.
There are different aspects of the conversation to consider:
Onboarding — This is an important part of the bot’s success. Here you inform the users about the purpose of the bot, functionality of the bot, how the bot can help them.
Functionality scripting – You need to decide user flows for each function, including mitigations for failure. This is where you dive into different types of conversations and discussions about the best design practices.
Feedback and Error Handling – Feedback is very important to make your bot better, and handling failures are key to an astonishing user experience.
Help and support – At any time during a conversation, a user might get lost or even get frustrated with the answers given by the bot. Providing support and help can ensure a smoother usage of your bot.
Your bot might need to support any of the following:
Files: Both bots and users can upload files to the conversation, in most messaging platforms.
Audio and Video: Audio and video can be the core functionalities of some chatbots. It can also enrich the conversations in some use cases.
Images, maps, and charts: Images can enhance the user experience and allure users to take action and also provide a lot of information that would be very hard to get just by using text conversations.
Buttons – It can help users complete some tasks faster by circumventing lengthy conversations.
Templates – Few bot platforms deliver a set of rich templates, such as message attachments and carousels. These templates help with standardization of common elements and make the user experience more predictable.
Emojis – Using an emoji you can show your intent, mood, feelings or interests with just one character. With an emoji you can tell whether you are hungry or angry, or if you have traveled to Paris or Japan. These small pictograms make communication simple and hence deliver great user experience when used correctly.
Links and Formatting – Formatting and including links to the conversation can improve retention and engagement. Formatting a message, from color coding to font styling, can relay intent, convey state and progress, and direct the user to the right path.
Persistent menus – This is very important for a chatbot’s usability. This is the only way for your visitors to navigate through your chatbot and see what else it can do. Think of it as a navigation menu of a website.
Typing Indications – This feature allows a bot to fake typing events, giving the user the impression that the bot is typing a response.
Web views –This feature allows you to open a standard web view, where you can load web pages inside the bot. Web views pull up over your conversations, mitigating the disrupted flow by giving the impression that the conversation is being continued inside the messenger app. If you must redirect, use web views to make for a smoother conversational experience.
The purpose of chatbots is to simplify and automate the process. Let’s say you are trying to order a Pizza. If you call in to place your order, there is a good chance that the restaurant will look up your account information such as your address and order history.
The same standard should apply to chatbots. Chatbot context is extremely important if you are aiming to build a bot that is more efficient than using apps.
The bot should identify the information it already knows and seeks out unknown information to provide a proper solution. If this Pizza ordering chatbot uses context properly, then it shouldn’t ask for the information it already knows, and it should leverage the past customer-history.
Some of the engagement methods are:
Notifications: Sending new content to the user is a good way to re-engage, assuming the content is useful. It’s important not to mix the notifications with automated messages that bots send as responses to user’s questions or commands.
Subscriptions: Subscriptions or periodic notifications are a great way to keep your bot front and center in the user’s life. Letting the users define their interests adds a layer of value to the bot–human interaction (for example, letting the user select interesting topics, to filter the daily news update from a newsbot).
Core purpose and functionality
Having a specific purpose and core functionality is very important for any service. The conversational interface of a bot means that there are limited ways to remind users of the things the bot can perform. There are several ways to solve this – for example, the Google Assistant tries to solve this problem by including a “How can I help you?” button consistently throughout the conversation.
Other bots convey their purpose through their names. Growbot’s name implies growing or boosting, Statsbot’s name implies providing analytics services. Many bots include a description of their purpose to their onboarding message or as a response to their help command.
These are just the most common elements of a bot design, definitely not an exhaustive list. Some bots might require interfacing with IoT devices, while others will need speech-to-text and text-to-speech technologies. Some bots can handle tasks across different systems and communicate through different channels, requiring a slightly different interface for each platform.
When designing a chatbot, you need to consider these basic attributes mentioned here and then start exploring additional ones if needed.