Get your reading glasses out, today you’re going to learn everything there is know about Chatbots 🤖
The first chatbot ever was developed by MIT professor Joseph Weizenbaum in the 1960s. It was called ELIZA. Simulated conversation using pattern matching and substitution.
ALICE (Artificial Linguistic Internet Computer Entity) was developed in 1995 by Richard Wallace. Unlike Eliza, the ALICE chatbot was able to use natural language processing, which allowed for more sophisticated conversation. It was revolutionary, though, for being open-source. Developers could use AIML (artificial intelligence markup language) to create their own chatbots powered by ALICE.
One of the most versatile tags in AIML is <srai>.
What is <SRAI>?
Believe it or not, there is no official definition for what the acronym SRAI means. It was created as part of AIML 1.0 by Dr Richard Wallace and is usually recognised as Symbolic Reduction in Artificial Intelligence. Whatever is between the <srai> and </srai> tags is normalized and then passed back through the interpreter. This is known as recursion and continues until the chatbot reaches a final category.
This basically means that a category can call other categories to make your code easier to manage but it’s probably better to see a few examples to understand how it works.
Calling other categories
The most common use of <srai> is to deal with all the different ways that a user can say the same thing. For example, someone could say hi, howdy, yo, wassup and these all mean the same as hello.
Let’s say we had a category like this one, which remembers the user’s name when they say, “My name is xxx”.
Then machine produces:
Human: My name is Amit
Robot: Hi Amit. Good to see you.
This works with no problem but if the user says, “I am called xxx”, “My friends call me xxx” or “xxx is my name” the pattern will not be matched. It wouldn’t be efficient to duplicate the category for all the different ways of saying, “My name is”, so we can use the <srai> tag like this:
Now if someone says, “I am called xxx”, the second category will be activated which automatically calls our main category of “My name is xxx”. This saves on a lot of duplication of code and also means that if you want to change the template in “MY NAME IS *”, you don’t have to change it in all the other categories as well.
The machine then produces:
Human: Call me Amit
Robot: My name is Amit
JABBERWACKY: Jabberwacky is a chatterbot created by British programmer Rollo Carpenter. Its stated aim is to “simulate natural human chat in an interesting, entertaining and humorous manner”. It is an early attempt at creating an artificial intelligence through human interaction. The stated purpose of the project was to create an artificial intelligence that is capable of passing the Turing Test. It is designed to mimic human interaction and to carry out conversations with users. The ultimate intention is that the program move from a text based system to be wholly voice operated-learning directly from sound and other sensory inputs.
MITSUKU: Mitsuku is a chatbot created from AIML technology by Steve Worswick. It claims to be an 18-year-old female chatbot from Leeds, England. It contains all of Alice’s AIML files, with many additions from user generated conversations, and is always a work in progress. Her intelligence includes the ability to reason with specific objects. For example, if someone asks “Can you eat a house?”, Mitsuku looks up the properties for “house”. Finds the value of “made_from” is set to “brick” and replies “no”, as a house is not edible. She can play games and do magic tricks at the user’s request. In 2015 she conversed, on average, in excess of a quarter of a million times daily.
What is a bot?
A bot is an artificial intelligence software designed to perform a series of tasks on its own and without the help of a human being. Tasks a bot can do can vary from things such as making reservation at a restaurant, fix an appointment to a doctor, marking a date on the calendar or collecting and displaying information to its users, and informing the user about the weather, etc.
The Chatbots are capable of simulating human conversation with a person through voice command or text chats or both and therefore are increasingly present in messaging applications. Chatbots are versatile, therefore they’re able to adapt and help to solve different business pains.
Chatbots intercept and process user’s words or phrases and give an instant pre-set answer. They inhabit platforms like – LinkedIn, FB Messenger, Whatsapp, Skype, Slack, Kik, WeChat, Line or even your website. Similar to regular apps chatbots have application layer, a database, APIs and Conversational User Interface.
There are three main types of chatbots:
- Rule-based chatbots
This is the simplest type of chatbots today. People interact with these bots by clicking on buttons and using pre-defined options. To give relevant answers these chatbots require people to make a few selections. As a result, these bots have longer user journey, and they are the slowest to guide the customer to their goal.
These bots are great when it comes to qualifying your leads. The chatbot – asks questions, and people answer them with buttons. The bot analyzes collected data and gives a reply. But, for more advanced scenarios with many conditions or factor, these chatbots aren’t always the best solution.
- Intellectually independent chatbots
These bots use Machine Learning (ML) which helps the chatbot learn from user’s inputs and requests.
Note: Machine Learning is the ability of the computer to learn by itself from the data, recognize patterns and decide with minimal human interference.
Intellectually independent chatbots are trained to understand specific keywords and phrases that trigger bot’s reply. With the time they train themselves to understand more and more questions. You can say they learn and train from experience.
For example, you write to a chatbot: “I have a problem with logging into my old account.” The bot would understand the words “problem”, “logging”, “account” and would provide a pre-defined answer based on these phrases.
- AI – powered chatbots
AI – powered bots combine the best from Rule-based and Intellectually independent.
Artificial Intelligence (AI) is a simulation of human intelligence. AI is the area of computer science that focuses on creating intelligent machines that work and “think” like people.
AI-powered chatbots understand free language, but also have a predefined flow to make sure they solve user’s problem. They can remember the context of the conversation and the user’s preferences. These chatbots can jump from one point of conversation scenario to another when needed and address random user request at any moment.
These chatbots use Machine Learning, AI and Natural Language Processing (NLP) to understand people.
NLP is the ability of the computer to understand and analyze human speech, find the right response and reply in understandable for a human language.
The goal of NLP is to make the interaction between computers and humans feel like communication between two people. With the help of NLP people can freely interact with chatbots asking a question.
How do chatbots works?
The Chatbots work based on three classification methods:
- Pattern Matches:
Bots utilize pattern matches to group the text and it produces an appropriate response from the clients. “Artificial Intelligence Markup Language (AIML), is a standard structured model of these Patterns.
A simple example of Pattern matching is:
Then the machine gives the following output:
Human: Who invented the email?
Robot: According to Google, Ray Tomlinson invented email.
The Chatbot knows the appropriate answer because her or his name is in the related pattern. Similarly, the chatbots react to anything relating it to the correlate patterns. But it can’t go past the related pattern. To take it to a progressive stage, algorithms can help.
For every sort of question, a remarkable pattern must be accessible in the database to give a reasonable response. With a number of pattern combinations, it makes a hierarchical structure. We utilize algorithms to lessen the classifiers and produce the more reasonable structure.
- Natural Language Understanding (NLU)
This NLU has 3 specific concepts as follows:
Entities: This essentially represents an idea to your chatbot. For example, it may be a payment system in your Ecommerce chatbot.
Context: When a natural language understanding algorithm examines a sentence, it doesn’t have the historical backdrop of the user’s text conversation. This implies that, if it gets a response to a question it has been recently asked, it won’t recall the inquiry. So, the phases during the conversation of chat are separately stored. It can either be banners like “Ordering Pizza”. Or could include other parameters like “Domino’s: Restaurant”. With context, you can easily relate expectations with the necessity of comprehending the last question.
Expectations: This is what a chatbot must fulfill when the customer says sends an inquiry. Which can be the same for different inquiries. For example, the goal triggered for, “I want to purchase a white pair of shoes”, and “Do you have white shoes? I want to purchase them” or “show me a white pair of shoes”, is the same: a list of shops selling white shoes. Hence, all user typing text show a single command which is the identifying tag; white shoes.
- Natural Language Processing (NLP)
(NLP) Natural Language Processing Chatbots finds a way to convert the user’s speech or text into structured data. Which is then utilized to choose a relevant answer. Natural Language Processing includes the following steps;
- Tokenization: The NLP separates a series of words into tokens or pieces that are linguistically representative, with a different value in the application.
- Sentiment Analysis: It will study and learn the user’s experience, and transfer the inquiry to a human when necessary
- Normalization: This program model processes the text to find out the typographical errors and common spelling mistakes that might alter the intended meaning of the user’s request.
- Named Entity Recognition: The program model of chatbot looks for different categories of words, similar to the name of the particular product, the user’s address or name, whichever information is required.
- Dependency Parsing: The Chatbot searches for the subjects, verbs, objects, common phrases and nouns in the user’s text to discover related phrases that what users want to convey.
Hope this helps.
Thank you & Keep learning new things… 🙂