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.
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.
Unfortunately the old adage of trash in, trash out came back to bite Microsoft. Tay was soon being fed racist, sexist and genocidal language by the Twitter user-base, leading her to regurgitate these views. Microsoft eventually took Tay down for some re-tooling, but when it returned the AI was significantly weaker, simply repeating itself before being taken offline indefinitely.
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.
Chatbots have been used in instant messaging (IM) applications and online interactive games for many years but have recently segued into business-to-consumer (B2C) and business-to-business (B2B) sales and services. Chatbots can be added to a buddy list or provide a single game player with an entity to interact with while awaiting other "live" players. If the bot is sophisticated enough to pass the Turing test, the person may not even know they are interacting with a computer program.
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.
Another option is to integrate your own custom AI service. This approach is more complex, but gives you complete flexibility in terms of the machine learning algorithm, training, and model. For example, you could implement your own topic modeling and use algorithm such as LDA to find similar or relevant documents. A good approach is to expose your custom AI solution as a web service endpoint, and call the endpoint from the core bot logic. The web service could be hosted in App Service or in a cluster of VMs. Azure Machine Learning provides a number of services and libraries to assist you in training and deploying your models.
Through Knowledge Graph, Google search has already become amazingly good at understanding the context and meaning of your queries, and it is getting better at natural language queries. With its massive scale in data and years of working at the very hard problems of natural language processing, the company has a clear path to making Allo’s conversational commerce capabilities second to none.
Jabberwacky learns new responses and context based on real-time user interactions, rather than being driven from a static database. Some more recent chatbots also combine real-time learning with evolutionary algorithms that optimise their ability to communicate based on each conversation held. Still, there is currently no general purpose conversational artificial intelligence, and some software developers focus on the practical aspect, information retrieval.