Knowledge Representation and Reasoning (KRR)

Knowledge representation and reasoning (KRR) is about converting information from an area of knowledge into machine understandable form and then enabling a machine such as a computer using software to process that information in a manner that is as good as a human could have performed that task/process or even better than a human could have performed that task/process.

For example, some task or process currently performed by humans that, if measured, would achieve a sigma level of 3 which is a defect rate of 6.7% (about 67,000 defects per million opportunities) would be improved and would achieve a sigma level of 6 which is a defect rate of 0.00034% (about 4 defects per million opportunities).

You are hearing me right, defects go from a whopping 67,000 down to 4.  Think I am joking or on drugs?  The Federal Deposit Insurance Corporation (FDIC) call report collection system went from 18,000 defects (reporting errors) down to 0 defects when it modernized their call report system to make use of XBRL.  That was in 2003 and that was an easier forms-based system but they still had around 18,000 reporting errors every quarter.  But now the same results can be obtained for a customizable reporting system.

So how do you make all this work?  How do you get a machine to perform work better, faster, and/or cheaper than humans?  The answer is: very carefully, very deliberately.  Here are some things that you need to consider.

  • Knowledge representation approach
  • Acquiring knowledge to represent
  • Approach to reasoning on the represented knowledge
  • Technical implementation of software for selected reasoning approach
  • Operator of implemented software

The sections below looks into the choices you have to make for each of of these areas in order to get knowledge representation and reasoning to work effectively.

Knowledge representation approach

There are a number of different approaches that a knowledge representation might take, each approach having a different level of expressivity, which forms a knowledge representation spectrum. The logical theory is the most powerful approach in terms of expressive power.


Acquiring knowledge to represent

There tends to be three approaches to acquiring knowledge for some area of knowledge.  These three approaches are:

  • Handcrafted knowledge: Skilled and experienced subject matter experts for some area of knowledge create/construct the knowledge representation.  This approach can be costly and take time, but it also yields the highest result if done correctly.
  • Statistical learning: Also referred to as machine learning, of which there are various forms, but all approaches are based on probability and statistics.  While this approach can cost less, the quality can be significantly lower. This tends to be referred to as unsupervised learning.
  • Combining handcrafted knowledge approach and statistical learning approach: Combining both approaches, called supervised statistical learning, is where humans and machines work together to achieve the highest quality result with the least expense and time being involved.

As any craftsmen or craftswoman knows, you need to use the right tool for the job.  A tool offers a basket of capabilities, PROs and CONs.  No tool is only PROs or only CONs. For example, statistical learning works best if the system are creating has a high tolerance to error. These types of systems work best for:
  • capturing associations or discovering regularities within a set of patterns;
  • where the volume, number of variables or diversity of the data is very great;
  • relationships between variables are vaguely understood; or, 
  • relationships are difficult to describe adequately with conventional approaches.
Statistical learning uses probability and statistics, correlations .  This is not to say that statistical learning is a bad thing.  It is not, statistical learning (a.k.a. machine learning) is a tool.  Using the wrong tool  for the job will leave you unsatisfied.  Ultimately, what you create will either work or it will not work to achieve your objectives. The craftsman's or craftswoman's task is to figure that out.

Approach to reasoning on the represented knowledge

Logic is a formal system that defines the rules of correct reasoning. Logic involves logical reasoning. Inference are steps in reasoning. There are three types of logical reasoning or types of steps in inference: deductive reasoning, inductive reasoning, and abductive reasoning.  This forms what is sometimes referred to as a "triad of reasoning approaches" or reasoning types. Those reasoning approaches are different tools that have different sets of capabilities, different sets of PROs and CONs.

A hybrid system can be created that combines all three approaches into one single tool that leverages the best of each approach. Again, a craftsman's or craftswoman's task is to figure that out.

Technical implementation of software for selected reasoning approach

There tends to be three primary groups of problem solving tools for implementing knowledge representation and reasoning against the representation:

  • Semantic web stack of technologies
  • Graph databases
  • Logic programming
All three implementation approaches can work, each has a basket of PROs and CONs that should be considered.

Operator of implemented software

There tends to be two primary groups of users of the software used to implement knowledge representation and reasoning:

  • Technical professionals
  • Nontechnical professionals (business professionals)

Irreducible complexity (a.k.a. essential complexity) is a term used to describe a characteristic of complex systems whereby the complex system needs all of its individual component systems in order to effectively function. 

In other words, it is impossible to reduce the complexity of a system (or to further simplify a system) by removing any of its component parts and still maintain its functionality objective because all those component parts are essential to the proper functioning of the system. So for example, consider a simple mechanism such as a mousetrap.  If you remove a piece, the mousetrap will not be able to function properly.

The Law of Conservation of Complexity states that: Every software application has an inherent amount of irreducible or essential complexity. The question is who will have to deal with that complexity: 

  • the application developer, 
  • the platform developer that the software runs on, or 
  • the software user.
A kludge is an engineering/computer science term that defines what is best described as a workaround or quick-and-dirty solution that is typically clumsy, inelegant, inefficient, difficult to extend and hard to maintain; but it gets the job done. By contrast, elegance is beauty that shows unusual effectiveness and simplicity.

The trick is to create the right tool for the job and include only essential complexity, not accidental complexity that is not necessary in the system.

Additional Information:

Comments

Popular posts from this blog

Relational Knowledge Graph System (RKGS)

Graph Hairball

PLATINUM Business Use Cases, Test Cases, Conformance Suite