File Information

File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/metho/83/j83-1002_metho.xml

Size: 37,512 bytes

Last Modified: 2025-10-06 14:11:35

<?xml version="1.0" standalone="yes"?>
<Paper uid="J83-1002">
  <Title>Denotational Semantics for &amp;quot;'Natural'&amp;quot; Language Question-Answering Programs 1</Title>
  <Section position="3" start_page="0" end_page="0" type="metho">
    <SectionTitle>
2. Semantic Domains for Natural Language
</SectionTitle>
    <Paragraph position="0"/>
    <Section position="1" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
2.1 The Domains
</SectionTitle>
      <Paragraph position="0"> A semantic domain is a set of objects. The objects are meanings of syntactic constructs; in our case the syntactic constructs are natural language phrases. In denotational semantics for programming languages, the semantic domains often have some order imposed on the objects to treat recursively defined functions. The specification of a question answerer may also involve explicit recursively defined questions, although in this demonstration only quantification is used and not recursion. This does not prevent an implementation from using recursion - almost surely it will, to handle the quantification. But lack of recursion does allow us to use unordered semantic domains, as described below. null One domain is the set of objects about which questions will be asked, e.g., moon rocks, toy blocks, or whatever. We are not concerned with the internal structure of these objects; hence they are called atoms and the domain is designated A. Two other domains are the set of natural numbers, designated N, and the set of truth values {true, false}, designated T.</Paragraph>
      <Paragraph position="1"> A fourth domain is the set of possible universes, designated U. Intuitively, a universe is a description of properties of atoms, the relationships between atoms, the relationships between relationships, etc .... A universe is usually a partial description including only the properties and relationships of interest. For example, in the toy blocks world (Winograd 1972) a universe is the specification of the size, shape, color, and position of all the blocks in the scene. A toy blocks universe does not include a description of the density, mass, or material composition of the various blocks.</Paragraph>
      <Paragraph position="2"> In application, the set of possible universes may be called a &amp;quot;data base&amp;quot;, and each actual universe is a specific state or configuration of the data base. The internal structure of such a data base is left unspecified in this paper.</Paragraph>
      <Paragraph position="3"> Other semantic domains are built from the four basic domains. For example, the set of functions from universes to truth values, designated \[U--T}, is a new domain. In general, if X and Y designate sets, then \[X--Y} designates the set of functions from X to Y.</Paragraph>
      <Paragraph position="4"> Other semantic domains could be conceived (e.g., product or sum domains), but function domains will be adequate for our examples.</Paragraph>
    </Section>
    <Section position="2" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
2.2 Assigning domains to syntactic categories
</SectionTitle>
      <Paragraph position="0"> Natural language phrases have been divided into many different categories (see Kahn 1978). Exactly which categories are used depends upon syntax. In the category grammar of section 3, the categories include sentence, intransitive verb, common noun, noun group, noun modifier, numeral, and so on. There are also separate interrogative categories for phrases that ask a question, such as how many stones.</Paragraph>
      <Paragraph position="1"> To each syntactic category, a semantic domain is assigned. The meaning of a phrase is an object in the assigned domain. Ultimately, from the meaning of a question, we will derive its answer. But first we assign domains to non-interrogative categories, beginning with the category of sentences.</Paragraph>
      <Paragraph position="2"> A declarative sentence is a proposition - that is, something to which a truth value can be assigned. The meaning of a sentence somehow determines what that truth value is in any possible universe. So, an appropriate semantic object for a sentence is a function from possible universes to truth values. The domain assigned to the category of sentences is therefore \[U--T}, which we will designate S. If a declarative sentence has a meaning a E S, and/3 is a universe, then a/3 is true just if the sentence is true in the universe/3.3</Paragraph>
    </Section>
  </Section>
  <Section position="4" start_page="0" end_page="0" type="metho">
    <SectionTitle>
