In this section, we will understand how to represent the knowledge in the form which could be understood by the knowledge-based agents. The knowledge that is stored in the system is related to the world and its environment. It is stored in the system to prepare these systems to deal with the world and solve complex problems in a better way.
A machine sounds like an empty box unless it is encoded with some features or information. Therefore, to make it a valuable machine, it is required to put the necessary knowledge in it. So that it could understand it and is able to take the right decisions.
There are three factors which are put into the machine, which makes it valuable:
- Knowledge: The information related to the environment is stored in the machine.
- Reasoning: The ability of the machine to understand the stored knowledge.
- Intelligence: The ability of the machine to make decisions on the basis of the stored information.
With the increasing demand for the knowledge representation technique, there was a need for larger and modular knowledge that could integrate and combine with one another. Ontological engineering is the engineering of such systems which could represent the complex domains effectively. With the help of ontological engineering, the representation of the general concepts such as actions, time, physical objects, performance, meta-data, and beliefs becomes possible on a large-scale.
For special type of representations, we require a special type of ontology known as Special ontology. But for special ontologies, there is a need to move towards a high-level generality.
There are two following major characteristics which distinguish general ontologies from the special one:
- General ontologies should be applicable in every type of special-purpose domains with some domain-specific axioms.
- When there is a sufficiently demanding domain, the areas of knowledge should be unified.
Unfortunately, none of the applications of artificial intelligence make use of the shared/general ontology, all they use is special ontology.
Properties of a Knowledge Representation system:
There are following properties of a Knowledge Representation system:
- Representational Adequacy: It is the ability of the system to represent all kinds of knowledge needed in a specific domain.
- Inferential Adequacy: It is the ability of a knowledge representation system to manipulate the current stored knowledge so that newly gained knowledge could be added.
- Inferential Efficiency: It is the ability of the system to directly add new knowledge in the system with efficiency
- Acqusistional Efficiency: It is the ability of the system to automatically acquire new knowledge from the environment. This leads the system to give more productive result as more knowledge adds up with the current knowledge.
Techniques used for Knowledge Representation
There are following techniques used to represent the stored knowledge in the system:
- Logic: It is the basic method used to represent the knowledge of a machine. The term logic means to apply intelligence over the stored knowledge.
Logic can be further divided as:
- Propositional Logic: This technique is also known as propositional calculus, statement logic, or sentential logic. It is used for representing the knowledge about what is true and what is false.
- First-order Logic: It is also known as Predicate logic or First-order predicate calculus (FOPL). This technique is used to represent the objects in the form of predicates or quantifiers. It is different from Propositional logic as it removes the complexity of the sentence represented by it. In short, FOPL is an advance version of propositional logic.
Note: We will discuss the above two techniques in Propositional logic and
First-order logic sections.
- Rule-based System: This is the most commonly used technique in artificial intelligence. In the rule-based system, we impose rules over the propositional logic and first-order logic techniques. If-then clause is used for this technique. For example, if there are two variables A and B. Value of both A and B is True. Consequently, the result of both should also be True and vice-versa. It is represented as:
If the value of A and B is True, then the result will be True. So, such a technique makes the propositional as well as FOPL logics bounded in the rules.
- Semantic Networks: The technique is based on storing the knowledge into the system in the form of a graph. Nodes of a graph represent the objects which exist in the real world, and the arrow represents the relationship between these objects. Such techniques show the connectivity of one object with another object. For example, Consider the given knowledge stored in a machine:
Ram has a cycle.
Ram is a boy.
Cycle has a bell.
Ram is 12 years old.
Cycle has two paddles.
Representing the above information in the form of a graph looks like:
- Frames: In this technique, the knowledge is stored via slots and fillers. As we have seen in DBMS, we store the information of an employee in the database, where:
Similarly, the Slots are the entities and Fillers are its attributes. They are together stored in a frame. So, whenever there is a requirement, the machine infers the necessary information to take the decision. For example, Tomy is a dog having one tail.
It can be framed as:
Tomy((Species (Value = Dog))
(Feature (Value = Tail)))
- Script: It is an advanced technique over the Frames. Here, the information is stored in the form of a script. The script is stored in the system containing all the required information. The system infers the information from that script and solves the problem
Challenges/Issues in Knowledge Representation
- Important Attributes: Some basic attributes were occurring in almost every problem domain.
- Relationship among attributes: Any important relationship which exists among object attributes.
- Choosing Granularity: How much detailed knowledge is needed to be represented?
- Set of Objects: How to represent the set of objects?
- Finding the right structure: The information is stored in a large amount. The question is how to access the relevant information out of whole?