You can use deep learning to build a chatbot. Various deep learning architectures are available to solve specific variety of use cases. For instance, for computer vision (i.e. image recognition) you would use a convolutional neural network as the starting point, for language translation or text generation you would go with recurrent neural network and so on.
For understanding chat conversations, you would start with a variant of recurrent neural network. You will build a sequence to sequence model. A sequence to sequence model in simple words consist of 2 components, the first component (encoder) tries to understand context of input sentence through its hidden layers and the second component (decoder) takes in the output from encoder and generates the response.
The above techniques require you to have a large set of training data, containing questions and responses. The technique works in a closed domain, but as the responses are dynamic in nature, putting it directly to your end users can be a bit risky. Secondly, these techniques don’t work when you want to interpret the input sentence to extract the information and formulate a response on your own, like the shopping advisor query use case that we discussed above.
In case of open ended domain, the chatbots would start behaving similar to Microsoft Tay chatbot example I gave earlier.
Tip – With RNNs, the response/answer is dependent on its previous states (or earlier states). So, for deep conversational use case, where context needs to be available, the RNNs doesn’t work. You need to employ variants on RNN called LSTM. (Long Short Term Memory networks). There are a lot of research going around this area. Going through various deep learning architecture is outside the scope of the section.