Natural Language Bots

Freshchat-bot is a conversational AI bot that provides real-time messaging and chat support to help businesses engage with their customers effectively. It offers features like omnichannel messaging, intelligent workflows, and integrated CRM to provide a seamless and personalized experience for customers.. My role was to improve the bot building experience.

Project Type

Team of 2

Role

Research, ideation, UI and UX design.

Duration

Early 2022 (2 Month)

Creating a foundation

My role

I joined the Freshworks team in early 2022 with the responsibility of working on Bots and designing the user experience. This involved working closely with users and bot admins to identify product opportunities, connecting with engineers to understand technical and hardware constraints, validating solutions, and regularly checking in with support to understand potential pain points among beta testers.

Problem Statement

Freshchat is a messaging platform that businesses use to engage with their customers. Freshchat offers directional bots for various use-cases to generate conversational experiences. However, directional bots are limited in their ability to recognize context and deliver dynamic responses. Therefore, we planned to improve its chatbots by implementing advanced machine learning techniques to recognize the context and provide dynamic responses.

Understanding the competition

Analysed various aspects of converational bot training with different competitors and smililar intergrations to understand the various approaches and it helped us arrive at what suits our product architecture and customer persona.

Answers

Bots comprehend queries by comparing them to a set of sample questions, which we refer to as Training Questions. Each Answer has its own unique set of Training Questions. Each Answer requiring between 10 to 20 Training Questions for accurate detection.

Training phrases

Annotating parts of your training phrases and configuring the associated parameters can help the admin control how the data is extracted.

Natural Language

Kore.ai has 2 models NLP and FML. Every dialogue starts with an intent and each intents can be trained using utterances when an intent is trained entities gets added automatically with out any latency. FLM uses synonym and patterns to understand the user.

Natural Language

Each dialogue in a bot can be trained with 10 or more manually entered utterance and the Haptik’s NLP trains the bot with more similar auto generated utterances and mark entities.

Training phrases

Landbot uses Dialogflow for its intents. Training phrases can be annotated, and configuring the associated parameters can help the admin control how data is extracted.

Dynamic NLP

Yellow.ai DynamicNLP is Zero-shot Learning. This NLP engine helps Dynamic AI Agents improve the intent performance, which ensures that your customers get accurate responses from day one.

Key Learnings

Adding intents to bot flows can be a crucial step in making machine learning algorithms understand the intent behind user messages. By including training questions (sample user utterances), chatbots can more accurately comprehend user queries. Additionally, annotating training phrases can significantly improve the accuracy of data extraction for better intent and entity recognition.
There are several other techniques that can help improve the performance of chatbots. One such technique is to include fallback responses when a chatbot is unable to comprehend the user’s query.

User flow

At this point, we took into consideration everything we had learned and identified so far. Then, I created flows for our main scenarios and identified the features we wanted to include in the product. Finally, we made a user flow that helped us think in detail about every feature and the steps the user would have to take to access them.

Exploration and Iteration

Initially, we explored the many different ways to approach intents and answers . Started ideating multiple ways to approach this task, each with its own advantages and disadvantages. As such, I spent some time weighing the pros and cons of different approaches and considering how each would impact the user experience. Ultimately, I settled on a structure that I believe will provide users with an intuitive and efficient means of accessing and utilizing bot templates.

What did we improve

Creating intents from scratch

Bot admins and users can create intents unique to their business flows by building them from scratch and adding 5 or more utterances to the intent. These utterances serve as examples for the natural language model to learn from, allowing it to better understand the user’s intent and provide more accurate responses. The more utterances provided, the better the natural language model becomes at understanding the user’s intent, leading to a more seamless and effective conversation between the user and the bot.

Intents Template

Intents will contain pre-defined industry template for common industries along with their respective utterances. Bot administrators can save time and effort as they don’t have to define them from scratch. Instead, they can simply choose the appropriate intent for their specific use case and modify it as needed.

Retrain Intents

Unanswered user queries will be queued for retraining. The bot admin must map them to either an intent or a question. For every utterance lined up for retraining, the conversation context will be shared with the admin through conversation history. Out of all the unmapped user queries, only 30% of them will be lined up for retraining. If the bot admin trains these 30% of the queries in the suggested sequence, active learning will help auto-train the remaining 70% of the queries.

Measuring Impact

New intents was adopted by 15 customers and total bot having intents enabled and triggered – 3504. Total unanswered question on average dropped from 14,000 -15,000 to 6000 in the first month.

This helped us build a version that we felt confident in — but it doesn’t stop there. Now that the product is updated and released to everyone, We saw a significant increase in the percentage of users who started creating bots. Specifically, we observed a 36.4% increase in the number of users who started creating bots using the templates. Additionally, the completion rate of bots created using the new interface improved by 28.8%.

A product is never finished

We started by building a simple prototype where we had people in our office test drive the new design; We also ran the same experiment with some of our customers. This didn’t need to be a full scale A/B test, but a few gut checks along the way made us more confident in the final result.

Improving a product is a never-ending process. It is important to always strive for progress and innovation. With this in mind, we have created a structure that enables us to make rapid progress in improving our product.