3 Lower case Greek letters are semantic objects. Juxtaposi-
</SectionTitle>
    <Paragraph position="0"> tion indicates functional application and associates left-to-right.</Paragraph>
    <Paragraph position="1"> Thus, a/3 means the function a applied to the argument /3, and a/37 means (a(/3))(),).</Paragraph>
    <Paragraph position="2"> 12 American Journal of Computational Linguistics, Volume 9, Number 1, January-March 1983 Michael G. Main and David B. Benson Denotational Semantics for &amp;quot;Natural&amp;quot; Language Q-A Programs If there is a single fixed universe, then sentences could be assigned meanings in T alone. However, question answerers are generally based on a changeable universe or data base. Hence, the \[U--T\] approach is needed to give a fixed meaning to a sentence whose truth value may vary from universe to universe.</Paragraph>
    <Paragraph position="3"> Both common nouns and intransitive verbs define subsets of A. The subset of stone (a common noun) is the set of atoms that are stones. The subset for the intransitive verb phrase belong to Preston is the set of atoms that belong to Preston. The meaning of such a phrase determines what that subset is for any possible universe. This can be done by an object in \[U-~\[A-~T\]\] (i.e., functions from U to \[A--T\]). This domain is assigned to both common noun and intransitive verb categories, and is designated by C. If a common noun has a meaning a e C, and/3 is a universe and 3' an atom, then a/33' is true just if ~, is in the subset defined by the common noun in the universe /3 - and similarly for intransitive verbs.</Paragraph>
    <Paragraph position="4"> For most other syntactic categories, the semantic domain is determined by how phrases in that category combine with sentences, common nouns, intransitive verbs, and other phrases to form new phrases. For example, a noun group combines with an intransitive verb to form a sentence. Therefore, a semantic object for a noun group should take a semantic object from C (the domain for intransitive verbs) and yield a semantic object from S (the domain for sentences). Thus, the semantic domain for noun groups is \[C-~S\]. 4 Similarly, a noun modifier, such as black, combines with a common noun, such as stone, to form a new common noun - black stone. So, the semantic domain for noun modifiers is \[C--C\]. By examining the syntactic rules, this method can be applied to most categories. 5 Occasional exceptions can be made - for example, numerals are assigned the domain, N, of natural numbers.</Paragraph>
    <Section position="1" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
2.3 Interrogative categories
</SectionTitle>
      <Paragraph position="0"> So far, the categories include only non-interrogative phrases. Syntactically, the interrogative phrases parallel the non-interrogatives, but semantically an interrogative lacks something. For example, Ajdukiewicz (1926) would represent the meaning of the interroga-</Paragraph>
    </Section>
  </Section>
  <Section position="5" start_page="0" end_page="0" type="metho">
    <SectionTitle>
4 A name, such as John, is one type of noun group that de-
</SectionTitle>
    <Paragraph position="0"> notes a particular atom which does not change from universe to universe Therefore, it might be better to have names in a separate syntactic category with assigned semantic domain A. But, doing this would not do away with the category noun group, since some noun phrases are not names (e.g., every stone). But, having two categories unduly complicates the syntax, so we lump names together with other noun groups, and treat them as Montague (1973) has.</Paragraph>
    <Paragraph position="1"> 5 This method of assigning semantic domains is an application of Frege's rule of compositionality, which says that the meaning of a compound phrase is composed from the meaning of its parts* (Frege 1892, van Emde Boas and Janssen 1979) tive sentence what is black and white and read all over as: ?x(x is black and white and read all over). Here, x is a variable and &amp;quot;?&amp;quot; a quantifier indicating the lack.</Paragraph>
    <Paragraph position="2"> In this case, the range of the variable is the set of noun group phrases that could answer the question.</Paragraph>
    <Paragraph position="3"> There are also interrogative phrases in other categories, such as the intransitive verb phrase owns what.</Paragraph>
    <Paragraph position="4"> And it is not always a noun group that is missing; for * example, the noun group how many stones lacks a numeral. In general, any non-interrogative category is made into an interrogative category by indicating what is lacking. Hence, if X and Y are non-interrogative categories, then X?Y designates the category of interrogative phrases that are syntactically like X-phrases but semantically lack a Y-phrase. 6 If Y has semantic domain Y and X has semantic domain X, then X?Y will have semantic domain \[Y--X\]. Furthermore, if an interrogative phrase in X?Y has a meaning aE\[Y-~X\], then a/3 is that object of X that results when /3eY answers the interrogative.</Paragraph>
    <Paragraph position="5"> For example, the interrogative sentence who killed cock robin will have a meaning aE\[\[C-~S\]--S\], since it is a sentence (domain S) lacking a noun group (domain \[C--S\]). If the sparrow has a meaning /3tIC--S\], and the sparrow killed cock robin has a meaning 7ES, then a/3=~,.</Paragraph>
    <Paragraph position="6"> A similar idea can be applied to one other category: yes-no questions. Such an interrogative lacks a truth value, so the semantic domain assigned to yes-no questions is \[T--S\]. If at\[T--S\] is the meaning of a yes-no question, then a(true)PS S is the meaning of the sentence when it is answered by yes, and similarly for an a(false).</Paragraph>
    <Section position="1" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
