A chatbot is expected to be capable of supporting a cohesive and coherent conversation and be
knowledgeable which makes it one of the most complex intelligent systems being designed
nowadays. Designers have to learn to combine intuitive explainable language understanding and
reasoning approaches with high-performance statistical and deep learning technologies. Today
there are two popular paradigms for chatbot construction: 1. Build a bot platform with
universal NLP and ML capabilities so that a bot developer for a particular enterprise not
being an expert can populate it with training data 2. Accumulate a huge set of training
dialogue data feed it to a deep learning network and expect the trained chatbot to
automatically learn how to chat. Although these two approaches are reported to imitate some
intelligent dialogues both of them are unsuitable for enterprise chatbots being unreliable
and too brittle. The latter approach is based on a belief that some learning miracle will
happen and a chatbot will start functioning without a thorough feature and domain engineering
by an expert and interpretable dialogue management algorithms. Enterprise high-performance
chatbots with extensive domain knowledge require a mix of statistical inductive deep machine
learning and learning from the web syntactic semantic and discourse NLP ontology-based
reasoning and a state machine to control a dialogue. This book will provide a comprehensive
source of algorithms and architectures for building chatbots for various domains based on the
recent trends in computational linguistics and machine learning. The foci of this book are
applications of discourse analysis in text relevant assessment dialogue management and content
generation which help to overcome the limitations of platform-based and data driven-based
approaches. Supplementary material and code is available at https: github.com bgalitsky
relevance-based-on-parse-trees