Engineering

Conversational AI Chatbots for Customer Service

Conversational chatbots have been changing the field of enterprise AI, and companies have started using the capabilities of chatbots in various stages of their business. Chatbots help with many mundane business processes like filling out forms, answering frequently asked questions, or making recommendations. Contextual chatbots help in answering specific questions with greater accuracy. There are many advantages of using conversational chatbots, which we will discuss in this blog.

Personalized assistance

Creating a custom experience for your customers is a tedious task, but conversational chatbots are a convenient alternative to achieve it.  

Many times businesses have a tough time figuring out whether they need a chatbot or not. Look at the below flow chart to determine that.

Chatbot Architecture

Chatbots can typically fall into two categories:  

Retrieval-Based Models (The Exploitation Approach)

These models rely on lookup tables or a knowledge base to select a response from a predefined set of answers. Although this method might seem naive, most chatbots in production are of this kind. Of course, there can be various degrees of sophistication in selecting the best answer from the lookup tables or knowledge base.  

Generative models (The Exploration Approach)

Generative models generate responses on the fly instead of adopting a lookup-based approach. These are probabilistic models or models based on machine learning.  

Retrieval-based models and generative models come with their set of pros and cons. Since retrieval-based models answer from a fixed set of answers, they are unable to handle unseen questions or requests. Generative models are much more sophisticated; they can understand the entities in the user input and generate human-like responses. However, they are harder to train and require much more data training. They are also prone to making grammatical mistakes, which retrieval-based models cannot make.

A Sequence-to-Sequence Model using an LST

The sequence-to-sequence model architecture is well suited for capturing the context of the customer input and then generating appropriate responses based on that. The figure below shows a sequence-to-sequence model framework that can respond to questions just as a chatbot would:

We can see from the preceding diagram that the Encoder LSTM takes the input sequence of words and encodes it into a hidden state vector h and a cell state vector c. The vectors h and c are the hidden and cell states of the last step of the LSTM encoder. They would essentially capture the context of the whole input sentence.

The encoded information in the form of h and c is then fed to the Decoder LSTM as its initial hidden and cell states.  

The Decoder LSTM in each step tries to predict the next word conditioned on the current word. This means that the input to each step of the Decoder LSTM is the current word.  

To predict the first word, the LSTM would be provided with a dummy start keyword <BOS> that represents the beginning of the sentence.  Similarly, the <EOS> dummy keyword represents the end of the sentence, and once this is predicted, the output generation should stop.

During the training of a sequence-to-sequence model for each target word, we know apriori the previous work that is an input to the Decoder LSTM. However, during inference, we won't have these target words, and so we would have to feed the previous step as an input.

Building a sequence-to-sequence model with a modified architecture sequence-to-sequence

The architecture of the sequence-to-sequence model that we will be used for building the chatbot will have slight modifications to the basic sequence- to-sequence architecture illustrated previously.

Instead of feeding the hidden state h and the cell state c of the last step of the encoder to the initial hidden and cell states of the Decoder LSTM, we feed the hidden state at each input step of the decoder.

To predict the target word wt at any step t, the inputs are the previous target word, wt-1, at any step, t-1, and the hidden state h.

Well, we went into too many technicalities. That's what we do, and we are great at it. However, if you are looking for ways to enhance your customer service department, consider chatbots. With appropriate usage and implementation, chatbots enhance user experience, increase engagement and assist customers effectively.

Contact us today at marketing@codvo.ai .

You may also like