Chatbot is widely popular now-a-days and catching speed as an application of computer communication. Some programs respond intelligently like human. This type of program is called a Chatbot. This paper addresses the design and implementation of a Chatbot system. We will also study another application where Chatbots could be useful and techniques used while designing a Chatbot.
In today’s world computers play an important role in our society? Computers give us information; they entertain us and help us in lots of manners. A chatbot is a program designed to counterfeit a smart communication on a text or spoken ground. But this paper is based on the text only chatbot. Chatbot recognize the user input as well as by using pattern matching, access information to provide a predefined acknowledgment. For example, if the user is providing the bot a sentence like “What is your name?” The chatbot is most likely to reply something like “My name is Chatbot.” or the chatbot replies as “You can call me Chatbot.” based on the sentence given by the user. When the input is bringing into being in the database, a response from a predefined pattern is given to the user. A Chatbot is implemented using pattern comparing, in which the order of the sentence is recognized and a saved response pattern is acclimatize to the exclusive variables of the sentence. They cannot register and respond to complex questions, and are unable to perform compound activities . Chatbot is relatively a new technology. The application of a Chatbot can be seen in various fields in the future. This paper covers the techniques used to design and implement a Chatbot. Comparisons are made, findings are discussed and conclusion is drawn at the end.
Chatbot is a computer application which uses artificial intelligence to mimic human conversation. It helps the user by answering the questions asked by them. The program is implemented using Java programming language. Particularly Java applets are used. Applets are used because it is easy to create the dialog box required for the conversation between the user and the bot. Detailed implementation is given below
A.Fundamental Design Techniques and Approaches
Creating the dialog box
All the packages required for creating the dialog box are imported. The size of the dialog box and text area inside the dialog box is given. Vertical scrollbar is used so that the screen is scrolled as the conversation goes on. Horizontal scrollbar is never used because the size of the dialog box is fixed.
Creating a database
Two dimensional string arrays are applied to build a database. Rows in the array are used for request and response. All the even rows contain the request or questions and all the odd rows contain the response or answers.
Columns in the array are applied to save different types of questions that could asked by the user and responses that a Chatbot can answer. There is one row in the array which contains default responses which is used when the matching question is not found in the array.
B. Modules Description
The description of the modules used in the implementation
In this function, all the variables used for creating the dialog box are added. Default close operation is set to EXIT_ON_CLOSE so that the dialog box closes on exit. Required background colour is set using inbuilt set Background () function.
The input from the user is taken using get Text () function. All the punctuation marks in the user input are removed using trim () function. The uppercase letters are converted to lowercase. A variable called response is used to hold a byte value and it is set to 0. While response is 0, the match for the input is found in the database and it is returned as a response which is displayed in the text area. If the response is 1, then the match for the input is not found in the database. In this case, a default response is returned. Random () function is used to choose the response saved in the database.
All the texts or strings used in input and output are added to the text area in the dialog box.
This is used as a pattern matching function. A variable match is used to hold a Boolean value and it is set to false. If the match for the users input is found in the database, true is returned else false is returned as a result. This value is returned to keyPressed() function and the result is displayed in the dialog box.
This Chatbot is very simple and user friendly. It is not very complicated like other Chatbots. The working of the Chatbot is simple and can be easily understood by any person. In other Chatbots, the working is very complicated. Many classes are used which is difficult to understand. In this program, only one class is used to make it simple and obtain the expected output. This Chatbot uses simple pattern matching to represent the input and output whereas other Chatbots uses input rules, keyword patterns and output rules to generate a response. If the input is not found in the database, a default response is generated. The input and output can be customized according to the user. Based on the developer or the user, the required requests and responses can be stored in the database. Since own database can be created, it allows the user to understand how the response is generated. This Chatbot can be used for the entertainment purpose. Whenever a person is bored, he can chat with the bot for entertainment. It can also be used to provide information by modifying the program as needed by the user.
Chatbots are also referred to as virtual assistants. It is a rudimentary form of artificial intelligence software that can mimic human conversation. The Chatbots can be analyzed and improved. It can be used in various fields such as education, business, online chatting etc. It can be used in the field of education as a learning tool. The information necessary for education can be stored in the data base and can be retrieved any time by querying the bot. In business field, it can be used to provide business solutions in an efficient way. When the solutions are efficient, the business can be improved and the growth of the organization will be increased. This Chatbot can be used in online chatting for entertainment purpose. People can chat with these bots online when they are bored for the purpose of entertainment. These bots can also be used to learn different kinds of language. The language that has to learnt can be stored in the database and can be learnt by asking questions to the bot. They can also be used in the field of medical to solve health related problems. Chatbots are going to explode and can be really dominating in future. Chatbots can provide a new and flexible way for users. They are giving AI something better to do. Chatbots results in smart conversation and is advancing at an unprecedented rate with each new development. ChatBot usually store contextual data which can be used in the detection of geo location or a state (which data is needed for which step when communicating with a bot?). This could also be a telephone number or other private data, and no one knows whether the data is encrypted before it gets saved to a database. Since Chatbot predicts and provides accurate response to a posed question, it is hard to imagine the future without a Chatbot.
A chatbot is one of the simple ways to transport data from a computer without having to think for proper keywords to look up in a search or browse several web pages to collect information; users can easily type their query in natural language and retrieve information. In this paper, information about the design, implementation of the chatbot has been presented. From the survey above, it can be said that the development and improvement of chatbot design grow at an unpredictable rate due to variety of methods and approaches used to design a chatbot. Chatbot is a great tool for quick interaction with the user. They help us by providing entertainment, saving time and answering the questions that are hard to find. The Chatbot must be simple and conversational. Since there are many designs and approaches for creating a chatbot, it can be at odds with commercial considerations. Researchers need to interact and must agree on a common approach for designing a Chatbot. In this project, we looked into how Chatbots are developed and the applications of Chatbots in various fields. In addition comparison has been made with other Chatbots. General purpose Chatbot must be simple, user friendly, must be easily understood and the knowledge base must be compact. Although some of the commercial products have recently emerged, improvements must be made to find a common approach for designing a Chatbot.