Knowledge Representation Formalisms
Knowledge Representation Formalisms: Some of the abstract knowledge representation mechanisms are the following:
Simple relational knowledge: The simplest way of storing facts is to use a relational method where each fact about a set of objects is set out systematically in columns. This representation gives little opportunity for inference, but it can be used as the knowledge basis for inference engines.
- Simple way to store facts.
- Each fact about a set of objects is set out systematically in columns.
- Little opportunity for inference.
- Knowledge basis for inference engines.
We can ask things like:
- Who is dead?
- Who plays Jazz/Trumpet etc.?
This sort of representation is popular in database systems.
Inheritable knowledge: Relational knowledge is made up of objects consisting of
- attributes
- corresponding associated values.
We extend the base more by allowing inference mechanisms:
• Property inheritance
- elements inherit values from being members of a class.
- data must be organised into a hierarchy of classes.
- Boxed nodes -- objects and values of attributes of objects.
- Values can be objects with attributes and so on.
- Arrows -- point from object to its value.
- This structure is known as a slot and filler structure, semantic network or a collection of frames.
The algorithm to retrieve a value for an attribute of an instance object:
- Find the object in the knowledge base
- If there is a value for the attribute report it
- Otherwise look for a value of instance if none fail
- Otherwise go to that node and find a value for the attribute and then report it
- Otherwise search through using isa until a value is found for the attribute.
Inferential Knowledge: Represent knowledge as formal logic:
All dogs have tails : dog(x) hasatail(x) Advantages:
- A set of strict rules.
o Can be used to derive more facts.
o Truths of new statements can be verified.
o Guaranteed correctness.
- Many inference procedures available to in implement standard rules of logic.
- Popular in AI systems. e.g Automated theorem proving.
Procedural knowledge: Basic idea:
- Knowledge encoded in some procedures
o small programs that know how to do specific things, how to proceed.
o e.g a parser in a natural language understander has the knowledge that a noun phrase may contain articles, adjectives and nouns. It is represented by calls to routines that know how to process articles, adjectives and nouns.
Advantages:
- Heuristic or domain specific knowledge can be represented.
- Extended logical inferences, such as default reasoning facilitated.
- Side effects of actions may be modelled. Some rules may become false in time. Keeping track of this in large systems may be tricky.
Disadvantages:
- Completeness -- not all cases may be represented.
- Consistency -- not all deductions may be correct.