What is NLP?

Natural Language Processing – or “NLP” – is a branch of Artificial Intelligence that deals with the understanding and interpretation of human language. With NLP Tools, computers can take in language, understand the intents of those language inputs, and match them with the responses designated for those intents.

So what does that really mean? It means we can work with you to develop conversations and FAQ-type databases. Then we train the NLP Engine to understand the expected user inputs, match those with the appropriate responses, and continually monitor and improve the training and response data to make the avatar’s conversational ability more robust and accurate the longer it is active.

NLP Features


As humans, we take for granted some of the complexities of every day language. Say, for example, you’re talking to a friend about a restaurant you want to visit. Then maybe your friend says, “How did you find out about it?” We know, from the context, that “it” is referring to the restaurant. Enabling computer-driven communications needs to have the same ability to understand contexts to make conversations flow naturally.

NLP allows for conversation flows to be based on a context and provides the technology to let users switch easily among contexts.

Supplemental Questions

Let’s continue with our restaurant example above. During the conversation, you mention that the restaurant has outdoor seating. Your friend then asks, “what is the weather supposed to be like?” You answer, and then you return to discussing the restaurant. That question might not be one directly in the context of the restaurant. But interrupting the conversation to ask about the weather, in real life, doesn’t usually end our previous conversation, either.

NLP can handle that. Users can ask seemingly unrelated questions – even when in the middle of a conversation flow – have those questions answered, and then pick up where they left off in the conversation.

Intents & Entities

So you’ve decided you want to make a reservation at this new restaurant. You go to a reservation booking site, and you tell the NLP-enabled assistant, “I’d like to make a reservation.” The system now knows to switch to its “Make reservation” series of actions because your intent is to book a table.

But there’s definitely some information missing from your request. Which restaurant? What day and time? How many people in your party? For the assistant to book your reservation, it needs to extract these entities from your conversation to complete the task.

NLP can do this. When engineering the conversation, we’ll identify any information that might be missing from a user intent to ensure it can be collected and the task can be completed. Maybe in the request, the user already mentioned the restaurant and the number of people but not the date or time. NLP can extract those entities from the user’s initial request and only prompt for the missing information (date and time) to make the conversation as natural as it would be if you called a restaurant and talked to a human to make your reservation.


Our core system supports more than 30 languages currently. If you need to support users in multiple languages, NLP can accept inputs that let it know which language the customer would like to use. For example, code can be put in place to detect that the user has Spanish set as their default browser language, and then pass that value to the NLP. If your conversation content and training data has a Spanish counterpart, the NLP will understand conversation and respond in Spanish.


Being able to understand, in aggregate, the types of conversations an avatar is having with users on a regular basis can provide great business insights into customer needs and areas of opportunity. NLP connects to analytics systems that can provide aggregated reports on conversations and allow diving into individual conversations to allow issues to be escalated and rectified where needed.

Continuous Improvement

Many people have the misconception that AI magically gets smarter all by itself. While it’s true that algorithms improve the more training data and outcomes occur, getting the most out of NLP requires human intervention. When users interact with NLP, on the back-end, we can see the questions that were asked, the responses that were delivered, and the level of confidence the NLP has that it delivered the correct answer.

This data allows us to do a few things to continually improve users’ experiences with NLP-driven avatars.

  • Identifying instances when the wrong answer was provided for a question allows us to enhance the training data for the questions to ensure better matches in the future.
  • Identifying questions for which there weren’t suitable answers allows us to find answers to those questions so in the future, users with those questions will get answers.
  • Understanding what questions are being asked most often (especially ones for which no answers were initially provided) can help our clients identify gaps in their customer understand and improve their customer service beyond the avatar experience.

All of this leads to avatars that get smarter the longer they’ve been deployed – and our clients continually improving the customer support they provide.