Chatbots usually try to solve the task by taking the lead role during the discussion with proactively posing questions to figure out the broad user intent (like complaint about failure of a purchased product) and get answers that contain key information to fill the necessary gaps (what is the actual product in question, what is the nature of the failure, how was it used beforehand etc.) in order to recognize the full situation. Another potential step is to initiate some action (generally out of the scope of the chatbot itself) like opening a service ticket or taking feedback later. The difficulties of building such systems arise from handling a full, open ended conversation on one hand, and collecting annotated training data on other hand. Special threat is that a considerably subhuman level of such dialogue machines could easily result in fatigue, irritation, annoyance, and counter-productivity at the end, so some level of human control and tracking is essential in order to intervene in the necessary situations.
Added values (Why AI/ML/DL): automatic or semi-automatic handling of human interaction for cost efficiency, scale out.
Proposed tech stack: Linux, Python (Anaconda), Scikit-learn, NLTK, gensim, TensorFlow, PyTorch, RASA