2.4 Lambda expressions
</SectionTitle>
      <Paragraph position="0"> Up to this point, semantic objects have been described in English. In order to be more precise, a formal notation is needed. We use a typed lambda expression for denoting functions, similar to the lambda calculi of Church (1951).</Paragraph>
      <Paragraph position="1"> Every lambda expression has a type that indicates the semantic domain of the object denoted by the expression. These types are in one-to-one correspondence with the semantic domains (A, U, T, N, \[U-~T\], etc .... ), so we will use the same letters in ordinary typescript for the expression types (A, U, T, N, \[U-~T\], etc .... ).</Paragraph>
      <Paragraph position="2"> The expressions of each type include a set of constants and a denumerable set of variables. A function that maps the constants into semantic objects is an interpretation, and generally remains fixed. A function that maps variables into semantic objects is a variable assignment and, as its name suggests, will 6 This could be extended to include phrases, like who does what, which question more than one thing at a time.</Paragraph>
      <Paragraph position="3"> American Journal of Computational Linguistics, Volume 9, Number 1, January-March 1983 13 Michael G. Main and David B. Benson Denotational Semantics for &amp;quot;Natural' Language Q-A Programs change. If q, is a variable assignment, x is a variable of any type, and a is an object from the semantic domain of x, then ~p\[a/x\] is a changed variable assignment that is like ~ except that q~\[a/x\] assigns a to the variable x. In this way, new variable assignments are formed from old. Finally, each lambda expression denotes one semantic object, but which object this is varies as the variable assignment changes. So, for an expression b the notation \[\[bll ~ is to denote the semantic object for the expression b, with variable assignment ~p.7 Table 1 gives recursive rules defining lambda expressions and the semantic objects they denote. We take as given a set of constants and a denumerable set of variables for each type, and a fixed interpretation, q0. X and Y are arbitrary types, with corresponding semantic domains X and Y.</Paragraph>
      <Paragraph position="4"> Some lambda expressions can be derived more than one way. Any such ambiguities are resolved as follows: null a. The expression following a lambda abstraction (i.e., ),x) or a quantifier (i.e., 3x, Y=x, 3nx,) will be as long as possible - that is, to the first unmatched right parenthesis or to the end of the entire expression. null b. The unary operator -, has higher priority than any of the binary operators (A, V, =, =&gt;, .-, &gt;, and functional application, which is indicated by juxtaposition). Functional application has the highest priority of the binary operators and associates leftto-right, e.g., bcd=(bc)d. The other binary operators have equal precedence and also associate leftto-right, e.g., bcAdcVc = ((bc)A(dc))Vc.</Paragraph>
      <Paragraph position="5">  3. Syntax and Semantics of a Small Question</Paragraph>
    </Section>
    <Section position="2" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
Answerer
3.1 Syntactic categories
</SectionTitle>
      <Paragraph position="0"> To illustrate the mechanics of the previous section, we give the syntax and semantics of a small question answerer. The question answerer accepts questions about configurations of pieces in the game of Go.</Paragraph>
      <Paragraph position="1"> Briefly, a configuration consists of a 19 by 19 grid of points, labeled A-1 through S-19. Each point may contain a black or a white stone. Like-colored stones, connected horizontally or vertically, form blocks.</Paragraph>
      <Paragraph position="2"> Empty points adjacent to a block are that block's liberties. Each configuration is a universe in the semantic domain U.</Paragraph>
      <Paragraph position="3"> The syntax for a question answerer must answer the question: what phrases are grammatically correct input to the question answerer? Our approach uses various syntactic categories, in the style of Montague (1973). A syntactic category is a set of phrases, including basic phrases and derived phrases. The derived phrases are specified by recursive syntactic rules that describe how phrases from various categories combine to form new phrases.</Paragraph>
      <Paragraph position="4"> The syntax presented here has two kinds of categories. First, non-interrogative categories, whose phrases do not ask questions. These categories are listed in Table 2, along with an abbreviation for each, the lists of basic expressions, and the associated semantic domains from section 2. In the table, A-I, A-2, and so on are names of points on the Go board.</Paragraph>
      <Paragraph position="5"> The basic phrases heo, he 1, they o, they 1, and so on are used as variables in a manner made precise by syntactic rules given later.</Paragraph>
      <Paragraph position="6"> The second kind of category is the interrogative category. Syntactically, an interrogative category behaves like some non-interrogative category, but it also asks a question whose answer is from some other non-interrogative category. If a phrase is syntactically like a phrase from category X, and asks a question whose answer is in category Y, then that phrase is in a category X?Y. This separation of interrogatives is needed because the semantic domain for interrogatives differs from that for non-interrogatives (see section 2.3).</Paragraph>
      <Paragraph position="7"> One additional interrogative category does not follow the X?Y pattern - the yes-no questions. We designate this category YN and list it in Table 3 with the other interrogative categories.</Paragraph>
    </Section>
    <Section position="3" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
