Saturday, February 17, 2007

Types of Knowledge

I was reading the book Knowledge Representation, An AI Perspective and there I came across a very simple but interesting classification of Knowledge. The knowledge at top level can be classified into two Categories:
  1. Domain Knowledge: This deals with the finer details about the domain an application is targeting to. The program knows which domain it is being used for. So the program has the details about the domain it is operating within.
    • The first type of domain knowledge is Structural Knowledge. It denotes the types of entities which are relevant to the application domain. In a Retail domain entities like Invoice, Receipt, Customer, Supplier needs to be mentioned as they are part of the knowledge within the domain. There are also occurances of hierarchical Knowledge eg Cash Receipt is a kind of Receipt and so is Cheque Receipt.
    • The Second type of domain knowledge is Relational Knowledge. This deals with relationship between the entities which are distinguished in Structural knowledge. In retail domain attaching Customer to an Invoice and Supplier to a Purchase Order is an example of Relational Knowledge. They help in deriving some logical conclusions based on the relationship among the entities like if the Invoice is not paid after the due date is over then the Customer Account is in Arrear.
  2. Strategic Knowledge: Domain knowledge is good as long as we collect the data and represent it in meaningful form. But in order to make some meaning out of the domain knowledge the Strategic Knowledge is being used. This knowledge is particularly used for solving problems within a domain. Say for example in the retail domain if a customer is been paying in time and last couple of invoices are due for payment. The supplier might still decide to sell him goods looking at his/her payment history.
While the distinction between Domain (Structural and Relational) and Strategic knowledge exists more at and abstract level. More often than not the domain knowledge is tightly associated with Strategic Knowledge.

This was first analysed by Clancey(1983) and Wielinga and Breuker(1986). The practical importance of this classification is often seen while developing expert system. There the human expert is first interrogated in order to understand how human expert solves problem in their area of expertise. The methods applied by experts are often driven by the domain knowledge they acquired over the years. This in turn creates a high-level of dependency between domain knowledge and strategic knowledge making it hard to be distinguished as two different.

While domain knowledge are very much fixed in nature, the strategic knowledge are driven by human factor as well. The human factor plays an important role in Strategic Knowledge. In order to develop a system for strategic purposes we need to have some sort of human factor incorporated. The best could be using domain knowledge to present Multiple Options to the user and let the user choose which one suits best or override all the options with the totally new option.

Until Next Time.... :)


Anonymous said...

nice. couldnt find it anywhere else on the WORLD WIDE WEB. or i didnt look hard enough. thanks anyways.