Building a chatbot is really about taking computer-human conversation to a whole new level. Technology experts generally talk about two methods of building chatbots. The first is a rule-based approach, where the developer writes rules for the system, or in other words, employs hard coding in building the chatbot. The second method entails the use of machine learning, where a massive amount of streaming data is used, and the system learns on its own.
AIM caught up with Aditya Chavan, Head of Marketing, and Shashank Prasad, Head of Infrastructure, representing Machaao.
How to decide on your Messenger Platform?
Facebook presents users with a open API and clear documentation, attracting more people to build a chatbot using Facebook Messenger. However, factors like location and audience also affect the adaptability of the chatbot. For instance, messaging services like WeChat, Line and Viber are a better fit for countries in or near Asia.
The best practice would involve providing a chatbot experience across all messaging apps. This will help in ensuring that your user can use the chatbot on a platform of his preference, rather than him needing to join a new one.
Machaao: Machaao was established with an aim to make push notification engaging by sending personalized notification to keep it relevant for every user, shared Chavan.
Case in point — the Machaao Page on Facebook is dedicated to Cricket Fans and Cricket fans can obtain Live Personalized Cricket Scores from their Chatbot “Ganglia”. Users can try Machaao by clicking m.me/machaao, and personalize their score intervals for:
- Ball by Ball Score updates
- End of Over(s) Score updates
- Fall of Wicket(s) Score updates
Fans can also ask for Live Score, Schedule, Squad, or choose to follow their favorite player to get updated when the player disturbs the scoreboard. Moreover, Cricket fans can now follow the personalized Live action in English, Hindi, Urdu and Bengali free on Facebook Messenger. The chatbot currently servers 260K+ Cricket Fans and has processed more than 200 Million messages.
Deciding on the basic functionality — setting a goal for the chatbot
You can program your chatbot to execute a variety of activities. It can be a tool for people to chat with you in real-time, or it could even be a service which helps you broadcast content to subscribers. In other words, it’s crucial to set a goal for your chatbot to function. The objective should be to find one core feature that defines your Chatbot, and the remaining features can be built around it.
Machao: The core feature is personalized Live Score, and we evolved it to offer instant Live Scores, Schedule, Squad, and support for multiple languages, all by reading what our users wanted,” extols Chavan.
Dharmesh Shah’s GrowthBot is a brilliant example: The chatbot has been designed bit differently to act as a tool for activities related to inbound/SEO. The chatbot intends to increase engagement, while boosting brand awareness and rendering positive feedback.
AIM lists down popular tools for building chatbot:
ubisend – It is a code-free tool supporting all messaging apps and SMS. The pricing is based on subscribers
chatfuel – This support FB Messenger and Telegram, and it is code-free
Botsify – It supports FB Messenger and the pricing is based on subscribers.
Smooch – It’s an API-only tool, extending support for all messaging apps. The pricing is exclusively based on messages sent.
Beep Boop – This is another API-only tool for FB Messenger and Slack. The pricing here depends on server rental.
Api.ai – This is also an API-only tool for FB Messenger. The pricing depends on messages sent.
Botkit – This tool supports FB Messenger, Slack, and Twilio. It’s an API-only tool and comes for free.
Get industry insider view on creating chatbot
Shashank Prasad lays down the key steps to creating a chatbot:
- Always keep the chatbot simple: The primary objective should revolve around building a good bot script, as every bot interaction is about call and response. Prasad comments, “Keep everything native to the conversational back-and-forth, do not try to replicate an app/system into a bot, keep it conversational.” The ideal approach involves learning from the call/response, and iterating on it. As words form the entire interface on your bot, care must be taken to compose the chatbot’s responses very carefully.
- Delivering better end-user experience: Bots should be designed in such a manner that they should excel in executing tasks where humans need improvement or are slow, instead of replacing humans from tasks they are good at. “Rather than printing out simple URL in a bot response, show a nicely-formatted card previewing the linked page or, replace a text list with Carousel. Give your bot a personality by introducing a funny gif or joke from time to time,” remarks Prasad.
- Designing an escape route: It’s considered an ideal practice to provide a mute or unsubscribe button, so that user can turn the bot off and on anytime without any hassle. This step can be considered like pilots having an escape route in the form of parachutes, in case the autopilot feature within the airplane doesn’t function. Incorporating this approach, users don’t have to really delete the bot when the service isn’t required. Additionally, to avoid a bad user experience, it’s advisable to check the bot for issues, on a regular basis.
- Ensure scalability of your bot: It’s equally important to ensure that the chatbot you design can scale easily, as nobody prefers a bot that takes forever to respond. Here are some tricks that can help you scale your chatbot:
- Installing a good monitoring system always proves handy. Besides helping the user identify issues in advance, it also facilitates capacity planning. “We use Nagios for alerting, and Graphite/Grafana to monitor counts and Graphs. We also make use of Dashbot analytics to get an insight on about what our user wants,” mentions Prasad.
- To scale efficiently when the demand rises, it’s crucial to have proper server automation. For automation, we make use of tools such as Ansible and CloudFormation.
- By setting up a centralized logging, developers can spot issues real-time and fix bugs much faster. Machaao leverages the use of Filebeat and ELK stack in visualizing aggregated logs.
- Customer is the key: Just like any other business, customers form an integral component of the chatbot-based ecosystem. A company can take its brand to the most remote location, just using a simple Q&A bot and localization. This helps to generate lead, solve after sales service issues, take feedback, and create a lasting customer experience.
- Building the right team: At the end, it comes down to executing the idea. This is the part where we focus on the importance of building a team. Having a team comprising of self-motivated individuals, who are willing to walk those extra miles to make the ends meet is ideally what you should be striving to build, before you design a chatbot.
Try deep learning using MATLAB