Chatbots are not a recent development. The first chatbot was created by Joseph Wiesenbaum in 1966, named Eliza. It all started when Alan Turing published an article named “Computer Machinery and Intelligence”, and raised an intriguing question, “Can Machines think?”, and ever since, we have seen multiple chatbots surpassing their predecessors to be more naturally conversant and technologically advanced. These advancements have led us to an era where conversations with chatbots have become as normal and natural as with another human.
Today, almost all companies have chatbots to engage their users and serve customers by catering to their queries. As per a report by Gartner, Chatbots will be handling 85% of the customer service interactions by the year 2020. Also, 80% of businesses are expected to have some sort of chatbot automation by 2020 (Outgrow, 2018). We practically will have chatbots everywhere, but this doesn’t necessarily mean that all will be well-functioning. The challenge here is not to develop a chatbot, but to develop a well functioning one.
Let’s have a look at the basics of creating an Artificial Intelligence chatbot:
Identifying opportunity for an Artificial Intelligence chatbot
The first step is to identify the opportunity or the challenge to decide on the purpose and utility of the chatbot. To understand the best application of Bot to the company framework, you will have to think about the tasks that can be automated and augmented through Artificial Intelligence Solutions. For each type of activity, the respective artificial intelligence solution broadly falls under two categories: “Data Complexity” or “Work Complexity”. These two categories can be further broken down to 4 analytics models namely, Efficiency, Expert, Effectiveness, and Innovation.
Understanding Customer Goals
There needs to be a good understanding of why the client wants to have a chatbot, and what the users and customers want their chatbot to do. Though it sounds very obvious and basic, this is a step that tends to get overlooked frequently. One way is to ask probing questions so that you gain a holistic understanding of the client’s problem statement. This might be a stage where you discover that a chatbot is not required, and just an email auto-responder would do.. In cases where client itself is not clear regarding the requirement, ask questions to understand specific pain points and suggest most relevant solutions. Having this clarity helps the developer to create genuine and meaningful conversations to ensure meeting end goals.
Designing a chatbot conversation
There is no common way forward for all different types of purposes that chatbots solve. Designing a bot conversation should depend on the purpose the bot will be solving. Chatbot interactions are categorized to be structured and unstructured conversations. The structured interactions include menus, forms, options to lead the chat forward, and a logical flow. On the other hand, the unstructured interactions follow freestyle plain text. This unstructured type is more suited to informal conversations with friends, families, colleagues and other acquaintances.
Selecting conversation topics is also critical. It is imperative to choose topics that are related to and are close to the purpose served by the chatbot. Interpreting user answers, and attending to both open-ended and close-ended conversations are other important aspects of developing the conversation script.
Building a chatbot using code-based frameworks or chatbot platforms
There is no better way among the two to create a chatbot. While the code-based frameworks provide flexibility to store-data, incorporate AI, and produce analytics, the chatbot platforms save time and effort and provide highly functional bots that fit the bill.
Some of the efficient chatbot platforms are:
Chatfuel — the standout feature is broadcasting updates and the content modules to automatically to the followers. Users can request information and converse with the bot through predefined buttons, or information could be gathered inside messenger through ‘Typeform’ style inputs.
Botsify — User-friendly drag and drop templates to create bots. Easy integration to external plugins and various AI and ML features help improve the conversation quality and analytics.
Flow XO — This platform has more than 100+ integrations and the easiest to use the visual editor. But, it is quite limited when it comes to AI functionality.
Beep Boop — Easiest and best platform to create slack bots. Provides an end to end developer experience.
Bottr — There is an option to add data from Medium, Wikipedia, or WordPress for better coverage. This platform gives an option to embed a bot on the website.
For the ones who are more tech-savvy, there are code-based frameworks that would integrate the chatbot into a broader tech stack. The benefits are flexibility to store data, provide analytics, and incorporate Artificial Intelligence in the form of open source libraries and NLP tools.
Microsoft Bot Framework — Developers can kick off with various templates such as basic, language understanding, Q&As, forms, and more proactive bots. It is the Azure bot service which and provides an integrated environment with connectors to other SDKs.
Wit.AI (Facebook Bot Engine) — This framework provides an open natural language platform to build devices or applications that one can talk or text. It learns human language from the interactions and shares this learning to leverage the community.
API.AI (Google Dialogflow) — This framework also provides AI-powered text and voice-based interaction interfaces. It can connect with users on Google Assistant, Amazon Alexa, Facebook Messenger, etc.
Testing your chatbot
The final and most crucial step is to test the chatbot for its intended purpose. Even though it’s not important to pass the Turing Test first time around, it still must be fit for the purpose.
Test the bot with a set of 10 beta testers. The conversations generated will help in identifying gaps or dead-ends in the communication flow.
With each new question asked, the bot is being trained to create new modules and linkages to cover 80% of the questions in a domain or a given scenario. By leveraging the AI features in the framework the bot will get better each time.
If you wish to learn more about Artificial Intelligence technologies and applications, and want to pursue a career in the same, upskill with Great Learning’s PG course in Artificial Intelligence and Machine Learning.