I work for chatbot building platform: http://deeppixel.ai/. We use state-of-the-art ensemble of deep learning algorithms that try to understand the meaning of sentences by taking the whole sentence as well as bag of words/bag of ngrams. In addition to that, we use classic NLP techniques like POS tagging, constituency parsing, dependency parsing, Named Entity Recognition (NER), clustering.