Knowledge Representation
Knowledge Representation
Page 1 of 2
Next: What to Represent? Up: Artificial Intelligence II Previous: Exercises Next: Using Knowledge Up: Knowledge Representation Previous: Knowledge Representation
Objects
-- Facts about objects in our world domain. e.g. Guitars have strings, trumpets are brass
! What to Represent? instruments.
! Using Knowledge
! Properties for Knowledge Representation Systems Events
! Approaches to Knowledge Representation -- Actions that occur in our world. e.g. Steve Vai played the guitar in Frank Zappa's Band.
" Simple relational knowledge
Thus in solving problems in AI we must represent knowledge and there are two entities to deal with:
Facts
[email protected] -- truths about the real world and what we represent. This can be regarded as the knowledge
level
Representation of the facts
which we manipulate. This can be regarded as the symbol level since we usually define the
representation in terms of symbols that can be manipulated by programs.
English or natural language is an obvious way of representing and handling facts. Logic enables us to
consider the following fact: spot is a dog as dog(spot) We could then infer that all dogs have tails
with: : dog(x) hasatail(x) We can then deduce:
Next: Properties for Knowledge Representation Up: Knowledge Representation Previous: What to
hasatail(Spot) Represent?
Using an appropriate backward mapping function the English sentence Spot has a tail can be Using Knowledge
generated.
We have briefly mentioned where knowledge is used in AI systems. Let us consider a little further to
The available functions are not always one to one but rather are many to many which is a what applications and how knowledge may be used.
characteristic of English representations. The sentences All dogs have tails and every dog has a tail
both say that each dog has a tail but the first could say that each dog has more than one tail try Learning
substituting teeth for tails. When an AI program manipulates the internal representation of facts these -- acquiring knowledge. This is more than simply adding new facts to a knowledge base. New
new representations should also be interpretable as new representations of facts. data may have to be classified prior to storage for easy retrieval, etc.. Interaction and inference
with existing facts to avoid redundancy and replication in the knowledge and and also so that
Consider the classic problem of the mutilated chess board. Problem In a normal chess board the facts can be updated.
opposite corner squares have been eliminated. The given task is to cover all the squares on the Retrieval
remaining board by dominoes so that each domino covers two squares. No overlapping of dominoes -- The representation scheme used can have a critical effect on the efficiency of the method.
is allowed, can it be done. Consider three data structures Humans are very good at it.
Many AI methods have tried to model human (see lecture on distributed reasoning)
Reasoning
-- Infer facts from existing data.
Next: Using Knowledge Up: Knowledge Representation Previous: Knowledge Representation [email protected]
[email protected]
Next: Approaches to Knowledge Representation Up: Knowledge Representation Previous: Using Next: Simple relational knowledge Up: Knowledge Representation Previous: Properties for
Knowledge Knowledge Representation
Next: Inheritable knowledge Up: Approaches to Knowledge Representation Previous: Approaches Next: Inferential Knowledge Up: Approaches to Knowledge Representation Previous: Simple
to Knowledge Representation relational knowledge
The simplest way of storing facts is to use a relational method where each fact about a set of objects Relational knowledge is made up of objects consisting of
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. ! attributes
! corresponding associated values.
! Simple way to store facts.
! Each fact about a set of objects is set out systematically in columns (Fig. 7). We extend the base more by allowing inference mechanisms:
! Little opportunity for inference.
! Knowledge basis for inference engines. ! Property inheritance
" elements inherit values from being members of a class.
! Who is dead?
! Who plays Jazz/Trumpet etc.?
! Procedural Knowledge
Next: Issue in Knowledge Representation Up: Inferential Knowledge Previous: Inferential Next: Summary and the way Up: Knowledge Representation Previous: Procedural Knowledge
Knowledge
Issue in Knowledge Representation
Procedural Knowledge
Below are listed issues that should be raised when using a knowledge representation technique:
Basic idea:
Important Attributes
! Knowledge encoded in some procedures -- Are there any attributes that occur in many different types of problem?
" small programs that know how to do specific things, how to proceed.
" e.g a parser in a natural language understander has the knowledge that a noun phrase
There are two instance and isa and each is important because each supports property
may contain articles, adjectives and nouns. It is represented by calls to routines that
inheritance.
know how to process articles, adjectives and nouns.
Relationships
Advantages:
-- What about the relationship between the attributes of an object, such as, inverses, existence,
techniques for reasoning about values and single valued attributes. We can consider an
! Heuristic or domain specific knowledge can be represented. example of an inverse in
! Extended logical inferences, such as default reasoning facilitated.
! Side effects of actions may be modelled. Some rules may become false in time. Keeping track band(John Zorn,Naked City)
of this in large systems may be tricky.
This can be treated as John Zorn plays in the band Naked City or John Zorn's band is Naked
Disadvantages: City.
! Completeness -- not all cases may be represented. Another representation is band = Naked City
! Consistency -- not all deductions may be correct.
band-members = John Zorn, Bill Frissell, Fred Frith, Joey Barron,
e.g If we know that Fred is a bird we might deduce that Fred can fly. Later we might discover
that Fred is an emu.
Granularity
-- At what level should the knowledge be represented and what are the primitives. Choosing
! Modularity is sacrificed. Changes in knowledge base might have far-reaching effects. the Granularity of Representation Primitives are fundamental concepts such as holding, seeing,
! Cumbersome control information. playing and as English is a very rich language with over half a million words it is clear we will
find difficulty in deciding upon which words to choose as our primitives in a series of
situations.
In the famous program on relationships Louise is Bill's cousin How do we represent this? louise =
daughter (brother or sister (father or mother( bill))) Suppose it is Chris then we do not know if it is
Chris as a male or female and then son applies as well.
Clearly the separate levels of understanding require different levels of primitives and these need
many rules to link together apparently similar primitives.
Next: Further Reading Up: Knowledge Representation Previous: Issue in Knowledge
Obviously there is a potential storage problem and the underlying question must be what level of Representation
comprehension is needed.
Summary and the way forward
In this lecture we have hopefully seen the need for knowledge in reasoning programs.
Next: Summary and the way Up: Knowledge Representation Previous: Procedural Knowledge
Many issues need to be considered when deciding on the representation scheme for knowledge.
[email protected]
We introduced the concept of a slot and filler data structure for inheritable knowledge. In the next
two lectures we will be looking at different types of slot and filler representations starting with
semantic nets and frames and moving onto stronger conceptual dependency based representations.
Next: Logic Knowledge Representation Up: Knowledge Representation Previous: Summary and the Next: Predicate logic Up: Artificial Intelligence II Previous: Further Reading
way
Implies
Not
And
Let us now look at an example of how predicate logic is used to represent knowledge. There are
other ways but this form is popular.
! Predicate logic
" An example
Next: An example Up: Logic Knowledge Representation Previous: Logic Knowledge Next: Isa and instance relationships Up: Predicate logic Previous: Predicate logic
Representation
An example
Predicate logic
Consider the following:
So we can translate Prince is a mega star into: mega_star(prince) and Mega stars are rich into: m:
mega_star(m) rich(m)
[email protected]
Rich people have fast cars, the third axiom is more difficult:
! Is cars a relation and therefore car(c,m) says that case c is m's car. OR
! Is cars a function? So we may have car_of(m).
Assume cars is a relation then axiom 3 may be written: c,m: car(c,m) rich(m) fast(c).
The fourth axiom is a general statement about fast cars. Let consume(c) mean that car c consumes a
lot of petrol. Then we may write: c: fast(c) m:car(c,m) consume(c) .
Is this enough? NO! -- Does prince have a car? We need the car_of function after all (and addition
to car): c:car(car_of(m),m). The result of applying car_of to m is m's car. The final set of
predicates is: mega_star(prince) m: mega_star(m) rich(m) c:car(car_of(m),m). c,m: car
(c,m) rich(m) fast(c). c: fast(c) m:car(c,m) consume(c) . Given this we could
conclude: consume(car_of(prince)).
Next: Applications and extensions Up: Predicate logic Previous: An example Next: Further reading Up: Logic Knowledge Representation Previous: Isa and instance
relationships
Isa and instance relationships
Applications and extensions
Two attributes isa and instance play an important role in many aspects of knowledge representation.
! First order logic basically extends predicate calculus to allow:
The reason for this is that they support property inheritance. " functions -- return objects not just TRUE/FALSE.
From the above it should be simple to see how to represent these in predicate logic.
Next: Exercises Up: Logic Knowledge Representation Previous: Applications and extensions Next: Procedural Knowledge Representations Up: Logic Knowledge Representation Previous:
Further reading
Further reading
Exercises
Artificial Intelligence by Rich and Knight covers this topic well.
1. Assume the following facts:
Knowledge Representation: An AI perspective by H. Reichgelt, Ablex, New York covers all aspects " Steve only likes easy courses.
of this topic with good examples. " Computing courses are hard.
" All courses in Sociology are easy.
The Handbook of Artificial Intelligence (Vol. 1, Ch 3) provides a good concise treatment of this area. " ``Society is evil'' is a sociology course.
See also the Expert Systems course. Represent these facts in predicate logic and answer the question?
2. Find out what knowledge representation schemes are used in the STRIPS system.
[email protected]
Next: Declarative or Procedural? Up: Artificial Intelligence II Previous: Exercises Next: An Example Up: Procedural Knowledge Representations Previous: Procedural Knowledge
Representations
! Static representation -- knowledge about objects, events etc. and their relationships and states
! Declarative or Procedural? given.
! An Example ! Requires a program to know what to do with knowledge and how to do it.
! Representing How to Use Knowledge
! Further reading Procedural representation:
! Exercises
! control information necessary to use the knowledge is embedded in the knowledge itself. e.g.
how to find relevant facts, make inferences etc.
! Requires an interpreter to follow instructions specified in knowledge.
Next: Representing How to Use Up: Procedural Knowledge Representations Previous: Declarative Next: Further reading Up: Procedural Knowledge Representations Previous: An Example
or Procedural?
Representing How to Use Knowledge
An Example
Need to represent how to control the processing:
Let us consider what knowledge an alphabetical sorter would need:
direction
! Implicit knowledge that A comes before B etc. -- indicate the direction an implication could be used. E.g. To prove something can fly show it
! This is easy -- really integer comparison of (ASCII) codes for . is a bird. fly(x) bird(x).
" All programs contain procedural knowledge of this sort.
! The procedural information here is that knowledge of how to alphabetise is represented Knowledge to achieve goal
explicitly in the alphabetisation procedure. -- specify what knowledge might be needed to achieve a specific goal. For example to prove
" A declarative system might have to have explicit facts like A comes before B, B comes
something is a bird try using two facts has_wings and has_feathers to show it.
before C etc..
[email protected]
[email protected]
Next: Exercises Up: Procedural Knowledge Representations Previous: Representing How to Use Next: Weak Slot and Filler Up: Procedural Knowledge Representations Previous: Further reading
" The Games of Nim and Kalah (see last years notes for rules).
The Handbook of Artificial Intelligence (Vol. 1, Ch 3) provides a good concise treatment of this area. " Path Planning type tasks.
Winograd's article in Bobrow and Collins deal with fundamental issues and also their robot planner
in Representation and Understanding, Academic Press (1975) deals with declarative verses
procedural issues.
[email protected]
Next: Why use this data Up: Artificial Intelligence II Previous: Exercises Next: Semantic Nets Up: Weak Slot and Filler Previous: Weak Slot and Filler
Weak Slot and Filler Structures Why use this data structure?
! It enables attribute values to be retrieved quickly
We have already met this type of structure when discussing inheritance in the last lecture. We will " assertions are indexed by the entities
now study this in more detail.
" binary predicates are indexed by first argument. E.g. team(Mike-Hall , Cardiff).
So called because:
! Why use this data structure?
! Semantic Nets ! A slot is an attribute value pair in its simplest form.
" Representation in a Semantic Net
! A filler is a value that a slot can take -- could be a numeric, string (or any data type) value or a
" Inference in a Semantic Net
pointer to another slot.
" Extending Semantic Nets
! A weak slot and filler structure does not consider the content of the representation.
! Frames
" Frame Knowledge Representation
We will study two types:
" Interpreting frames
[email protected] [email protected]
Next: Representation in a Semantic Up: Weak Slot and Filler Previous: Why use this data Next: Inference in a Semantic Up: Semantic Nets Previous: Semantic Nets
! The meaning of a concept comes from its relationship to other concepts, and that, The physical attributes of a person can be represented as in Fig. 9.
! The information is stored by interconnecting nodes with labelled arcs.
These values can also be represented in logic as: isa(person, mammal), instance(Mike-Hall, person)
[email protected] team(Mike-Hall, Cardiff)
We have already seen how conventional predicates such as lecturer(dave) can be written as instance
(dave, lecturer) Recall that isa and instance represent inheritance and are popular in many
knowledge representation schemes. But we have a problem: How we can have more than 2 place
predicates in semantic nets? E.g. score(Cardiff, Llanelli, 23-6) Solution:
! Create new nodes to represent new objects either contained or alluded to in the knowledge,
game and fixture in the current example.
! Relate information to nodes and fill up slots (Fig: 10).
As a more complex example consider the sentence: John gave Mary the book. Here we have several
aspects of an event.
Next: Extending Semantic Nets Up: Semantic Nets Previous: Representation in a Semantic
Intersection search
-- the notion that spreading activation out of two nodes and finding their intersection finds
Fig. 11 A Semantic Network for a Sentence relationships among objects. This is achieved by assigning a special tag to each visited node.
[email protected] Inheritance
-- the isa and instance representation provide a mechanism to implement this.
Inheritance also provides a means of dealing with default reasoning. E.g. we could represent:
In making certain inferences we will also need to distinguish between the link that defines a new
entity and holds its value and the other kind of link that relates two existing entities. Consider the
example shown where the height of two people is depicted and we also wish to compare them.
Special procedures are needed to process these nodes, but without this distinction the analysis would
be very limited.
Next: Frames Up: Semantic Nets Previous: Inference in a Semantic
Here we will consider some extensions to Semantic nets that overcome a few problems (see
Exercises) or extend their expression of knowledge.
Fig. 12 Comparison of two heights Basic idea: Break network into spaces which consist of groups of nodes and arcs and regard each
space as a node.
Consider the following: Andrew believes that the earth is flat. We can encode the proposition the
earth is flat in a space and within it have nodes and arcs the represent the fact (Fig. 15). We can the
[email protected] have nodes and arcs to link this space the the rest of the network to represent Andrew's belief.
Now consider the quantified expression: Every parent loves their child To represent this we:
" one or more forall ( ) or exists ( ) connections -- these represent universally quantifiable
Here we have to construct two spaces one for each x,y. NOTE: We can express variables as
existentially qualified variables and express the event of love having an agent p and receiver b for
every parent p which could simplify the network (See Exercises).
Also If we change the sentence to Every parent loves child then the node of the object being acted on
(the child) lies outside the form of the general statement. Thus it is not viewed as an existentially
qualified variable whose value may depend on the agent. (See Exercises and Rich and Knight book
for examples of this) So we could construct a partitioned network as in Fig. 16 Next: Frame Knowledge Representation Up: Weak Slot and Filler Previous: Extending Semantic
Nets
Frames
Frames can also be regarded as an extension to Semantic nets. Indeed it is not clear where the
distinction between a semantic net and a frame ends. Semantic nets initially we used to represent
labelled connections between objects. As tasks became more complex the representation needs to be
more structured. The more structured the system it becomes more beneficial to use frames. A frame
is a collection of attributes or slots and associated values that describe some real world entity.
Frames on their own are not particularly helpful but frame systems are a powerful way of encoding
information to support reasoning. Set theory provides a good basis for understanding frame systems.
Each frame represents:
! a class (set), or
! an instance (an element of a class).
[email protected]
Next: Frames Up: Semantic Nets Previous: Inference in a Semantic
Cardinality:
Next: Interpreting frames Up: Frames Previous: Frames
Team-size: 15
Frame Knowledge Representation Coach:
Person
Cardinality: Here the frames Person, Adult-Male, Rugby-Player and Rugby-Team are all classes and the frames
Robert-Howley and Cardiff-RFC are instances.
Adult-Male
Tries: Instead we make it a subclass of Rugby-Player and this allows the players to inherit the correct
properties enabling us to let the Cardiff -RFC to inherit information about teams.
Mike-Hall
A metaclass is a special class whose elements are themselves classes. A slot is a relation that maps from its domain of classes to its range of values.
Now consider our rugby teams as: A relation is a set of ordered pairs so one relation is a subset of another.
Since slot is a set the set of all slots can be represent by a metaclass called Slot, say.
SLOT
isa: Class
instance: Class
domain:
range:
range-constraint:
definition:
default:
to-compute:
single-valued:
Coach
instance: SLOT
domain: Rugby-Team
range: Person
Inheritance of default values occurs when one element or class is an instance of a class. instance: SLOT
range: Colour-Set
How can we to represent the following properties in frames?
single-valued: FALSE
! Attributes such as weight, age be attached and make sense.
! Constraints on values such as age being less than a hundred Team-Colours
! Default values
instance: SLOT
! Rules for inheritance of values such as children inheriting parent's names
! Rules for computing values isa: Colour
! Many values for a slot.
domain: team-player
range: Colour-Set
Next: Further Reading Up: Frames Previous: Frame Knowledge Representation
range-constraint: not Pink
domain: Rugby-Player ! Consistency checking -- when a slot value is added to the frame relying on the domain
attribute and that the value is legal using range and range constraints.
range: { Back, Forward, Reserve } ! Propagation of definition values along isa and instance links.
! Inheritance of default. values along isa and instance links.
to-compute: x.position ! Computation of value of slot as needed.
single-valued: TRUE ! Checking that only correct number of values computed.
See Exercises for further instances of drawing inferences etc. from frames.
NOTE the following:
Next: Exercises Up: Weak Slot and Filler Previous: Interpreting frames Next: Strong Slot and Filler Up: Weak Slot and Filler Previous: Further Reading
Knowledge Representation: An AI perspective by H. Reichgelt, Ablex, New York covers all aspects 1. Dave is Welsh, Dave is a Lecturer.
of this topic with good examples. 2. Paul leant his new Frank Zappa CD to his best friend.
2. Find out how the SNePS system aims to improve the expressiveness of semantic nets.
The Handbook of Artificial Intelligence (Vol. 1, Ch 3) provides a good concise treatment of this area. 3. Represent the following in a Semantic Net and Comment on how the SNePS system helps.
Volume 3 Chapter 11 also gives good background information on Quinlan's semantic memory
system. The HAM, ACT and MEMOD systems are also dealt with. 1. Mike and Mary's telephone number is the same.
2. John believes that Mike and Mary's telephone number is the same.
Artificial Intelligence Programming by Charniak et al. gives Example LISP code for constructing 4. Represent the following in partitioned semantic networks:
Semantic nets and forms.
1. Every player kicked a ball.
See also the Expert Systems course. 2. All players like the referee.
3. Andrew believes that there is a fish with lungs.
5. Simplify Fig. 16 that represents parent(x) : baby(y) loves(x,y)
so that we can express variables as existentially qualified variables and express the event of
[email protected]
love having an agent p and receiver b for every parent p.
6. Pick a problem area and represent the knowledge in frame based system.
7. Devise algorithms that enable reasoning with frames. Discuss how
10. What programming languages would be suited to implement a semantic network and frames?
Next: Conceptual Dependency (CD) Up: Artificial Intelligence II Previous: Exercises Next: Scripts Up: Strong Slot and Filler Previous: Strong Slot and Filler
! Conceptual Dependency (CD) It has been used by many programs that portend to understand English (MARGIE, SAM, PAM). CD
! Scripts developed by Schank et al. as were the previous examples.
! CYC
! Further Reading CD provides:
! Exercises
! a structure into which nodes representing information can be placed
! a specific set of primitives
! at a given level of granularity.
[email protected] Sentences are represented as a series of diagrams depicting actions using both abstract and real
physical situations.
ATRANS
-- Transfer of an abstract relationship. e.g. give.
PTRANS
-- Transfer of the physical location of an object. e.g. go.
PROPEL
-- Application of a physical force to an object. e.g. push.
MTRANS
-- Transfer of mental information. e.g. tell.
MBUILD
-- Construct new information from old. e.g. decide.
SPEAK
-- Utter a sound. e.g. say.
ATTEND
-- Focus a sense on a stimulus. e.g. listen, watch.
MOVE
-- Movement of a body part by owner. e.g. punch, kick.
GRASP
-- Actor grasping an object. e.g. clutch.
INGEST
-- Actor ingesting an object. e.g. eat.
EXPEL -- transition
-- Actor getting rid of an object from body. e.g. ????.
-- start transition
Six primitive conceptual categories provide building blocks which are the set of allowable
dependencies in the concepts in a sentence:
-- finished transition
PP k
-- Real world objects. -- continuing
ACT ?
-- Real world actions. -- interrogative
PA /
-- Attributes of objects. -- negative
AA delta
-- Attributes of actions. -- timeless
T c
-- Times. -- conditional
LOC the absence of any modifier implies the present tense.
-- Locations.
So the past tense of the above example:
How do we connect these things together?
John gave Mary a book becomes:
Consider the example:
The has an object (actor), PP and action, ACT. I.e. PP ACT. The triplearrow ( ) is also a
two link but between an object, PP, and its attribute, PA. I.e. PP PA.
! Arrows indicate the direction of dependency. Letters above indicate certain relationships: It represents isa type dependencies. E.g
o
-- object. Dave lecturerDave is a lecturer.
R
-- recipient-donor. Primitive states are used to describe many state descriptions such as height, health, mental state,
I physical state.
-- instrument e.g. eat with a spoon.
D There are many more physical states than primitive actions. They use a numeric scale.
-- destination e.g. going home.
E.g. John height(+10) John is the tallest John height(< average) John is short Frank Zappa
! Double arrows ( ) indicate two-way links between the actor (PP) and action (ACT). health(-10) Frank Zappa is dead Dave mental_state(-10) Dave is sad Vase
! The actions are built from the set of primitive acts (see above). physical_state(-10) The vase is broken
" These can be modified by tense etc.
You can also specify things like the time of occurrence in the relation ship.
The use of tense and mood in describing events is extremely important and schank
introduced the following modifiers: For Example: John gave Mary the book yesterday
p
-- past
f
-- future
t
Now let us consider a more complex sentence: Since smoking can kill you, I stopped Lets look at ! Impossible or difficult to find correct set of primitives.
how we represent the inference that smoking can kill: ! A lot of inference may still be required.
! Representations can be complex even for relatively simple actions. Consider:
! Use the notion of one to apply the knowledge to.
! Use the primitive act of INGESTing smoke from a cigarette to one. Dave bet Frank five pounds that Wales would win the Rugby World Cup.
! Killing is a transition from being alive to dead. We use triple arrows to indicate a transition
from one state to another. Complex representations require a lot of storage
! Have a conditional, c causality link. The triple arrow indicates dependency of one concept on
another. Applications of CD:
MARGIE
(Meaning Analysis, Response Generation and Inference on English) -- model natural language
understanding.
SAM
(Script Applier Mechanism) -- Scripts to understand stories. See next section.
PAM
(Plan Applier Mechanism) -- Scripts to understand stories.
Next: Scripts Up: Strong Slot and Filler Previous: Strong Slot and Filler
To add the fact that I stopped smoking
[email protected]
! Use similar rules to imply that I smoke cigarettes.
! The qualification attached to this dependency indicates that the instance INGESTing
smoke has stopped.
Advantages of CD:
Disadvantages of CD:
! Bank Manager, O.
! Policeman, P.
Next: CYC Up: Strong Slot and Filler Previous: Conceptual Dependency (CD)
The Entry Conditions might be:
Scripts
! S is poor.
A script is a structure that prescribes a set of circumstances which could be expected to follow on ! S is destitute.
from one another.
The Results might be:
It is similar to a thought sequence or a chain of situations which could be anticipated.
! S has more money.
It could be considered to consist of a number of slots or frames but with more specialised roles. ! O is angry.
! M is in a state of shock.
Scripts are beneficial because: ! P is shot.
! Events tend to occur in known runs or patterns. There are 3 scenes: obtaining the gun, robbing the bank and the getaway.
! Causal relationships between events exist.
! Entry conditions exist which allow an event to take place The full Script could be described in Fig 19.
! Prerequisites exist upon events taking place. E.g. when a student progresses through a degree
scheme or when a purchaser buys a house.
Entry Conditions
-- these must be satisfied before events in the script can occur.
Results
-- Conditions that will be true after events in script occur.
Props
-- Slots representing objects involved in events.
Roles
-- Persons involved in the events.
Track
-- Variations on the script. Different tracks may share components of the same script.
Scenes
-- The sequence of events that occur. Events are represented in conceptual dependency form.
Scripts are useful in describing certain situations such as robbing a bank. This might involve:
! Getting a gun.
! Hold up a bank.
! Escape with the money.
! Gun, G.
! Loot, L.
! Bag, B
! Get away car, C.
! Robber, S.
! Cashier, M.
Some additional points to note on Scripts: Next: Further Reading Up: Strong Slot and Filler Previous: Scripts
! If a particular script is to be applied it must be activated and the activating depends on its CYC
significance.
! If a topic is mentioned in passing then a pointer to that script could be held. What is CYC?
! If the topic is important then the script should be opened.
! The danger lies in having too many active scripts much as one might have too many windows ! An ambitious attempt to form a very large knowledge base aimed at capturing commonsense
open on the screen or too many recursive calls in a program. reasoning.
! Provided events follow a known trail we can use scripts to represent the actions involved and ! Initial goals to capture knowledge from a hundred randomly selected articles in the
use them to answer detailed questions. EnCYClopedia Britannica.
! Different trails may be allowed for different outcomes of Scripts ( e.g. The bank robbery goes ! Both Implicit and Explicit knowledge encoded.
wrong). ! Emphasis on study of underlying information (assumed by the authors but not needed to tell to
the readers.
Advantages of Scripts:
Example: Suppose we read that Wellington learned of Napoleon's death
! Ability to predict events.
! A single coherent interpretation may be build up from a collection of observations. Then we (humans) can conclude Napoleon never new that Wellington had died.
Disadvantages: How do we do this?
! Less general than frames. We require special implicit knowledge or commonsense such as:
! May not be suitable to represent all kinds of knowledge.
! We only die once.
! You stay dead.
! You cannot learn of anything when dead.
Next: CYC Up: Strong Slot and Filler Previous: Conceptual Dependency (CD) ! Time cannot go backwards.
Brittleness
-- Specialised knowledge bases are brittle. Hard to encode new situations and non-graceful
degradation in performance. Commonsense based knowledge bases should have a firmer
foundation.
Form and Content
-- Knowledge representation may not be suitable for AI. Commonsense strategies could point
out where difficulties in content may affect the form.
Shared Knowledge
-- Should allow greater communication among systems with common bases and assumptions.
! By hand.
! Special CYCL language:
" LISP like.
" Frame based
" Generalised inheritance -- any link not just isa and instance.
[email protected]
Next: Exercises Up: Strong Slot and Filler Previous: CYC
Further Reading
Artificial Intelligence by Rich and Knight covers these topic well. In particular see the sections on
scripts for more detail on more complicated scripts with varying tracks. And also a more
comprehensive treatment of CYC.
Knowledge Representation: An AI perspective by H. Reichgelt, Ablex, New York covers all aspects
of this topic with good examples.
The Handbook of Artificial Intelligence (Vol. 1, Ch 3) provides a good concise treatment of this area.
Details of MARGIE, SAM and PAM may also be found in Vol. 1, Ch 4.
Examples of how MARGIE and SAM is coded in LISP is given in AI with Common Lisp by Noyes.
Next: Reasoning with Uncertainty: Non-Monotonic Up: Strong Slot and Filler Previous: Further Next: What is reasoning? Up: Artificial Intelligence II Previous: Exercises
Reading
# court case
# South Wales Echo
# Wales