A chatbot is a computer program that simulates human conversation through voice commands or text chats or both. Chatbot, short for chatterbot, is an Artificial Intelligence (AI) feature that can be embedded and used through any major messaging applications. There are a number of synonyms for chatbot, including "talkbot," "bot," "IM bot," "interactive agent" or "artificial conversation entity."
Note that you can add more than one button under this card, so if the most common customer requests are your hours, location, phone number, or directions, create additional blocks with that information to return to the user. If you’re an online service-based business, you may want to include blocks in your buttons that give more information on a particular segment of your business.
From any point in the conversation, the bot needs to know where to go next. If a user writes, “I’m looking for new pants,” the bot might ask, “For a man or woman?” The user may type, “For a woman.” Does the bot then ask about size, style, brand, or color? What if one of those modifiers was already specified in the query? The possibilities are endless, and every one of them has to be mapped with rules.
Despite the fact that ALICE relies on such an old codebase, the bot offers users a remarkably accurate conversational experience. Of course, no bot is perfect, especially one that’s old enough to legally drink in the U.S. if only it had a physical form. ALICE, like many contemporary bots, struggles with the nuances of some questions and returns a mixture of inadvertently postmodern answers and statements that suggest ALICE has greater self-awareness for which we might give the agent credit.
Can we provide a better way of doing business that transforms an arduous “elephant-in-the-room” process or task into one that allows all involved parties to stay active and engaged? As stated by Grayevsky, “I saw a huge opportunity to design a technology platform for both job seekers and employers that could fill the gaping ‘black hole’ in recruitment and deliver better results to both sides.”
The bot (which also offers users the opportunity to chat with your friendly neighborhood Spiderman) isn’t a true conversational agent, in the sense that the bot’s responses are currently a little limited; this isn’t a truly “freestyle” chatbot. For example, in the conversation above, the bot didn’t recognize the reply as a valid response – kind of a bummer if you’re hoping for an immersive experience.
The process of building a chatbot can be divided into two main tasks: understanding the user's intent and producing the correct answer. The first task involves understanding the user input. In order to properly understand a user input in a free text form, a Natural Language Processing Engine can be used. The second task may involve different approaches depending on the type of the response that the chatbot will generate.
For example, say you want to purchase a pair of shoes online from Nordstrom. You would have to browse their site and look around until you find the pair you wanted. Then you would add the pair to your cart to go through the motions of checking out. But in the case Nordstrom had a conversational bot, you would simply tell the bot what you’re looking for and get an instant answer. You would be able to search within an interface that actually learns what you like, even when you can’t coherently articulate it. And in the not-so-distant future, we’ll even have similar experiences when we visit the retail stores.
Alternatively, think about the times you are chatting with a colleague over Slack. The need to find relevant information typically happens during conversations, and instead of having to go to a browser to start searching, you could simply summon your friendly Slack chatbot and get it to do the work for you. Think of it as your own personal podcast producer – pulling up documents, facts, and data at the drop of a hat. This concept can be translated into the virtual assistants we use on the daily. Think about an ambient assistant like Alexa or Google Home that could just be part of a group conversation. Or your trusted assistant taking notes and actions during a meeting.
Chatbots are predicted to be progressively present in businesses and will automate tasks that do not require skill-based talents. Companies are getting smarter with touchpoints and customer service now comes in the form of instant messenger, as well as phone calls. IBM recently predicted that 85% of customer service enquiries will be handled by AI as early as 2020. The call centre workers may be particularly at risk from AI.
You can structure these modules to flow in any way you like, ranging from free form to sequential. The Bot Framework SDK provides several libraries that allows you to construct any conversational flow your bot needs. For example, the prompts library allows you to ask users for input, the waterfall library allows you to define a sequence of question/answer pair, the dialog control library allows you to modularized your conversational flow logic, etc. All of these libraries are tied together through a dialogs object. Let's take a closer look at how modules are implemented as dialogs to design and manage conversation flows and see how that flow is similar to the traditional application flow.
One pertinent field of AI research is natural language processing. Usually, weak AI fields employ specialized software or programming languages created specifically for the narrow function required. For example, A.L.I.C.E. uses a markup language called AIML, which is specific to its function as a conversational agent, and has since been adopted by various other developers of, so called, Alicebots. Nevertheless, A.L.I.C.E. is still purely based on pattern matching techniques without any reasoning capabilities, the same technique ELIZA was using back in 1966. This is not strong AI, which would require sapience and logical reasoning abilities.