Cyc Seven Differences between Cyc and Frames Systems
Overview I.Cyc: an “ontology editor” and more II.CycL: more expressive than frames III.OE: “Editing the ontology” A.the traditional way B.through natural language
More than an “ontology editor” Knowlege Base (KB) –commonsense knowledge –not-so-commonsense knowledge Inference –Modus Ponens: P implies Q; P; hence, Q. –HL modules: specialized reasoners Natural Language Processing –parsing: English to CycL –generation: CycL to English
CycL vs. Frames 1.concepts not OOP objects 2.more-than-binary relations 3.quantifiers 4.modals 5.meta-assertions, order infinity (?) logic 6.self-referentiality 7.implicit representation of inverses
1. Constants not OOP objects Constants –entities: #$OsamaBinLaden, #$Texas –collections: #$Pizza, #$NaturalNumber –predicates: #$likesAsFriend, #$isa, #$genls –functions: #$GovernmentFn, #$MotherFn –quantifiers: #$forAll, #$thereExists The meaning of a constant: –The set of sentences in the KB involving it –NOT the set of its slot values
CycL vs. Frames 1.concepts not OOP objects 2.more-than-binary relations 3.quantifiers 4.modals 5.meta-assertions, order infinity (?) logic 6.self-referentiality 7.implicit representation of inverses
2. >binary predicates in Cyc #$behaviorCapable, for example –#$arity: 3 –#$arg1Isa: #$SomethingExisting –#$arg2Isa: #$Collection –#$arg2Genl: #$Situation-Temporal –#$arg3Isa: #$Role (#$behaviorCapable #$Bill #$Swimming #$performedBy)
CycL vs. Frames 1.concepts not OOP objects 2.more-than-binary relations 3.quantifiers 4.modals 5.meta-assertions, order infinity (?) logic 6.self-referentiality 7.implicit representation of inverses
3. Quantifiiers in Cyc (forAll ?X (implies (isa ?X Woman) (thereExists ?Y (and (isa ?Y Man) (loves ?Y ?X))))) not possible with frames
CycL vs. Frames 1.concepts not OOP objects 2.more-than-binary relations 3.quantifiers 4.modals 5.meta-assertions, order infinity (?) logic 6.self-referentiality 7.implicit representation of inverses
4. Modals in Cyc #$beliefs, for example: (#$beliefs #$Pierre (#$equals #$SexualArousal #$Pity)) (Cyc Assertion ) not possible with frames
CycL vs. Frames 1.concepts not OOP objects 2.more-than-binary relations 3.quantifiers 4.modals 5.meta-assertions, order infinity (?) logic 6.self-referentiality 7.implicit representation of inverses
5. Meta-Assertions in Cyc (#$salientAssertions #$Roland M (#$fanOf #$Roland #$KingCrimson-MusicGroup))) not possible with frames –b/c there is no assertion object to refer to
CycL vs. Frames 1.concepts not OOP objects 2.more-than-binary relations 3.quantifiers 4.modals 5.meta-assertions, order infinity (?) logic 6.self-referentiality 7.implicit representation of inverses
6. Self-Referentiality Assertions about Cyc(L), in Cyc(L) –#$arg1Isa, #$arg2Isa, #$arity –#$Relation, #$Quantifier, #$EL-Variable –#$SymmetricBinaryPredicate –#$InferenceRelatedBookkeepingPredicate –#$CycL –#$Cyc
CycL vs. Frames 1.concepts not OOP objects 2.more-than-binary relations 3.quantifiers 4.modals 5.meta-assertions, order infinity (?) logic 6.self-referentiality 7.implicit representation of inverses
7. Implicit inverses Inverses: for example –(#$mother ?kid ?mom) = kid’s mother is mom –(#$motherOf ?mom ?kid) = ditto –so #$motherOf and #$mother are inverses Can be implicitly represented in CycL In a frames system, you have to explicitly represent the inverse of every predicate, which is wasteful.
CycL vs. Frames 1.concepts not OOP objects 2.more-than-binary relations 3.quantifiers 4.modals 5.meta-assertions, order infinity (?) logic 6.self-referentiality 7.implicit representation of inverses
Now let’s play