cliffe and Pelletier 2016). Likewise, nearest neighbor
classification procedures require virtually no training
while neural networks typically require significant
training. During inference, however, a naïve nearest
neighbor algorithm (for example, linear lookup) will
likely be significantly slower than a neural network.
A good knowledge representation will support
growth in the knowledge base that was not anticipated during initial knowledge acquisition. Additionally, long-running systems must be capable of
evolving over time as the customer changes and the
context in which the system was initially deployed
migrates to other contexts and use cases. A good
knowledge representation will be able to represent
new knowledge concepts and adapt existing ones
without significant updates to the representation or
reasoning algorithms. The American Authorizer’s
Assistant, the FinCEN system, and the ADS systems
are all good examples of this lesson in action.
In summarizing 10 years of work on Mycin,
Buchanan and Shortliffe (1984) attributed the success
of the program to flexibility — in the rule-based representation that allowed rapid modification and in
the reasoning that allowed reaching reasonable conclusions with imperfect or missing information.
It is helpful if the knowledge representation can be
understood and modified by subject matter experts,
who may not be (and typically are not) experts in
computer programming and knowledge representation. Ideally, software engineers will not need to be
called in whenever the knowledge base needs an
update. As John McCarthy noted, declarative representations are more learnable and maintainable than
procedural ones (McCarthy 1960). The reason is that
declarative representations are better separated from
internal conventions of the reasoning algorithms,
thus allowing subject matter experts to focus on the
knowledge being represented.
Today, it is particularly important for subject matter
experts to be able to interpret and modify the results
of machine-learning systems that are driven primarily
by raw data and empirical validation. They may, for
example, suggest that there are critical data sets missing that would improve the analysis, and avoid simply
handing the problem over to data scientists.
In organizations, the AI system encodes and represents the decision criteria of the management. Thus,
when the AI system suggests a decision, it should be
able to explain that decision to the user so that the
user (and the management) can “own it and be able to
defend it” in terms of the organization’s decision criteria. Explanation may be unnecessary if the algorithm makes money, for example, Wall Street trading.
But in many other contexts, without an explanation
system, organizational and user acceptance of AI
applications is more challenging. This has been under-
stood since SHRLDU in the Blocks World (Winograd
1972), and Mycin, in the knowledge-intensive world
of medicine (Buchanan and Shortliffe 1984).
Explainability is more problematic in the case of
noninterpretable models such as neural networks, in
which it is not at all clear exactly what knowledge has
been stored as a result of training.
Lately, there has been some discussion in the press
about “algorithmic accountability” (Diakopoulos
2013, Lohr 2015), and several companies are pursuing explanation as a differentiator, for example, Watson Paths and the Narrative Science extension for the
Qlik visual analytics tool (Hammond 2015).
Separate the Knowledge Base
and the Inference Engine
As a corollary of the maintainability of declarative
representations, the pioneers also taught us that it is
a good idea to separate the knowledge base and the
inference engine because a separate knowledge base
is easier to change, update, debug, and explain. Recognizing the importance of separation, from a knowledge representation and a knowledge delivery perspective, many people have devoted their time to the
development of expert system shells (for example,
M1, S1, ART and CLIPS), knowledge representation
languages (for example, KL-ONE and OWL), ontology editors (for example, Protégé), and general-purpose machine-learning models.
Incorporate a Variety of Techniques
Successful AI applications incorporate a wide range of
techniques, strategies, and knowledge, embodying
rules, objects, ontologies, statistics, and signal processing to name a few. Self-driving cars are an obvious
example. Their capabilities include modeling, simulation, sensing, motion planning, object recognition,
obstacle avoidance, machine learning, error recovery,
and so on. The learnings have been reported multiple
times at AAAI (Montemerlo et al. 2006, Thrun 2006)
and IAAI (Urmson et al. 2009).
Modern text-analytics systems also illustrate the
point. For example, the i2k Connect platform uses a
variety of knowledge and AI techniques to perform
document reading and enrichment. It uses ontologies
to represent domain-specific knowledge about, for
example, the oil and gas industry, the field of artificial
intelligence, and topics related to supply-chain management and health care. Document text and metadata are extracted using machine-learning methods.
Visual and language rules are used to extract the document’s title and summary. Documents are then analyzed with a variety of rules in order to identify the
domain-specific topics that the document is about.
Multiple technologies from AI and elsewhere are
needed for this processing pipeline.
A combination of various kinds of knowledge and
techniques should be expected in any large-scale AI