Proposal of Chat Based Automated System for Online Shopping

: Chatbots have the potential to save any individual’s time, hassle


Introduction
It's a rare moment when it becomes clear that a technological revolution is upon us. We believe that we are in midst of one of the biggest revolutions right now. If you haven't realized it, bots are everywhere. Your interaction with Siri, scheduling an appointment over email with someone named Raj Singh, or set up a team meeting with an interestedly helpful associate in Slack, you've already had a close interaction with a bot! Bots have the potential to save us time, stress, and tediousness by automating boring tasks, like gathering your team's lunch preferences or building a travel itinerary, which could typically vex up hours of your time. Brands are catching on too, as evidenced by the throngs of businesses developing their self-designed mechanized messengers. With the rise in Machine Learning, chatbots or bots in general are termed to be precocious.
Having a chatbot on one's e-commerce, it website will certainly add to the company's popularity, public relations and will retain current users by turning them into even more proactive content consumers. One can use them from answering customer's questions all the way to the delivery of the products. This paper is divided into various sections. Section 2 talks briefly about the existing work done on chatbots. Section 3 presents the idea of the project, and what it entails for an end user. Section 4 describes briefly about the flow of the project and how it will work, Section 5 describes the plan that has been set by the team for the project's implementation. Section 6 discusses the future scope of the project. Section 7 concludes the paper. This is followed by references.

Related Work
ALICE: ALICE [1] was implemented by Richard Wallace in 1995. It uses pattern matching and stores the information in Artificial Intelligence Markup Language, or else known as AIML, files. An AIML file is similar to an XML file that was developed to store pattern knowledge for chatbots. There are three types of AIML categories, atomic categories, default categories and recursive categories, which are described below.
Atomic categories: Is a type of AIML category where there is an exact match. <category> <pattern>What is your age</pattern> <template>My age is 25</template> </category> In the above example if the user submits "What is your age" then the chatbot will reply with "My age is 25".
Default categories: Is a type of AIML category where the use of a wild character such as * is used to match any input. <category> <pattern>What is *</pattern> <template>It is my age</template> </category> If ALICE does not find a solution using the first category it will proceed to the second. In this case if a user submits "What is a age" then ALICE will do a check until the wild char and if there is a match it will come with the answer.
Recursive categories: Is a type of an AIML category where special tags are used to refer to a recursion to convince the user to be more specific.
<category> <pattern>Do you know what the * is</pattern> <template>It is my age <srai>What is <star/></srai> </template> </category> In this case the wild character * is used to reduce the input submitted by the user. If the user submits "Do you know what the time is" then this becomes "What is the time".
ALICE is the most-awarded AI chatbots [2]. Slackbot: Slackbot [3] is very own friendly, built-in botpart-time programmer and full-time assistant. It helps to keep things in order. There are lots of things Slackbot can help with.
A few of them to list are: 1. Jump to any conversation in a second. 2. Search for messages using search modifiers. 3. Organize important messages and tasks using stars 4. Create custom emojis. 5. Get back to important conversations by marking them as unread. 6. Easily edit your most recent message with the up-arrow key 7. Integrate apps you use frequently. 8. The forward slash opens up a whole new world of commands. Google Allo: Allo [4] is an instant messaging mobile app that is developed by Google that includes a virtual assistant and provides a "smart reply" function that allows users to reply without typing. It was announced at Google I/O on May 18, 2016 and launched on September 21, 2016. The app is available on Android and iOS.
Some of the features [5] of Allo are: Google Allo makes it easier for the user to respond quickly and keep the conversation going, even when you're on the go. With Smart Reply, one can respond to messages with just a tap, so one can send a quick response to a friend. Chat is more than just text, so they've created a rich canvas for users to express themselves in Google Allo.
In Google Allo you'll also be introduced to a preview edition of the Google Assistant. With your Assistant in Allo, you can have a conversation with Google. One can ask questions and it will help get things done directly in the chats.

Trend Analysis
Companies like Slack, AirBnB, Facebook (Messenger Platform with Bot M), Tesla are increasingly relying on Artificially Intelligent Bots. Google has reportedly developing its own Chatbot 'Allo' which helps the user with mundane tasks. So it can be inferred that there is a growth in chatbot adoption rate. The graph in figure 1 shows increasing interest in messenger bots recently according to Google trends [6]. Although chatbots are at a relatively early stage of commercial exploitation we are already seeing some major organisations in the USA deploy this technology.
UK operations already deploying chatbots include: Ikea, Newcastle Building Society, Trainline [7]. While the chatbots market is still in the nascent stage of development, the race for leading enterprise chatbot platform guarantees to be exciting. In the current scenario, three participants are in a position to offer enterprise chatbot solutions include messaging platform vendors, voice platform vendors, and chatbot platform start-ups. The global chatbots market is driven by technology developments and innovation. The competitive conflict among current market players is comparatively high as every player is seeking to gain first movers advantage in the market [8].

