A chatbot platform provides you a set of services to design, develop and deploy your chatbot. They provide you with a framework and guided set of utilities to build a chatbot.
Cloud providers like AWS, Azure, IBM, Google Cloud provides you a set of services that help you to create conversations, understand the conversation language using NLP techniques, hooks to take required action and deliver the solution via APIs.
The fundamental approach adopted by each of these providers is same. They allow developers to
- Design conversation flows using some visual interface or tooling provided by cloud provider
- Through these conversation flows you
- Provide a set of questions and multiple ways you can ask the same question
- Define what is the Intent of the question. For example, for the question -” Find cheapest flight from US to UK”, the intent is to find the lowest air fare.
- What entities of interest to extract from the Intent. The chatbot provider needs to be made aware of these entities. In above example, entities are country list -, UK, US. These entities can be generic which are recognized automatically by the cloud provider or the cloud provider provides a mechanism where you can provide or train these entities (including synonyms etc.) through some tooling provided by the cloud provider.
- Use the entities extracted to carry out the required action for the intent. For instance, in the above example, call a flight API service providing UK and US as “from” and “to” locations.
- Provide the response.
- Test and expose the chatbot through an endpoint
- The cloud vendor typically provides an ability to expose the functionality for your chatbot through an endpoint, like a REST API.
The above technology work for simple to medium complexity flow – like FAQ, pointed questions and answers for customer query, fixed step of steps (booking a cab etc.) etc. Anything which requires sophisticated handling of queries, like the shopping advisor example, needs to be custom developed using NLP and other techniques.
Info – Microsoft has a QnA service (https://www.qnamaker.ai) that lets you create bot from FAQ.