Transcript value

ARTIFICIAL INTELLIGENCE
[INTELLIGENT AGENTS PARADIGM]
KNOWLEDGE
REPRESENTATION SCHEMAS
Professor Janis Grundspenkis
Riga Technical University
Faculty of Computer Science and Information Technology
Institute of Applied Computer Systems
Department of Systems Theory and Design
E-mail: [email protected]
Knowledge Representation
Schemas
• Logical schemas
– First-order logic
– Higher-order logic
• Network schemas
– Semantic networks
– Conceptual graphs
• Procedural schemas • Structured schemas
– Rule-based systems
– Frames
– Scripts
Semantic Networks
• Definition: Semantic network (Quillian,
1967) is a knowledge representation schema
that captures knowledge as a graph. The
nodes denote objects or concepts, their
properties and corresponding values. The
arcs denote relationships between the
nodes. Both nodes and arcs are generally
labelled (arcs have weights).
Example of Semantic Network
covering
head
part of
animal
skin
fish
is a
swim
travel
travel
fly
is a
feathers
wings
covering
color
ostrich
travel
walk
red
has
bird
sound
is a
part of
is a
value
is a
travel
is a
opus
robin
is a
penguin
sound
canary
is a
has
color
value
brown
has
color
value
yellow
sing
tweety
has
color
value
white
Semantic Networks
• Typical relationships
– IS-A
– PART-OF
– HAS
– VALUE
– LINGUISTIC
Semantic Networks
• Typical relationships (continued)
– IS-A
• Supertype – type (superclass – class)
• Type – subtype (class – subclass)
• Subtype – instance (subclass – instance)
– PART-OF
• Supertype – type (superclass – class)
• Type – subtype (class – subclass)
Semantic Networks
• Typical relationships (continued)
– HAS
• Object – property
– VALUE
• Property – value
– LINGUISTIC
• Examples: likes, owns, travel, made of, …
Semantic Networks
• NETWORK EXTENSION
– Addition of new nodes and their
relationships
– Three ways of node addition:
• Similar object
• More specific object
• More general object
Semantic Networks
• REASONING
–Query node
–Answer search
• Answer localization at the query
node
• Path construction following labels
of arcs
Semantic Networks
• INHERITANCE
–Definition: Inheritance is a
process by which the local
information of a superclass node
is assumed by a class node, a
subclass node, and an instance
node
Semantic Networks
• INHERITANCE (continued)
– “+” 1) Provides a natural tool for representing
taxonomically structured knowledge. 2) Provides
economical means of expressing properties common to
a class of objects. 3) Reduces the size of a knowledge
base. 4) Provides more compact code
– “–” 1) Exception handling by local priority. 2)
Additional workload of knowledge engineer who must
decide at which node to define common properties
Conceptual Graphs
• DEFINITION: A conceptual graph (John Sowa, 1984) is
a finite, connected, bipartite graph
• The nodes of the graph denote either concepts or
conceptual relations
• Conceptual graphs do not use labelled arcs; instead the
conceptual relation nodes represent relations between
concepts
• Concepts can only have arcs to conceptual relations, and
vice versa
• Concepts are represented as boxes and conceptual relations
as ellipses
Conceptual Graphs
•
Concept nodes represent:
1. Concrete concepts (objects), for instance, cat,
telephone, book , etc. These concepts are
characterised by our ability to form an image of them
in our minds. Concrete concepts include generic
concepts such as cat or book along with concepts of
specific cats and books
2. Abstract concepts, for instance, beauty, loyalty, and
love that do not correspond to images in our minds
Conceptual Graphs
• Conceptual relation nodes indicate a relation
involving one or more concepts. Some special
relation nodes, namely, agent, recipient, object,
experiencer, are used to link a subject and the
verb
• Conceptual graphs can represent relations of any
arity
• A relation of arity n is represented by a conceptual
relation node having n arcs
Example of Conceptual Graph
person: john
agent
eat
object
soup
instrument
part
hand
Conceptual Graphs
• Each conceptual graph represents a
single proposition
• Knowledge base contains a set of
conceptual graphs
• Graphs may be arbitrary complex but
must be finite
Frame Based Systems
• The term frame is coined by Minsky in 1975.
• Frame is a static data structure used to represent
stereotypical information about some concept.
• Frame is like a template that contains generic
information about some concept that you could
refer to for describing a given instance of the
concept.
Frame Based Systems
• A frame has:
– Name – frame identification
information.
– Slots with labels describing the
attributes and possible values for
each attribute.
Frame Based Systems
• The slots contain:
– Frame identification information
– Relationship of this frame to other frames
– Frame default information (slot values that are taken to
be true when no evidence to the contrary has been
found)
– New instance information (slots may be left
unspecified)
– Procedural information (procedural code may be
attached to the slot)
– Descriptors of requirements for frame match
Frame Based Systems
• ATTRIBUTES
– STATIC
– DYNAMIC
• VALUES
– NUMERIC
– SYMBOLIC
– BOOLEAN
Frame Based Systems
• Sources of attribute values:
–
–
–
–
–
–
–
Initialize
Database
Procedure
Expert System
User
Inheritance
Other Frame (object)
Frame Based Systems
CLASS
Definition: Class is a collection of objects that share some
common properties (attributes).
• A class frame contains
– A descriptive name of the concept
– A set of attributes that are characteristic of all its associated
objects
– Attribute values that considered common to these objects
• It may contain: 1) An explicit reference to all of its
associated subclasses; 2) Information describing the
behaviour of the concept.
Frame Based Systems
SUBCLASSES
• Definition: Subclasses are classes that
represent subsets of higher level classes.
• Three kinds of class relationships:
– Generalization – “Kind of” relationship
– Aggregation – “Part of” relationship
– Association – “Semantic” relationship
Frame Based Systems
INSTANCE
Definition: Instance is a specific object from a class
of objects.
AN INSTANCE FRAME
– Describes
• A specific object from its related class.
– Contains
• All of the characteristics of the class frame as well
as a specific information (specific features and
property values).
Example of Frame Based System
truck
superclass: vehicle
class: vehicle
basket
reg. number
dimensions
2*3*1.5
producer
reg. number
producer
material
tin
model
model
owner
owner
tonnage
part of
car
John’s car
class: vehicle
class: car
reg. number
producer
model
owner
number of doors
horse-power
basket
4
reg. number
LV97
producer
BMW
model
520
owner
John
John
number of doors
2
age
22
horse-power
150
length of driving
2
Frame Based Systems
INHERITANCE
• Definition: Inheritance is the process by which
the characteristics of a parent frame are assumed
by its child frame.
• Note: In general, a child frame will inherit
information from its parents, grandparents, greatgrandparents, etc.
MULTIPLE INHERITANCE
• An object could inherit information from more
than one parent (in this case objects relate to
different worlds)
Frame Based Systems
INHERITANCE
• Practical value:
– Easier coding of the system
– Easier modification of information in a frame (adding
new property to the class frame it will be inherited
automatically by all of its instances)
• Potential problem: exception handling
– Any frame that is an exception from the norm, that is,
the frame has some property value unique to itself, this
value must be explicitly encoded in the frame.
Frame Based Systems
FACETS
Definition: A facet is an extended
knowledge about a frame’s property.
• Facets provide additional control over
property value and the operation of
the system.
Frame Based Systems
• A facet extends the information in the
following ways:
– TYPE – Defines a type of value that can be
associated with the property
– DEFAULT – Defines a default value, i.e., an
initial value for the property
– CONSTRAINT – Defines the allowable value
Frame Based Systems
– MINIMUM CARDINALITY – Establishes
min number of values
– MAXIMUM CARDINALITY – Establishes
max number of values
– IF-NEEDED – Specifies action to be taken if
the property’s value is needed
– IF-CHANGED – Specifies action to be taken
if the property’s value is changed
Frame Based Systems
METHODS (1)
• Definition: Method is a procedure attached to an
object, that will be executed whenever requested.
• An IF-NEEDED method is written in order to
obtain the property’s value only when it is needed.
IF-NEEDED facet executes some method only
when it is needed (method acts like a demon).
Frame Based Systems
METHODS (2)
• An IF-CHANGED method is written in order to
change an object’s property value, access
database, etc. IF-CHANGED facet executes some
method that performs some function in the event
the property's value changes.
• Methods designed to perform both operations can
be inherited.
Example of Methods
Temperature sensors
Name
Unknown
Value
Unknown
Critical
Value
Unknown
Value If-Needed Method
Get-Value (Self.Name)
Status If-Changed Method
Status
Unknown
IF Self.Status = Alert
THEN Sound-Alert
Value If-Changed Method
IF Self.Value
> Self.Critical Value
THEN
Self.Status = Alert
Frame Based Systems
COMMUNICATION BETWEEN
OBJECTS (1)
• Interobject communication using facets
– Using facet methods objects can communicate with
one another. A change to only one property value may
cause a series of changes in a number of objects
(frame system is dynamic!). Objects can influence the
property values in other objects, or even itself.
Frame Based Systems
COMMUNICATION BETWEEN
OBJECTS (2)
• Message passing
Definition: Message passing is a signal to an object
to which the object responds by executing a
method.
– Sending messages involves using a function:
(SEND message-name, object-name, arguments)