3.2 Syntactic and semantic rules
</SectionTitle>
      <Paragraph position="0"> We now give syntactic rules that define the phrases of each category. With each syntactic rule is a semantic rule. For each phrase that a syntactic rule creates, the corresponding semantic rule tells precisely how to translate that phrase into a lambda expression denoting the meaning of the phrase. In these rules, italic letters (u, v, w, ...) are arbitrary phrases from any category and F1, F2, ..., are functions that combine phrases to yield new phrases. Variables in lambda expressions are of the following types.</Paragraph>
    </Section>
  </Section>
  <Section position="6" start_page="0" end_page="0" type="metho">
    <SectionTitle>
LAMBDA EXPRESSION SEMANTIC OBJECT
</SectionTitle>
    <Paragraph position="0"> 1. If b is a constant of type X, then b is an expression of type X.</Paragraph>
    <Paragraph position="1"> 2. If x is a variable of type X, then x is an expression of type X.</Paragraph>
    <Paragraph position="2"> 3. If b is an expression of type X, then (b) is also an expression of type X.</Paragraph>
    <Paragraph position="3"> 4. If b is an expression of type Y and x is a variable of type X, then ~x.b is an expression of type \[X--Y\]. 5. If b is an expression of type \[X-,Y\] and c is an expression of type X, then bc is an expression of type Y.</Paragraph>
    <Paragraph position="4"> 6. If b and c are expressions of type X, then b = c is an expression of type T.</Paragraph>
    <Paragraph position="5"> 7. If b and c are expressions of type T, then -, b, bAc, bVc, b~,c, and b&lt;==&gt;c are expressions of type T. 8. If n is an expression of type N, then n+l is an expression of type N.</Paragraph>
    <Paragraph position="6"> 9. If b is an expression of type T and x is a variable of type X, then 3x.b and Vx.b are expressions of type T.</Paragraph>
    <Paragraph position="7"> 10. If b is an expression of type T, x is a variable of type X and n is an expression of type N, then 3nx.b is an expression of type T.</Paragraph>
    <Paragraph position="8">  \[lbll ~ is q0b (i.e., the interpretation ~ applied to the constant b).</Paragraph>
    <Paragraph position="9"> II x II q~ is ~x (i.e., the variable assignment ~b applied to the variable x).</Paragraph>
    <Paragraph position="10"> II (b) II q~ is 11 b II ~.</Paragraph>
    <Paragraph position="11"> II ?,x.b II ~ is that function a:X-,Y, such that for every ~x, ~/~ --- Ilbllq~\[/3/x\].</Paragraph>
    <Paragraph position="12"> II bc II ff is the function II b \[1 ~k applied to the argument II c II q~.</Paragraph>
    <Paragraph position="13"> II b = c II ~ is true iff \[\[ b II ~ is the same semantic object as II c II ~.</Paragraph>
    <Paragraph position="14"> II-,b II q~ is true iff II b II q~ is false, and similarly for /X (and), V (or), ~ (implication), and &lt;==&gt; (coincidence). II n+ 1 II q~ is the natural number successor of II n II q~. 113x.bll~ is true iff there exists an aEX, such that Ilbllq~\[~/x\] is true. IlVx.bllq~ is 11-,3x.-,bll~. Let n = II n II ~k. Then II 3nx.b II ~ is true iff there exist ,/ distinct objects in X, so that for any of these ,/ objects, say a, II b II q~\[~/x\] is true.</Paragraph>
    <Paragraph position="15">  player, block, stone, liberty, point  RI. For each category, its basic phrases are phrases. Semantics: We give a translation of each basic phrase, according to which category it is in: CN, IV: player translates to a constant of type C, denoted player; and similarly for any other basic phrase of category CN or IV.</Paragraph>
    <Paragraph position="16"> NG: Black translates to ~xAu.xu(Black), where Black is a constant of type A. Having Black be a constant of type A emphasizes the point that Black is a name, associated with some particular object in A. The translation of other basic phrases of NG will be similar, except for he i and they i (i = 0, 1 .... ). In particular, he i translates to ~x.~u.xuqi and they i translates to ~x.~u.xuPi. TV: own translates to XyAuAz.y(~ut.(own)uWz)u, where own is a constant of type \[U -* \[A -* \[A -- T\]\]\]; and similarly for any other basic phrase of category TV. This emphasizes that a transitive verb is a relation between two objects in A. In particular, if own interprets to a* \[U -- \[A -* \[A -~ T\]\]\], fleU, and 7, 8*A, then afl3,d if true is the object 3' owns the object d in the universe ft.8 NM: black translates to ~x.AuAz.xuz A (black)uz, where black is a constant of type C; and similarly for other basic phrases of category NM.</Paragraph>
    <Paragraph position="17"> PP: at translates to ~y.~x.Xu.Xz.xuz A y(XuV.(at)utz)u, where at is a constant of type \[U -* \[A -- \[A -* T\]\]\]; and so on.</Paragraph>
    <Paragraph position="18"> NU: 0 translates to 0, a constant of type N, which interprets to the natural number 0 in N; and similarly for other numerals.</Paragraph>
    <Paragraph position="19"> NG?NG: what translates to ~,y.y and who translates to ~yAx.~u.y(player)u/x yxu.</Paragraph>
    <Paragraph position="20">  These rules use a set of syntactic functions, F 1 through F4, which combine phrases in various ways involving person, plurality, and so on. We give these functions first.</Paragraph>
    <Paragraph position="21"> Ft(u,v) is uv', where v' is v (if the first noun in u is plural) or the result of replacing the first verb in v by its third person singular form (if the first noun 8 However, this scheme will not work with all transitive verbs, for example, alleged to be. Such verbs, called intensional verbs, require more complex translations, but the end result will still be of type \[\[C --,- S\] ~ CI. The same complexities arise for NM and PP. Our example contains none of these intensional words. in u is singular).</Paragraph>
    <Paragraph position="22"> F2(u,v) is uv t, where v' is the result of replacing the first noun in v by its objective form.</Paragraph>
    <Paragraph position="24"> Syntactic Rules: R2. If u is a phrase from NG and v is a phrase from IV, then Fl(U,V) is a phrase from SE.</Paragraph>
    <Paragraph position="25"> R3. If u is a phrase from TV and v is a phrase from NG, then F2(u,v) is a phrase from IF.</Paragraph>
    <Paragraph position="26"> R4. If u is a phrase from PP and v is a phrase from NG, then F2(u, v) is a phrase from MG.</Paragraph>
    <Paragraph position="27"> R5. If u is a phrase from NM and v is a phrase from CN, then F3(u,v) is a phrase from CN.</Paragraph>
    <Paragraph position="28"> R6. If u is a phrase from MG and v is a phrase from  CN, then F4(u,v) is a phrase from CN.</Paragraph>
    <Paragraph position="29"> Interrogative Variants of Syntactic Rules: In any of the rules R2 through R6, exactly one of the arguments, u or v, may be a phrase from category X?Y, where X is the original category specified for the argument and Y is any non-interrogative category. If the original result was to be from category Z, then the new result is in category Z?Y. For example, from R2, if u is a phrase from NG?NG and v is a phrase from IV, then Fl(U,v) is a phrase from SE?NG.</Paragraph>
    <Paragraph position="30"> Semantics: Let w = Fi(u,v), fori = 1, 2, 3, or 4. Let u translate to b and v translate to c. Then there are three cases for the translation of w&amp;quot; Case (i): If neither u nor v is from an interrogative category, then w translates to bc.</Paragraph>
    <Paragraph position="31"> Case (ii): If u is from an interrogative category X?Y, then w translates to ~s.bsc, where s is a variable of type assigned to the category Y.</Paragraph>
    <Paragraph position="32"> Case (iii): If v is from an interrogative category X?Y, then w translates to ~s.b(cs), where s is a variable of type assigned to the category Y.</Paragraph>
    <Paragraph position="33">  These rules combine phrases with words from outside the categories to form new phrases. The rules use two syntactic functions given here: Fs(u,v) is vu v, where u t is u (if v = 1), or the result of replacing the first noun in u by its plural form (if v~ 1).</Paragraph>
    <Paragraph position="34"> F6(u ) is the result of replacing the first noun in u with its plural form.</Paragraph>
    <Paragraph position="35">  R8. Let u be a phrase from CN, translating to b. Also let v be a phrase from NU, which translates to n. Then: (i) exactly Fs(u,v) is a phrase from NG, translating to Xx.Xu.(3nz.buz A xuz) A -,(3(n+l)z.buz A xuz).</Paragraph>
    <Paragraph position="36"> (ii) at least Fs(u,v) is a phrase from NG, translating to Xx.Xu.3nz.buz A xuz.</Paragraph>
    <Paragraph position="37"> (iii) less than F5(u,v) is a phrase from NG, translating to Xx.Xu.-, (3nz.buz A xuz).</Paragraph>
    <Paragraph position="38"> R9. Let u be a phrase from SE, translating to b.  Then is it the case that u is a phrase from YN, translating to M.Xu.bu&lt;==&gt;t.</Paragraph>
    <Paragraph position="39"> R10. Let u be a phrase from CN, translating to b. Then: (i) what F6(u) is a phrase from NG?NG, translating to ?~y.Xx.Xu.ybu A yxu.</Paragraph>
    <Paragraph position="40"> (ii) how many F6(u ) is a phrase from NG?NU, translating to Xm.Xx.Xu.(3mz.buz A xuz) A -, (\](m+ 1)z.buz A xuz.</Paragraph>
    <Paragraph position="41"> 3.2.4 The abstraction rule This rule is to replace the variables he i and they i by other noun phrases. The necessity for abstraction is discussed in Lewis (1972). The syntactic functions F 7 and Fs, defined below, are used. In these definitions, let u' be the result of replacing the first noun in u with its objective form, let up be the result of replacing the first noun in u with its plural form, and let u'p be the result of replacing the first noun in u with its plural objective form.</Paragraph>
    <Paragraph position="42"> FT(U,v,i) is the result of replacing, in v, all occurrences of he i by u and all occurrences of him i by u'. F8(u,v,i) is the result of replacing in v, all occurrences of they i by Up and all occurrences of them i by U'p. Syntactic Rule: Rll. Let u be a phrase from NG, v be a phrase from SE, IV, or CN, and i be a variable index (e.g., 0, 1, 2 .... ). Then FT(U,v,i) and Fs(u,v,i) are phrases from the same category as v.</Paragraph>
    <Paragraph position="43"> Interrogative Variant of Syntactic Rule: Either u may be from NG?Y or v may be from SE?Y, IV?Y, or CN?Y (but not both), where Y is any non-interrogative category. In all cases, the result is from X?Y, where X is the first portion of the category of v. Semantics: Let b be the translation of u and c be the translation of v. The translation of FT(U,v,i) is given in the following table, where s is a variable of type Y:  The translation is identical for F8, except that qi is replaced by Pi-Some of the notions in the syntactic rules must still be formalized. We must define the plural, objective, and plural objective forms of each basic phrase in CN, NG, and NG?NG. A noun is then any such basic phrase or one of these forms. A verb is any basic phrase in IV or TV. For each verb we must define its third person singular form.</Paragraph>
    <Paragraph position="44"> A brief discussion of the abstraction rules can clarify their usage and purpose. A sentence such as every player owns some stone has two possible meanings. It can mean: there is some particular stone owned by every player; or alternately, every player owns at least one stone, but not necessarily the same stone for each player. These two meanings will be achieved by introducing the NG some stone at different times. The abstraction rules allow this by delaying the introduction of a noun phrase. Initially, a variable (perhaps he o) is put in the sentence as a place holder. The abstraction rules allow an NG to later replace the variable.</Paragraph>
  </Section>
  <Section position="7" start_page="0" end_page="0" type="metho">
    <SectionTitle>
4. Questions and Answers
</SectionTitle>
    <Paragraph position="0"/>
    <Section position="1" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
4.1 Questions
</SectionTitle>
      <Paragraph position="0"> A question is any phrase from category YN, SE?NG, or SE?NU, along with its syntactic derivation. The syntactic derivation is needed because some phrases can be derived in more than one way (e.g., is it the case that every player owns some stone).</Paragraph>
      <Paragraph position="1"> Derivations are represented by trees. Each leaf in a derivation tree is labeled with a basic phrase. Each internal node is labeled with a derived phrase, plus the number of the syntactic rule that is used to derive it from its daughter leaves.</Paragraph>
      <Paragraph position="2"> From the semantic rules, every question translates to exactly one lambda expression.</Paragraph>
      <Paragraph position="3"> 18 American Journal of Computational Linguistics, Volume 9, Number 1, January-March 1983 Michael G. Main and David B. Benson Denotational Semantics for &amp;quot;Natural&amp;quot; Language Q-A Programs</Paragraph>
    </Section>
    <Section position="2" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
4.2 Answers
</SectionTitle>
      <Paragraph position="0"> Let Q be a question that translates to a lambda expression, b, of type \[X ~ S\]. Also let: * q, be a variable assignment, * g be a constant of type U and II g II 4~ = ~', * d be a constant of type X and II d II q~ = ,~.</Paragraph>
      <Paragraph position="1"> Then 6 is an answer to Q, in the universe 3' with variable assignment ~b iff II bdg II ~k is true.</Paragraph>
      <Paragraph position="2"> If b is an expression of type \[X -- S\], then the answers to its corresponding question are semantic objects in X. In general, these objects depend on the choice of the universe and also on the variable assignment. However, if the question does not contain any variables (he i or theYi), then the set of answers is the same for any variable assignment. Such a question is called invariable, and we may speak of an answer without respect to a variable assignment.</Paragraph>
    </Section>
    <Section position="3" start_page="0" end_page="0" type="sub_section">
      <SectionTitle>
4.3 Examples
</SectionTitle>
      <Paragraph position="0"> All of these examples are invariable questions, so we may choose a variable assignment, ~p, at random. The types of variables are as in section 3.2, and we also use a lambda constant g, of type U. As always, there is a fixed interpretation assigning the lambda constants to semantic objects.</Paragraph>
      <Paragraph position="1"> In translating the examples to lambda expressions, we use the semantic rules of section 3.2. However, after translating a phrase, we will sometimes alter the lambda expression in ways that cannot change the semantic object. 9 Example 1. One derivation of the phrase is it the case that every player owns some stone is: (R9) is it the case that every player owns some stone I (R2) every player owns some stone o (R7) every player wn some stone I ./\ player own (R7) some stone stone We have these translations: own some stone: Xu.Xz.=lz'.(stone)uz' A (own)uzz' 9 In particular, we use logical conversion (such as b A b converts to b) and the a- and /3-conversions of lambda calculus. a-conversion involves changing the name of a bound variable (e.g., ?,x.x A y converts to ),z.z A y). /3-conversion corresponds to functional application (e.g., (~,x.x A y)z converts to z A y). Details can be found in Stoy (1977).</Paragraph>
      <Paragraph position="2"> every player: ?,x.?,u.Vz.(player)uz ~ xuz every player owns some stone: ~u.Vz.(player)uz =&gt; (3z~.(stoue)uz t A (own)uzz t) is it the case that every player owns some stone:</Paragraph>
      <Paragraph position="4"> Let true be a constant of type T that interprets to 'true'~T. From the definition of an answer, 'true' is an answer to this question in the universe II g II ~ iff:  -, (3(m+ 1)z. (stone)uz A (belong to)uz(Black)) Let 7/ = II n II ff be a natural number. Then 7/ answers this question in the universe II g \[1 if, iff: II (3nz.(stone)gz A (belong to)gz(Black)) A -, (\](n+ 1)z. (stone)gz A (belong to)gz(Black)) II That is, there exists ~/ stones (but not ,/+1) that belong to Black in the universe II g II ft.</Paragraph>
      <Paragraph position="5"> Example 4. This question is from SE?NG.</Paragraph>
      <Paragraph position="6"> (R2) what owns no black stone what (R2) own no black stone own (R7) no black stone I (R5) black stone /\ black stone Here are the translations to lambda expressions:  black, own, and White so that H (black)gzllff and It (own)g(White)z II q~ are mutually exclusive for any g, z, and ~k, so that the semantic object for White does answer this question.</Paragraph>
      <Paragraph position="7"> The difficulty with examples such as these is that even when the translations of individual constructions are fairly simple the translation of a complex construction inevitably appears cryptic and the translation process is tedious. However, the formal translations are amenable to mechanical manipulations and the translating process is also easily mechanized. Hence, we leave it as an exerciue in the manipulations to show that the translation of what blocks own at least 3 stones with less than 2 liberties is as follows:</Paragraph>
      <Paragraph position="9"> The first part of the translation guarantees that a possible answer, y, is indeed a block. The second part checks that y owns at least 3 stones with less than 2 liberties. Note that, although there may be other parsings of this sentence in a complete English grammar, our simple syntactic rules have forced this particular translation upon us.</Paragraph>
      <Paragraph position="10"> Answers to SE?NG questions are objects from \[C -~ S\]. However, it might be more convenient to have these answers be objects from A. A modification to the definition of an answer could allow this. In particular, let b be a lambda constant of type A, which interprets to flEA. Then /3 could answer a question in the universe II g II ~, with variable assignment ~b, iff</Paragraph>
    </Section>
  </Section>
  <Section position="8" start_page="0" end_page="0" type="metho">
    <SectionTitle>
II XxAu.xuh II ~ E \[C -~ S\], does.
5. Discussion
</SectionTitle>
    <Paragraph position="0"> We have used denotational techniques to define the semantics of a &amp;quot;natural&amp;quot; language question answerer.</Paragraph>
    <Paragraph position="1"> The questions are defined by syntactic rules - a category grammar. Associated with each syntactic rule is a semantic rule, giving a semantic object for each phrase the syntactic rule produces. The semantic objects for questions are functions, from possible answers to propositions, where a proposition is an object that takes on a truth value. Thus, if a question, Q, has a semantic object that maps an answer, A, to a true proposition, then A answers Q. In this way, the relation between questions and answers is formalized.</Paragraph>
    <Paragraph position="2"> While it is not our intent to give implementation details for the question answerer, an outline of the program's organization will lead to some concluding remarks. The program was written as a class project by the first author and four other students. The logical divisions of the program were as follows: 20 American Journal of Computational Linguistics, Volume 9, Number 1, January-March 1983 Michael G. Main and David B. Benson Denotational Semantics for &amp;quot;Natural&amp;quot; Language Q-A Programs * Lexical analysis. The input is broken into basic component words, or &amp;quot;tokens&amp;quot;, using finite automata techniques as in Johnson et al. (1968).</Paragraph>
    <Paragraph position="3"> * Syntactic parser. An augmented transition network (Woods 1970) parses the input according to the category grammar with heuristic rules and interactive query to solve ambiguities. The output is a single derivation tree.</Paragraph>
    <Paragraph position="4"> * Semantic interpretation. The &amp;quot;meaning&amp;quot; of the sentence is computed according to the semantic rules.</Paragraph>
    <Paragraph position="5"> The output of this phase can be thought of as &amp;quot;machine code&amp;quot; for finding answers. At this stage, the &amp;quot;code&amp;quot; is independent of the actual structure of the implementation of the underlying data base.</Paragraph>
    <Paragraph position="6"> * Deductive components. The &amp;quot;code&amp;quot; from the previous stage is improved based on conversion rules of logic, such as x or x = x. It is also modified according to the specific structure of the data base.</Paragraph>
    <Paragraph position="7"> The latter modifications are implementation dependent. null * Answerer. This corresponds to a database queryretrieval program. The &amp;quot;code&amp;quot; from the previous step is executed to produce an answer.</Paragraph>
    <Paragraph position="8"> In the actual implementation, the above stages are not strictly separate; still, the model is useful. There is a direct correspondence between the first four stages of the implementation and the initial four stages of a typical compiler (Aho and Ullman 1977). Hobbs and Rosenschein (1977) indicate how these last three stages could be developed using an augmented LISP as &amp;quot;code&amp;quot;.</Paragraph>
    <Paragraph position="9"> In this paper, we have recommended using denotational semantics as a specification technique for question-answering programs. The implementation suggests that principles of compiler design can be used as principles of question answerer design by the software engineer.</Paragraph>
  </Section>
class="xml-element"></Paper>
Download Original XML