I bet many of us still experience chatbots that mistake the context and throws funny answers! Why is it difficult for a bot to understand the underlying meaning, humor, and sarcasm that even a child can figure out? It is how the underlying knowledge network is wired. Agreed, it is unfair to compare the way a human brain learns with a chatbot engine. But there are ways to fine-tune it for a better customer experience. When done right, the chatbots can be highly effective to automate and handle several conversations in a specific domain for e.g., customer support, field technical support, lead engagement and many more.
How does a chatbot understand the intent of what is being asked for?
I regularly talk to teams who struggle to deploy a chatbot that converses in a contextual, seamless, and cohesive manner with their customers. Since the chat must be a two-way conversation, the chatbot needs to understand the intent of the statements. After all, the primary purpose of a chatbot is to make the other user feel understood and responds accordingly to what he/she is looking for. To do this, it classifies the written or spoken input based on what the user wants to achieve. If the chatbot can identify the intent accurately from the utterance, it can offer more contextual and personalized conversation experiences. Hence the first step in this complex process is the association of the conversation with an intent.
What is really happening under the hood?
How does a computer categorize the input data and try to understand? A simple way is to have a classifier to classify the data into sets. For example, ‘well done’ is an emotion and “am hungry” can mean the user’s interest in ordering food. Easier way to do this is by pattern matching to map it to the intents.
But what if a sarcastic statement follows “well done”? This is where chatbots that heavily rely on pattern matching would fail to meet the expectations. To understand the more sophisticated linguistic phenomena, Machine Learning (ML) and Deep Learning-based models those use neural networks can create multiclass classification.
How does it learn?
There are numerous ways conversational models can be developed. One of the common ways is to represent the data in numeric form so that the model can operate. The text corpus is represented as sentence vectors and the meaning can be derived from the multi-dimensional vectors. These vectors are used to classify the intents and derive meaning out of different sentences on how they are related or is there an element of humor or sarcasm.
How can we optimize this?
Different approaches that suit the needs at the instance had to be selected on the fly. Same user submitted sentence needs to be evaluated under different vectors for varied functions such as context identification or sentiment analysis. Another approach is enabling the existing models to self-learn to improve the accuracy or make it complete. For a fluid conversation, episodic memory modelling helps in identifying the context based on previous context or intent. This helps in driving more meaningful and precise conversation.
Training the bot through multiple conversations and content examples will make it learn and interpret queries more effectively. But it can also lose accuracy if the number of intents grows exponentially, or every intent has multiple variations. Hence, using multiple models on the same text input to determine the words, positioning, conjugation, context, plurality, sentiment analysis, and many other factors of human speech is the better solution. Combining multiple models enable the system to understand the language better.
Reach out to our Enterprise AI product team at firstname.lastname@example.org to accelerate your chatbot projects. We built an out-of-the-box AI-driven service excellence solution that goes beyond chatbot use cases and has proven cost savings by over 20%.