Understanding the purpose of creating the chatbot is very important. It may be of achiving a high resolution of 80% and delight the user or it may be just creating a chatbot of 20% resolution. It is very important to learn about different approaches and technologies and finally implement and experiment for high-resolution rate
Chatbots executes two types of task one is information seeking and the other one is transactional. It is relatively easier to create an information seeking bot than the transactional.
Some of the key consideration to keep in mind while building a chatbot:
Channels and modalities
Escalation to humans
Natural language can be applied to both inputs and outputs. Machine learning can enable higher performance and resolution rate but for implementation, it requires a lot of data and specific skills.
Rule based or directed dialog approach leaves a very limited option to the users for both input and output. There are various reasons for low performance for this approach:
1.Discovery challenges: complex business logics often has a large decision tree, finding a particular question gets very tedious since that particular quarry happens to be only a very small node of the whole tree.
2.Too restrictive: users become too restrictive while using this approach.
Some of the reasons for poor performance of NLP are:
1.The non-happy path, which shows the reality of conversation, is not taken care off.
2.Objective challenge: humans often like to change topic in the middle of a conversation, chatbots are unable to handle this transition in a smooth way.
The downside of manual conversation is that it is very time taking but if it is complemented with NLP it yields very satisfactory performance. AI for output and applying ML to a particular conversation changes the flow design. Pure AI approach requires large sets of data.