Frames

Frames

Organize property and ISA knowledge by subject concept rather than independent triples, in a frame hierarchy.

TriplesFrames
(bird isa animal)
(bird can-fly yes)
(canary isa bird)
(canary color yellow))
(tweety isa canary)
(bird (animal) (can-fly yes))
(canary (bird) (color yellow))
(tweety (canary))

Frames not just for objects

  • Things: dog, human, John, Tweety
  • Actions: flying, eating, writing
  • Events: tweety-flew, clyde-ate-peanuts
  • States and state changes: is-ill, rates-rising
  • Causal sequences: bottle-fell-caused-bottle-broke
  • Scripts: going-to-restaurant, visit-patient-in-hospital
  • ...and everything else

Event frames

(eat-event (event) (actor animal) (object food))
(eat-event-1 (eat-event) (actor clyde-1) (object peanuts-1))
(clyde-1 (elephant))
(peanuts-1 (peanuts))
...
(causal () (antecedent event) (consequent event))
(causal-1 (causal) (antecedent eat-event-1) (consequent ill-state-1))
(event-1 (eat-event) (actor clyde-1) (object peanuts-1))
(ill-state-1 (ill-state) (actor clyde-1))
(clyde-1 (elephant))
(peanuts-1 (peanuts))
...

Property Inheritance

Non-monotonic defaults: Birds can fly but penguins can not.

Pre-calculate linearizations for all concepts in frame hieararchy.

Much more efficient in a frame hierarchy than a triple store.

Generalization

Given two (or more) similar frames, form a new frame to be an immediate abstraction of them.

  • Form subgroups of abstractions with many children, e.g., large vs small dogs
  • Relate concepts with interesting overlaps, e.g., generalize pets and cars to "things with owners"

Frame matching / similarity

Does a frame with properties and ISAs (partially) match another frame?

Recognition: I see a small yellow bird. Canary?

Analogy/Case-based Reasoning: If Tweety eats peanuts, will Tweety get sick like Clyde?