Original article was published on Artificial Intelligence on Medium
Issues in Knowledge Representation
The fundamental goal of knowledge Representation is to facilitate inference (conclusions) from knowledge.
The issues that arise while using KR techniques are many. Some of these are explained below.
Any attribute of objects so basic that they occur in almost every problem domain?
There are two attributed “instance” and “isa”, that are general significance. These attributes are important because they support property inheritance.
Relationship among attributes:
Any important relationship that exists among object attributed?
The attributes we use to describe objects are themselves entities that we represent.
The relationship between the attributes of an object, independent of specific knowledge they encode, may hold properties like:
- Inverse — This is about consistency check, while a value is added to one attribute. The entities are related to each other in many different ways.
- Existence in an isa hierarchy — This is about generalization-specification, like, classes of objects and specialized subsets of those classes, there are attributes and specialization of attributes. For example, the attribute height is a specialization of general attribute physical-size which is, in turn, a specialization of physical-attribute. These generalization-specialization relationships are important for attributes because they support inheritance.
- Technique for reasoning about values — This is about reasoning values of attributes not given explicitly. Several kinds of information are used in reasoning, like, height: must be in a unit of length, Age: of a person cannot be greater than the age of person’s parents. The values are often specified when a knowledge base is created.
- Single valued attributes — This is about a specific attribute that is guaranteed to take a unique value. For example, a baseball player can at time have only a single height and be a member of only one team. KR systems take different approaches to provide support for single valued attributes.
At what level of detail should the knowledge be represented?
Regardless of the KR formalism, it is necessary to know:
- At what level should the knowledge be represented and what are the primitives?
- Should there be a small number or should there be a large number of low-level primitives or High-level facts.
- High-level facts may not be adequate for inference while Low-level primitives may require a lot of storage.
Example of Granularity:
- Suppose we are interested in following facts:
John spotted Sue.
This could be represented as
Spotted (agent(John),object (Sue))
Such a representation would make it easy to answer questions such are:
Suppose we want to know:
Given only one fact, we cannot discover that answer.
We can add other facts, such as
Spotted(x, y) -> saw(x, y)
We can now infer the answer to the question.
Set of objects:
How should sets of objects be represented?
There are certain properties of objects that are true as member of a set but not as individual;
Example: Consider the assertion made in the sentences:
“there are more sheep than people in Australia”, and
“English speakers can be found all over the world.”
To describe these facts, the only way is to attach assertion to the sets representing people, sheep, and English.
The reason to represent sets of objects is: if a property is true for all or most elements of a set, then it is more efficient to associate it once with the set rather than to associate it explicitly with every elements of the set.
This is done,
- in logical representation through the use of universal quantifier, and
- in hierarchical structure where node represent sets and inheritance propagate set level assertion down to individual.
Finding Right structure:
Given a large amount of knowledge stored in a database, how can relevant parts are accessed when they are needed?
This is about access to right structure for describing a particular situation.
This requires, selecting an initial structure and then revising the choice.
While doing so, it is necessary to solve following problems:
- How to perform an initial selection of the most appropriate structure.
- How to fill in appropriate details from the current situations.
- How to find a better structure if the one chosen initially turns out not to be appropriate.
- What to do if none of the available structures is appropriate.
- When to create and remember a new structure.
There is no good, general purpose method for solving all these problems. Some knowledge representation techniques solve some of these issues.