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.

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.

A chatbot (also known as a spy, conversational bot, chatterbot, interactive agent, conversational interface, Conversational AI, talkbot or artificial spy entity) is a computer program or an artificial intelligence which conducts a conversation via auditory or textual methods.[1] Such programs are often designed to convincingly simulate how a human would behave as a conversational partner, thereby passing the Turing test. Chatbots are typically used in dialog systems for various practical purposes including customer service or information acquisition. Some chatbots use sophisticated natural language processing systems, but many simpler ones scan for keywords within the input, then pull a reply with the most matching keywords, or the most similar wording pattern, from a database.