3  Knowledge Representation and Conceptualization

3.1 Understanding Knowledge

3.1.1 What is Knowledge?

Knowledge can be defined in several ways:

  • Being aware of and understanding facts, information, and truth.
  • Knowledge is experience. Experience can be defined as “compiled knowledge” — knowledge used so frequently that its application becomes immediate, allowing one to jump to conclusions.
  • The fact or condition of being aware of something.
  • Self-consciousness: the awareness of one’s own existence, sensations, thoughts, and surroundings.

Are facts and knowledge the same? No, facts are just a specific kind of knowledge. Facts are knowledge about the world. Rules are knowledge, too.

Knowledge is stored as symbols: something that stands for something else. This is done via internal representations: strings and numbers to represent entities in the real world, objects, or ideas.

3.1.2 Making Knowledge Computable

Providing knowledge in computable form requires:

  • Defining the domain.
  • Deciding on the vocabulary of predicates, functions, and constants.
  • Encoding the general, shared knowledge of the domain.
  • Encoding a description of the specific problem instance.
  • Providing queries to the inference procedure.

Making knowledge available to a computer means providing it with an automatic mechanism to carry out inferences. Processing knowledge and defining operators on the knowledge structures provides the ability to make inferences (like using resolution).

Inference, formally, is a process that, from a set of facts (data accurately representing specific properties of the domain) and rules (formal rules representing the dynamics of the domain), derives new facts and rules.

Processing knowledge means acquiring it. Here, we encounter the knowledge acquisition bottleneck: experts are either unwilling to share their knowledge or unable to formalize it (recall that experience is a form of knowledge).

3.2 Knowledge Representation

A good representation must have the following properties:

  • Highlight important objects and relationships, providing a faithful representation of reality.
  • Suppress irrelevant details: useless items make things more complex.
  • Allow generalizations.
  • Be understandable, complete, and concise.
  • Be usable, even if knowledge is incomplete.
  • Allow for easy manipulation of knowledge: easy information access, storage, retrieval, and modification.
  • Be computable and tractable.

The representation seeks to create a system capable of managing symbols to access the knowledge base and determine actions required to achieve specific goals.

3.2.1 Modeling the World: From Concept to Implementation

First, at the conceptual level, we must distinguish interesting objects and properties from irrelevant ones; this boundary is subjective. This is what we call conceptualization. Then, we can move to the representation level to define a model for these objects and properties. The model is implemented at the implementation level through production systems, logic programming, and other kinds of pattern-directed inference systems.

3.3 Conceptualization

Conceptualization is the identification of objects and their relationships presumed or assumed to exist in the world, defined with a formal and organized structure.

The output of a conceptualization is composed of:

  • Entities/Classes, with attributes and instances.
  • Relationships, to link entities and classes, with (optional) attributes and instances.
  • (Typed) Attributes/Properties, to describe entities and relationships.
  • Values.

3.3.1 Formal Conceptualization

Formally, we can conceptualize with a triple <U, F, R>:

  • U is the universe of discourse: the set of objects we are interested in, the domain of discourse. If the universe is of size b, we have bn possible distinct n-tuples.
  • F: objects \rightarrow objects is the set of functions that can be applied to objects in the universe of discourse. Functions are mappings from one set of objects to another. A function allows associating objects with other objects.
  • R: objects \rightarrow [True, False] is the set of relations that can be applied to objects in the universe of discourse. Relations are mappings from a set of objects to a truth value (true or false).

To understand the difference between functions and relations, consider the following example: if we have ontop/2, ontop(x, b) is a relation, while *ontop(x, _) = b* is a function; this means that a function returns a new object.

3.3.2 Scope, Detail, and Reification

Usually, the whole world cannot be described. The set of goals determines the limitations of the necessary and sufficient set and the description’s level of detail, where being too general may make reasoning impossible, while being too detailed may make reasoning intricate.

Some conceptualizations do not permit reasoning about properties of properties. The solution is the reification of functions and relationships: treating properties as objects in the universe of discourse. This allows the representation of properties of properties (e.g., transitivity, reflexivity, symmetry) and the definition of relations between properties.

3.4 Knowledge Representation

Logic provides the formal structure and inference rules, ontology defines the kinds of things that exist in the application domain, and calculus distinguishes knowledge representation from pure philosophy.