LSTM Encoder-Decoder Chatbot

Project Category

  • Deep Learning
  • Natural Language Processing


Chatbots have been on the rise since a couple of years and have already faced a wide adoption. They are bringing a new way for businesses to communicate with the world and most importantly with their customers by the help of exploding popularity of messaging apps, the accelerated development of all kinds of sensors and wearables and of course with the rise of emerging technologies and Artificial Intelligence (AI).


We used Seq2Seq Architecture for building a chatbot. We were provided chat data by Your Koseli Nepal.

Seq2Seq is a method of encoder-decoder based Deep Learning Model that maps an input of sequence to an output of sequence. The idea is to use 2 RNNs that will work together with a special token and try to predict the next state sequence from the previous sequence. Encoders and Decoders are simply LSTM cells which is based on RNN.

Encoder-It accepts a single element of the input sequence at each time step, process it, collects information for that element and propagates it forward.

Intermediate vector- This is the final internal state produced from the encoder part of the model. It contains information about the entire input sequence to help the decoder make accurate predictions.

Decoder- given the entire sentence, it predicts an output at each time step.


Technology Stack

  • Django
  • Python
  • Tensorflow – Keras