%---------------------------------------------------------------------------- NATURAL LANGUAGE UNDERSTANDING (NLU) - LEXICON, SYNTAX and SEMANTICS %---------------------------------------------------------------------------- SEMANTIC GRAMMARS: Semantic grammars encode the semantics in the grammar itself. They represent the meaning of the terms procedurally, not declaratively (descriptively and explicitly). Example: SHRDLU (Winograd) and LADDER [Hendrix] Semantic grammar for a query language for querying a database containing information about naval ships. S ---> what is the SHIP-PROPERTY of SHIP? SHIP-PROPERTY ---> the SHIP-PROP | SHIP PROP SHIP-PROP ---> speed | length | beam | type SHIP ---> SHIP-NAME | the fastest SHIP2 the biggest SHIP2 | SHIP2 SHIP-NAME ---> Kennedy | Kitty Hawk | ... SHIP2 ---> COUNTRYS SHIP3 | SHIP3 SHIP3 ---> SHIPTYPE LOC | SHIPTYPE LOC SHIPTYPE ---> carrier | submarine COUNTRYS ---> American | British LOC ---> in the Pacific | in the Atlantic In this grammar, words in captial letters are semantic categories; other words are syntactic place markers. This grammer can be used to parse sentences such as ``what is the speed of the fastest American carrier in the Pacific?'' Captures semantics in an limited sense --- procedural semantics. Can be implemented on an ATN. The grammar is limited to a very narrow domain. As the domain size increases, the number of grammar rules increases rapidly. %---------------------------------------------------------------------------- CASE GRAMMARS: [Filmore ~1965] The two sentences 1. Mary hit Bill 2. Bill was hit by Mary give two very different parse trees. However, their ``meaning'' (in terms of objects and relations in the real world) is pretty much the same. Case grammars represent the meaning of sentences around actions such as ``hit''. Action: hit Agent: Mary Dative: Bill Now, the same representation expresses the meaning of both sentences. Of course, this language needs to be augmented for representing more complex sentences such as Mary hit Bill in the zoo; Mary hit Bill in the afternoon; etc. There is no agreement on what set of semantic primitives are needed. Some possible primitives are Agent: (animate) instigator of action Dative: (animate) entity affected by action Object: entity acted upon Instrument: (inanimate) cause of event or object used in causing the event Factitive: (inanimate) object or (animate) being resulting from event Locative: place of event Source: place from which something moves Goal: place to which something moves Beneficiary: (animate) being on whose behalf the event occurred Time: time of event ... ... The parsing is done as follows. First, the verb in the sentence is located. Then, the verb is used as an index to select the coresponding action schema from memory. Next, the action schema generates expectations about other phrases and terms in the sentences, e.g., the action schema corresponding to the verb ``hit'' generates expectations about an agent, a dative, and so on. Finally, these expectations help to parse the sentence in terms of the semantic categories indicated by the action schema. Again, ATNs provide a good parser for case grammars. Advantages: Captures semantics declaratively (descriptively and explicitly). Generates expectations (once the verb of the sentence is located, it can be used to predict noun phrases in the sentence etc.) Drawbacks: Schema selection problem --- because of the large number of verbs in a natural language, the memory may contain a correspondingly large number of action schemas. Expectation generation problem --- because of syntactic issues, e.g., active vs. passive voice, a large number of rules for generating expectations may be needed. %---------------------------------------------------------------------------- Copyright (c) Ashok Goel Associate Professor, College of Computing Georgia Institute of Technology, Atlanta, Georgia 30332 Email: goel@cc.gatech.edu %----------------------------------------------------------------------------