Expert systems in the era of machine learning
Manu Cohen-Yashar
Distinguished Data Architect at Walmart Advanced Systems & Robotics | Transform organizations to be data-driven.
In the last few months, I have been learning and experimenting with machine and deep learning. In my journey, I saw promising solutions to classical AI problems such as classification, clustering, and regression, but I did not find an approach for building full expert systems.
I read about the vision of expert systems that would guide us in the future in every aspect of our daily life, but I found no algorithm that can execute that. Expert systems will mimic human experts. They should be able to give us smart advice as if we were to ask human experts a question about their domain of expertise. We assume that when we ask multiple experts the same exact question we should get similar results based on the expert’s deep knowledge and understanding of the domain. Sophisticated domains often have multiple schools, so it’s reasonable to expect to get different answers, but it should be possible to group them based on the school to which the expert belongs.
In a more formal manner, we can say that questions and answers belong to n-dimensional spaces for a specific domain. When we ask multiple experts an identical question, (i.e. a vector in the input space), we should get answers (i.e. a point in the output space) that could be easily clustered into several groups. A non-expert will give us just a random answer, but the answers of experts will belong to a cluster with reasonable variance. For example, we expect that Cardiologists will give us a similar diagnosis when we present them with identical symptoms. Maybe that is an extreme example, but it should work well for the simple cases (that doctors often call the bread and butter), in which doctors spend most of their time. So how do we build those n-dimensional spaces and how do we find the function that maps between a question and the recommended course of action?
How do we build such a system in the era of Big data & AI? An expert system is not a new concept. The traditional design of an expert system is based on inference engines that compile rules and facts to compute as answers but today we know that it's not realistic in most domains. Rules systems are expensive and tend to be static. Yet the reality is changing fast and so rules get irrelevant very quickly. Does machine learning, or deep learning have a solution to the problem of expert systems?
I believe that expert systems involve all basic aspects of machine learning. Classification, clustering, regression, and recommendation all have something to do with expert systems but when digging into each of those I only saw a solution to very specific problems such as identify elements in a picture or predict a value of some function. That tells me that machine learning algorithmics is not enough to develop expert systems. In my next article, I will write an introduction to knowledge-based AI and cognitive systems that together with machine learning methods will enable us to automate human cognition.