If AI struggles with fourth-grade science question answering, should AI be expected to hold an adult-level, open-ended chit-chat about politics, entertainment, and weather? It is thus encouraging to see that Microsoft’s Satya Nadella did not give up on Tay after its debacle, and Amazon’s Jeff Bezos is sponsoring an Alexa social chatbot competition. I love this below quote from Jeff:
The front-end app you develop will interact with an AI application. That AI application—usually a hosted service—is the component that interprets user data, directs the flow of the conversation and gathers the information needed for responses. You can then implement the business logic and any other components needed to enable conversations and deliver results.
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."
If you visit a Singapore government website in the near future, chances are you’ll be using a chatbot to access the services you need, as part of the country’s Smart Nation initiative. In Australia, Deakin University students now access campus services using its ‘Genie’ virtual assistant platform, made up of chatbots, artificial intelligence (AI), voice recognition and predictive analytics.
For every question or instruction input to the conversational bot, there must exist a specific pattern in the database to provide a suitable response. Where there are several combinations of patterns available, and a hierarchical pattern is created. In these cases, algorithms are used to reduce the classifiers and generate a structure that is more manageable. This is the “reductionist” approach—or, in other words, to have a simplified solution, it reduces the problem.
With natural language processing (NLP), a bot can understand what a human is asking. The computer translates the natural language of a question into its own artificial language. It breaks down human inputs into coded units and uses algorithms to determine what is most likely being asked of it. From there, it determines the answer. Then, with natural language generation (NLG), it creates a response. NLG software allows the bot to construct and provide a response in the natural language format.
It won’t be an easy march though once we get to the nitty-gritty details. For example, I heard through the grapevine that when Starbucks looked at the voice data they collected from customer orders, they found that there are a few millions unique ways to order. (For those in the field, I’m talking about unique user utterances.) This is to be expected given the wild combinations of latte vs mocha, dairy vs soy, grande vs trenta, extra-hot vs iced, room vs no-room, for here vs to-go, snack variety, spoken accent diversity, etc. The AI practitioner will soon curse all these dimensions before taking a deep learning breath and getting to work. I feel though that given practically unlimited data, deep learning is now good enough to overcome this problem, and it is only a matter of couple of years until we see these TODA solutions deployed. One technique to watch is Generative Adversarial Nets (GAN). Roughly speaking, GAN engages itself in an iterative game of counterfeiting real stuffs, getting caught by the police neural network, improving counterfeiting skill, and rinse-and-repeating until it can pass as your Starbucks’ order-taking person, given enough data and iterations.
Generally, companies engage in passive customer interactions. That is, they only respond to inquiries but don’t start chats. AI bots can begin the conversation and inform customers about sales and promotions. Moreover, virtual assistants can offer product pages, images, blog entries, and video tutorials. Suppose a customer finds a nice pair of jeans on your website. In this case, a chatbot can send them a link to a page with T-shirts that go well with them.
The process of building, testing and deploying chatbots can be done on cloud-based chatbot development platforms offered by cloud Platform as a Service (PaaS) providers such as Oracle Cloud Platform Yekaliva and IBM Watson. These cloud platforms provide Natural Language Processing, Artificial Intelligence and Mobile Backend as a Service for chatbot development.
For designing a chatbot conversation, you can refer this blog — “How to design a conversation for chatbots.” Chatbot interactions are segmented into structured and unstructured interactions. As the name suggests, the structured type is more about the logical flow of information, including menus, choices, and forms into account. The unstructured conversation flow includes freestyle plain text. Conversations with family, colleagues, friends and other acquaintances fall into this segment. Developing scripts for these messages will follow suit. While developing the script for messages, it is important to keep the conversation topics close to the purpose served by the chatbot. For the designer, interpreting user answers is important to develop scripts for a conversational user interface. The designer also turns their attention to close-ended conversations that are easy to handle and open-ended conversations that allow customers to communicate naturally.
Each student learns and absorbs things at a different pace and requires a specific methodology of teaching. Consequently, one of the most powerful advantages of getting educated by a chatbot is its flexibility and ability to adapt to specific needs and requirements of a particular student. Chatbots can be used in a wide spectrum, be it teaching people how to build websites, learn a new language, or something more generic like teach children Math. Chatbots are capable of adapting to the speed at which each student is comfortable - without being too pushy and overwhelming.
Three main reasons are often cited for this reluctance: the first is the human side—they think users will be reluctant to engage with a bot. The other two have more to do with bots’ expected performance: there is skepticism that bots will be able to appropriately incorporate history and context to create personalized experiences and believe they won’t be able to adequately understand human input.
Natural Language Processing (NLP) is the technological process in which computers derive meaning from natural human inputs. NLP-Based Conversational Bots are machine learning bots that exploit the power of artificial intelligence, which gives them a “learning brain.” These types of conversational bots have the ability to understand natural language, and do not require specific instructions to respond to questions as observed in types of chatbots such as Scripted and Structured Conversational Bots.
Previous generations of chatbots were present on company websites, e.g. Ask Jenn from Alaska Airlines which debuted in 2008 or Expedia's virtual customer service agent which launched in 2011. The newer generation of chatbots includes IBM Watson-powered "Rocky", introduced in February 2017 by the New York City-based e-commerce company Rare Carat to provide information to prospective diamond buyers.