Decision Trees within Edison

In developing Edison, our in-house chatbot, we’ve explored a few different options on how to structure our responses. A simple question and response format was explored, a knowledge graph was constructed, and a decision tree model was trained. There are benefits to a simple Q&A structure, but the extent of services we wanted to provide couldn’t be explored in such a setting. As a result, our engineering team has worked to develop a decision tree. 

Should any client decide to look for nearby providers, we want to provide an option for booking an appointment and exploring available times. In the case that the client asks a question we can’t immediately answer, we want to save these queries and provide responses externally. 

Critical to our design is information gain, where we implement Gini Impurity. This measures the disorder of a set of elements, helping us understand which node-value pairs to split on to decrease the disorder among two resulting nodes. By recursively progressing through the tree and analyzing each node-value split, we can identify which splits are optimal for our chatbot.

Looking forward, Edison will soon be able to automatically generate and supply entire conversations, integrate with the rest of, book appointments, and communicate with the Nayya team. We’re excited to implement these changes so we can soon address many of the issues clients face today.