Concept Propagation
Today E-Commerce websites contains a wide range of products in each of its category which results in a huge and complex database. These products are spread across numerous amount of web pages and categorized according to their type. Navigating through these web pages to locate relevant results, according to the user specifications, can be non-resulting, time consuming and annoy at times.
A user visiting an E-commerce may look for a specific product, or generally browse the website. The search tools use keyword matching to display multiple results to the user's query. Out of these results, some might be relevant to the user or the results might be not come with the output. This could be bad experience for user. Also in case a user does not have clear knowledge about the product he/she intends to buy, systems will not be able to give appropriate results to such a user.

Proposed System
To demonstrate the concept of the project we will design an E-Commerce Engine that has a catalogue of products that can be browsed by chatbot through an android app.
The website is self-designed so it can be integrated easily with the chatbot. The depth of the "selection and ordering" will be extremely flexible and hence will allow the user which is the chosen product. The database of the agent though not apparent to the user, will form the backbone of data availability and storage. Forming a bot takes the load from the user's devices onto our servers, thus saving the users from unnecessary thoughts about storage difficulties.
The user will have the pleasure of being notified about the placement of the orders. The shipping status of the product after the payment has been made by the user will also be reported by the bot.
The bot can give suggestions based on previous purchases, give information about any product that user wishes to know about or ask questions to bring out further information about the required product depending on the user interaction.

Interaction with the User
The user can access the website through his/her android device and it will have a chat system with the bot. Any requirement of the user can be directly entered into the message window. The chatbot takes this input and matches it with the pattern matching programmed and it will give out responses. If the response that is returned is matching the needs of the user, he/she can click on 'YES' and the product will be added to cart. After this point, payment for the same can be made.

Implementation Plan
The Implementation Plan of the entire system is divided into 3 tiers, which are to be done sequentially. The architecture of the system is as shown in the figure 2. The 3 tiers are explained as follows: (1). Android Skin All user interface elements in an Android app are built using View and ViewGroup objects. A View is an object that draws something on the screen that the user can interact with. A ViewGroup is an object that holds other View (and ViewGroup) objects in order to define the layout of the interface.
Android provides a collection of both View and ViewGroup subclasses that offer you common input controls (such as buttons and text fields) and various layout models (such as a linear or relative layout).
The user interface for each component of the app is defined using a hierarchy of View and ViewGroup objects, as shown in figure 3. Each view group is an invisible container that organizes child views, while the child views may be input controls or other widgets that draw some part of the UI. This hierarchy tree can be as simple or complex as you need it to be but simplicity is best for performance [9]. (2). Intelligent Agent An agent will gather information and perform the necessary services without your immediate presence and on some regular schedule. Typically, the agent program will use the parameters you have provided, will search all or some part of the engine, gather information you're interested in, and present it to you when you ask for it. A simplified architecture and working of the agent that will be used is as shown in figure 4. Problem generator part of the agent will process the user input to generate a problem statement. This will be parsed internally and results are sorted. Performance element will be responsible for performing all external actions. Learning element of the agent will take the feedback from the critics about the agent and decide on how performance element will have to be modified when it will be used in the future. (

Future Scope
The Cartbot will have pre-defined set of rules that transform the input sentence into an output. However, the future of Cartbot can be based on using neural networks. The neural network model learns associations between the word sequences that make up input and output sentences. It will be an attempt of implementing Sequence to Sequence Learning with neural networks and reproducing results in conversational model. It will not always be perfect but it will be exciting. Cartbot advanced with neural network will learn in many notable ways, although act odd at times. But the user can sure have some good time shopping! [11].

Conclusion
The Cartbot will use artificial intelligence and hence will learn the responses of the users resulting in increasing efficiency. Cartbot will have the ability to respond like human being hence it will ease the efforts that are required to be done by human.
Thus, in this paper, we have planned to implement an Ecommerce engine based Cartbot which will attempt to improve the interaction of the user with E-Commerce engine. Cartbot will store a set of responses, but also will take dynamic user input into account and thus tend to provide relevant responses and product suggestions.