A Chatbot is essentially a program that interacts with users and addresses their needs through a text messaging platform. An ideal bot interacts with the user in a humane fashion generating a meaningful and productive conversation leading to the fulfillment of their goals.
Designing a Chatbot
The process of designing a chatbot can be broken down into simple steps
Identify and outline the Goal or problem that the bot is supposed to address and define a scope within which the bot will operate
Identify the users and use cases
Design a conversation for the bot or the bot personality
Design a conversation flow, starting from the welcome message to each dimension the conversation may span and handle each dimension accordingly
A Chatbot can be used in e-commerce for a variety of purposes. While it can help customers in finding a relevant product, it can also help them with customer support queries. Some common tasks that they perform are
Create a personalized shopping experience
Provide order related info
Help solve Customer queries
Cross-sell or Upsell Products
Follow up on customer feedback
Follow up on social media responses
Right now we are focussing only on creating a personalized shopping experience for an apparel e-commerce platform.
The Bot will help the customer in shopping for clothes, by providing them with specific products which they want. The bot will handle this by accomplishing three smaller goals:
A search query will be considered valid only if it returns less than 10 (a flag value) products.
Gain user feedback to improve the datapoints collected
Generate a valid search query through conversation with the user
Feed the query to search products
The goal here is that the user wants to shop for a product. It can be divided into use cases depending upon what type of product the user is looking for.
The user is sure about which product they want and understands how to communicate with the Bot
The user is sure about which product they want but does not understand how to communicate with the Bot
The user is unsure about which product they want and understands how to communicate with the Bot
The user is neither sure about which product they want nor understands how to communicate with the Bot
The chatbot personality is an essential element to consider while designing a chatbot. It defines the way in which the users will perceive your brand. And since the chatbot will be interacting with a lot more users that your average support team, it is very important that the way it interacts is in line with your values.
Here, we have selected a sligtly quircky chatbot in line with the brand that we were designing this for.
The bot will start with a welcome message and some onboarding messages to help the user understand which type of responses they should enter. Based on the reply, the bot generates a search query.
1. Unclear Message / Invalid Search Query
2. Partly clear Message / Partly valid Search Query
3. clear Message / valid Search Query
The approach that I followed is a Rule-based approach to building bots. It is useful in simple cases where there are limited variations to conversations and writing a rule for each case is feasible. Here, the Bot can be called smart though it is not learning or becoming smarter as opposed to ML based Bots that use machine learning to grow and learn from their conversations. Rule Based Bots can be developed where the use cases are quite limited and the Designers want to control the interaction with the user. It’s also simple to design, develop and test. Hence can also be used for user research or scouting the market before building a more complex AI Bot.