This Solarbot is
designed using some specific methods. The text classification algorithm and
pattern matching are the most important algorithms that are applied to a
chatbot. A Natural Language Processor allows communication between user and bot
using natural languages. Api.ai is a NLP that allows the bot to understand by
converting the input to machine understanding language and respond to the user
in human understanding language. The data has been given as an input to the bot
needs to be stored in a database as it can be referred from there for further
interactions. In this Solarbot MongoDB is used as a database for storing the
user’s data. MongoDB is used to store knowledge and some set of functions and
procedures are used for pattern matching. Machine learning helps in identifying
the queries of the user and providing a solution with pattern matching. The
communication between bot and the user is done via chat interface. There are
various chat interfaces available such as twitter, Skype, slack, webhook etc. The
chat interface used for this system is Facebook messenger. Solarbot is an
online application which is displayed on messenger using Node.js which is also
used to integrate database with the chat interface.
Following are the requirements for
system would allow the user to chat.
system shall inform the user if the answer is unavailable.
system shall inform user about spelling mistakes.
system should allow the user to search about rates.
system should allow the user to search about installation.
system should allow the user to search about installing companies.
should maintain a log of all the questions and answers if the user is not
Basic steps that will be implemented for this
bot are as following:
the user input via chat interface.
of the input is done by a text classification algorithm to select intent from
group of intents.
the main keywords from the input.
the fetched keyword in the intents and provide an appropriate response. The
keywords will be matched with the help of pattern matching algorithm.
an appropriate answer to the user via chat interface.(OUTPUT)