  Chatbots are intelligent conversational computer systems designed to mimic
human conversation to enable automated online guidance and support. The
increased benefits of chatbots led to their wide adoption by many industries in
order to provide virtual assistance to customers. Chatbots utilise methods and
algorithms from two Artificial Intelligence domains: Natural Language
Processing and Machine Learning. However, there are many challenges and
limitations in their application. In this survey we review recent advances on
chatbots, where Artificial Intelligence and Natural Language processing are
used. We highlight the main challenges and limitations of current work and make
recommendations for future research investigation.
