From owner-cse663-fa06-list@LISTSERV.BUFFALO.EDU Wed Oct 18 21:21:25 2006 Received: from ares.cse.buffalo.edu (ares.cse.Buffalo.EDU [128.205.32.79]) by castor.cse.Buffalo.EDU (8.13.6/8.12.10) with ESMTP id k9J1LP7h027355 for ; Wed, 18 Oct 2006 21:21:25 -0400 (EDT) Received: from front1.acsu.buffalo.edu (upfront.acsu.buffalo.edu [128.205.4.140]) by ares.cse.buffalo.edu (8.13.6/8.13.6) with SMTP id k9J1LLr6081876 for ; Wed, 18 Oct 2006 21:21:21 -0400 (EDT) Received: (qmail 16285 invoked from network); 19 Oct 2006 01:21:21 -0000 Received: from mailscan7.acsu.buffalo.edu (128.205.6.158) by front1.acsu.buffalo.edu with SMTP; 19 Oct 2006 01:21:21 -0000 Received: (qmail 23883 invoked from network); 19 Oct 2006 01:21:20 -0000 Received: from deliverance.acsu.buffalo.edu (128.205.7.57) by front2.acsu.buffalo.edu with SMTP; 19 Oct 2006 01:21:20 -0000 Received: (qmail 12823 invoked from network); 19 Oct 2006 01:21:01 -0000 Received: from listserv.buffalo.edu (128.205.7.35) by deliverance.acsu.buffalo.edu with SMTP; 19 Oct 2006 01:21:01 -0000 Received: by LISTSERV.BUFFALO.EDU (LISTSERV-TCP/IP release 14.5) with spool id 1239414 for CSE663-FA06-LIST@LISTSERV.BUFFALO.EDU; Wed, 18 Oct 2006 21:21:01 -0400 Delivered-To: cse663-fa06-list@listserv.buffalo.edu Received: (qmail 21155 invoked from network); 19 Oct 2006 01:21:01 -0000 Received: from mailscan3.acsu.buffalo.edu (128.205.6.135) by listserv.buffalo.edu with SMTP; 19 Oct 2006 01:21:01 -0000 Received: (qmail 3867 invoked from network); 19 Oct 2006 01:20:59 -0000 Received: from castor.cse.buffalo.edu (128.205.32.14) by smtp2.acsu.buffalo.edu with SMTP; 19 Oct 2006 01:20:59 -0000 Received: from castor.cse.Buffalo.EDU (rapaport@localhost [127.0.0.1]) by castor.cse.Buffalo.EDU (8.13.6/8.12.10) with ESMTP id k9J1Kws7027328 for ; Wed, 18 Oct 2006 21:20:59 -0400 (EDT) Received: (from rapaport@localhost) by castor.cse.Buffalo.EDU (8.13.6/8.12.9/Submit) id k9J1Kw4k027327 for cse663-fa06-list@listserv.buffalo.edu; Wed, 18 Oct 2006 21:20:58 -0400 (EDT) X-UB-Relay: (castor.cse.buffalo.edu) X-PM-EL-Spam-Prob: : 7% Message-ID: <200610190120.k9J1Kw4k027327@castor.cse.Buffalo.EDU> Date: Wed, 18 Oct 2006 21:20:58 -0400 Reply-To: CSE 663 - Advanced Knowledge Representation - Fall 2006 Sender: CSE 663 - Advanced Knowledge Representation - Fall 2006 From: "William J. Rapaport" Subject: SNePSLOG Case Frames for CVA To: CSE663-FA06-LIST@LISTSERV.BUFFALO.EDU Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: X-UB-Relay: (castor.cse.buffalo.edu) X-DCC-Buffalo.EDU-Metrics: castor.cse.Buffalo.EDU 1335; Body=0 Fuz1=0 Fuz2=0 X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on ares.cse.buffalo.edu X-Virus-Scanned: ClamAV 0.88.3/2043/Wed Oct 18 19:18:01 2006 on ares.cse.buffalo.edu X-Virus-Status: Clean Status: R Content-Length: 12174 For your CVA projects, you must use the SNePS case frames listed at: http://www.cse.buffalo.edu/~rapaport/CVA/CaseFrames/case-frames/ However, I will leave you free choice as to what SNePSLOG names you give to them. This document summarizes the options we discussed in lecture on Wed, 18 Oct (as far as I remember them; I wasn't taking notes, but you were :-) and supplements them with the ones we didn't get to cover. 1. lex ------------------------------------------------------------------------ SNePS SYNTAX SEMANTICS lex m----->w [[m]] is the concept expressed by uttering [[w]], where "w" is a word in the lexicon SNePSUL SYN: (build lex w) e.g.) (build lex cat) POSSIBLE SNePSLOG NAMES (others are possible): a) define-frame thing-called (nil lex) b) define-frame concept-called (nil lex) c) define-frame entity-called (nil lex) d) define-frame entity (nil lex) e.g.) thing-called(cat) 2. member-class ------------------------------------------------------------------------ SNePS SYNTAX m / \ member / \class / \ V V <----those are supposed to be arrowheads :-) i j SEMANTICS [[m]] is the proposition that individual entity [[i]] is a (member of the class [[j]] SNePSUL SYN: (assert member i class j) e.g.) Something is a cat. (assert member b1 class (build lex cat)) POSSIBLE SNePSLOG NAMES (others are possible): a) define-frame Member-Class (nil member class) NB: This style is always an option, but it is neither very readable nor does it look like predicate logic, so I won't repeat it below. b) define-frame Isa (nil member class) e.g.) Isa(b1,thing-called(cat)). c) define-frame Isa (nil class member) e.g.) Isa(thing-called(cat),b1). NB: If we weren't using "lex" arcs, other options would be things like: define-frame Cat (class member) define-frame Mouse (class member) which would allow us to say things like: Cat(felix1). Mouse(mickey1). but we could not then also use "Isa" as defined above. 3. object/proper-name ------------------------------------------------------------------------ SNePS SYNTAX m / \ object / \proper-name / \ V V i j SEMANTICS [[m]] is the proposition that entity [[i]] is called by the proper name [[j]], where "j" is a name in the lexicon. SNePSUL SYN: (assert object i proper-name j) e.g.) Felix is a cat. (assert object #felix proper-name Felix) (assert member *felix class (build lex cat)) where SNePS would replace the SNePSUL variable "#felix"/"*felix" by a base node lable like "b1". POSSIBLE SNePSLOG NAMES (others are possible): a) define-frame Isa-Thing-Named (nil proper-name object) e.g.) Isa-Thing-Named(Felix,felix1). Isa(thing-called(cat),felix1). Note the potential for confusion in using both of these together! b) define-frame Isa-Entity-Called (nil proper-name object) c) define-frame Is-Named (nil proper-name object) d) define-frame Named (nil proper-name object) 4. subclass-superclass ------------------------------------------------------------------------ SNePS SYNTAX m / \ subclass / \superclass / \ V V i j SEMANTICS [[m]] is the proposition that entity [[i]] is a subclass of entity [[j]]. SNePSUL SYN: (assert subclass i superclass j) e.g.) Humans are animals. or: A human is an animal. (assert subclass (build lex human) superclass (build lex animal)) NB: If later you are told that Fred is a human, you would need to define a path to allow SNePS to infer that Fred is an animal. However, if you represented "Humans are animals" as "for all x, if x is a human, then x is an animal", then SNIP would automatically infer that Fred is an animal from "Fred is a human". POSSIBLE SNePSLOG NAMES (others are possible): a) define-frame AKO (nil subclass superclass) e.g.) AKO(thing-called(human),thing-called(animal)). b) define-frame AKO (nil superclass subclass) e.g.) AKO(thing-called(animal),thing-called(human)). 5. object-property ------------------------------------------------------------------------ SNePS SYNTAX m / \ object / \property / \ V V i j SEMANTICS [[m]] is the proposition that entity [[i]] has the property [[j]]. SNePSUL SYN: (assert object i property j) e.g.) Felix is black. (assert object #felix proper-name Felix) (assert object *felix property (build lex black)) POSSIBLE SNePSLOG NAMES (others are possible): a) define-frame Is (nil property object) e.g.) Is(thing-called(black),felix1). 6. rel-object1-object2 ------------------------------------------------------------------------ First, note that in principle, this can be extended to "object3", "object4", etc. But the CVA algorithms only know about binary relations. SNePS SYNTAX m / | \ / | \ object1 / |rel \proper-name / | \ V V V i k j SEMANTICS [[m]] is the proposition that [[i]] is related by relation [[k]] to [[j]]. SNePSUL SYN: (assert rel k object1 i object2 j) e.g.) Felix is longer than Bella. (assert object #bella proper-name Bella) (assert rel (build lex longer) object1 *felix object2 *bella) POSSIBLE SNePSLOG NAMES (others are possible): a) define-frame Rel (nil rel object1 object2) e.g.) Rel(thing-called(longer),felix1,bella1). NB: There is the potential for confusion between "Rel" and "rel" b) define-frame Exemplifies (nil rel object1 object2) NB: "Exemplifies", while a longer, uglier, multisyllabic word, has a long history in philosophical ontology, serving for both properties and relations. 6. object-rel-possessor ------------------------------------------------------------------------ SNePS SYNTAX m / | \ / | \ object / |rel \possessor / | \ V V V i k j SEMANTICS [[m]] is the proposition that [[i]] is a [[k]] of [[j]]; or: [[m]] is the proposition that [[i]] is [[j]]'s [[k]] ; or: [[m]] is the proposition that [[i]] is possessed (in some unspecified way) by [[j]] and that the relationship of [[i]] to [[j]] is [[k]] SNePSUL SYN: (assert object i rel k possessor j) e.g.) Bella is Michael's cat. (assert object #mike proper-name Michael) (assert object *bella rel (thing-called(cat)) possessor *mike) POSSIBLE SNePSLOG NAMES (others are possible): a) define-frame Possession (nil object possessor rel) e.g.) Possession(bella1,mike1,thing-called(cat)). NB: You can vary the name &/or order of the arc labels to try to make it sound better; good luck :-), e.g.: b) define-frame Possesses (nil possessor object rel) e.g.) Possesses(mike1,bella1,thing-called(cat)). 7. agent-act-(action-object) ------------------------------------------------------------------------ SNePS SYNTAX m / \ agent/ \act / \ V V i n / \ action/ \object / \ V V j k SEMANTICS [[m]] is the proposition that agent [[i]] performs action [[j]] with respect to object [[k]]. NB: This is used for transitive verbs, i.e., verbs that take an object. NB: Note that node "n" has no separate semantics. However, we could provide one: [[n]] is the act of performing action [[j]] wrt [[k]] SNePSUL SYN: (assert agent i act (build action j object k)) e.g.) Michael pets Bella. (assert agent *mike act (build action (build lex pet) object *bella)) POSSIBLE SNePSLOG NAMES (others are possible): NB: We must do this in 2 stages, defining frames for case-frame "m" and for case-frame "n" separately: a1) define-frame act-wrt (nil action object) a2) define-frame action-wrt (nil action object) b1) define-frame Does (nil act agent) e.g.) Does(act-wrt(thing-called(pet),bella1),mike1). 8. agent-act(-action) ------------------------------------------------------------------------ SNePS SYNTAX m / \ agent/ \act / \ V V i n / action/ / V j SEMANTICS [[m]] is the proposition that agent [[i]] performs action [[j]]; or: [[m]] is the proposition that agent [[i]] performs the act consisting of action [[j]]. NB: This is used for intransitive verbs, i.e., verbs that do not take an object. The "action" arc is needed for consistency with the above case-frame as well as consistency with SNeRE. NB: Note that node "n" has no separate semantics. However, we could provide one: [[n]] is the act of performing action [[j]]. SNePSUL SYN: (assert agent i act (build action j)) e.g.) Michael sings. (assert agent *mike act (build action (build lex sing))) POSSIBLE SNePSLOG NAMES (others are possible): NB: We must do this in 2 stages, defining frames for case-frame "m" and for case-frame "n" separately: a1) define-frame the-action (nil action) b1) define-frame Does (nil act agent) [as above; this is the same frame!] e.g.) Does(the-action(thing-called(sing)),mike1). 9. object-location ------------------------------------------------------------------------ SNePS SYNTAX m / \ object / \location / \ V V i j SEMANTICS [[m]] is the proposition that [[i]] is located at location [[j]]. SNePSUL SYN: (assert object i location j) e.g.) Felix is home. (assert object *felix location (build lex home)) POSSIBLE SNePSLOG NAMES (others are possible): a) define-frame Location (nil location object ) e.g.) Location(thing-called(home),felix1). Or, to avoid possible confusion: b) define-frame Is-Located-At (nil location object) e.g.) Is-Located-At(thing-called(home),felix1). 10. part-whole ------------------------------------------------------------------------ SNePS SYNTAX m / \ part / \whole / \ V V i j SEMANTICS [[m]] is the proposition that [[i]] is a part of [[j]]. SNePSUL SYN: (assert part i whole j) POSSIBLE SNePSLOG NAMES (others are possible): a) define-frame Isa-Part-Of (nil whole part) b) define-frame Isa-Part-Of (nil part whole) [Can you tell I'm getting tired?] 11. synonym-synonym AND antonym-antonym ------------------------------------------------------------------------ These are similar; I will only treat the first pair. SNePS SYNTAX m / \ synonym / \synonym / \ V V i j SEMANTICS [[m]] is the proposition that [[i]] and [[j]] are synonyms. SNePSUL SYN: (assert synonym i synonym j) Or: (assert synonym (i j)) e.g.) "small" and "little" are synonyms (assert synonym (build lex small) synonym (build lex little)) POSSIBLE SNePSLOG NAMES (others are possible): a) define-frame Synonyms (nil synonym) e.g.) Synonyms(thing-called(small),thing-called(little)). OOPS: Do you see a problem here? The *thing* called "small" is not a synonym of the *thing* called "little". It's the *words* that are synonyms, not the *concepts*. But there's no agreed-upon term for "synonymous" concepts, so let's stick with this for now, unless one of you comes up with a better idea. For good measure, because it's generally important in SNePS and in KR generally, but is NOT "known" by the CVA algorithms (yet), I'll add this one: 12. equiv-equiv ------------------------------------------------------------------------ SNePS SYNTAX m / \ equiv / \equiv / \ V V i j SEMANTICS [[m]] is the proposition that mental entities [[i]] and [[j]] correspond to the same external object. SNePSUL SYN: (assert equiv i equiv j) e.g.) The Morning Star is the Evening Star. (assert equiv (build lex "the morning star") equiv (build lex "the evening star")) POSSIBLE SNePSLOG NAMES (others are possible): a) define-frame Equivalent (nil equiv) e.g.) Equivalent(thing-called("the morning star"), thing-called("the evening star")). For more on this, see: http://www.cse.buffalo.edu/~rapaport/snepsintensionality.html