460 likes | 547 Views
CAS LX 502. 8b. Formal semantics A fragment of English. Infinite use, finite means. A fundamental property of language is its recursive nature—we can create unboundedly many new sentences, and understand what they mean.
E N D
CAS LX 502 8b. Formal semantics A fragment of English
Infinite use, finite means • A fundamental property of language is its recursive nature—we can create unboundedly many new sentences, and understand what they mean. • “Infinite use of finite means,” one of the main reasons to suppose that our knowledge of language is systematic, that language is not a collection of habits and analogy, but must be described by a grammar.
Infinite use, finite means • In the domain of syntax, the task is primarily to describe/explain why some arrangements of words count as sentences of English, others don’t, and more broadly, how this system relates to those underlying other languages, and how this system can arise.
Syntax • The generally accepted view of syntax breaks sentences down into hierarchical parts. There are nouns, there are verbs, there are units made of verbs and nouns. New sentences can be created by mixing and matching these components together. • [S Pat [AuxP will [VP eat [NP the sandwich]]]] • [S The students [AuxP have [VP risen [PP in protest]]]]
Semantics • We’re not here to study syntax, we’re here to study semantics, but we’re going to delve a bit into both. • The syntactic system that defines what are “good sentences of English” provides hierarchical structures, but we know not only what sequences of words might be classified as “English” but we know what those sequences of words mean. • Just as there must be a grammar that defines what sequences of words are English, there must also be a grammar that tells us how the meanings of the parts contribute to the meaning of the whole.
F1 • To that end, we are going to create a “mini-grammar of English”, a fragment. This grammar will provide both the syntactic structure of a small number of English sentences and the rules by which we can understand their meaning. By doing this, we can start to understand what is involved in the grammar of semantics more generally.
F1 • Rewrite rules (the syntax):
Using the syntax of F1 • We start with S (we are building a sentence). S
Using the syntax of F1 • We start with S (we are building a sentence). • Several different rules can apply. We can either rewrite S as N VP, or as S conj S, or as neg S. Let’s pick N VP. S VP N
Using the syntax of F1 • We start with S (we are building a sentence). • Several different rules can apply. We can either rewrite S as N VP, or as S conj S, or as neg S. Let’s pick N VP. • Now, N can be rewritten as Pavarotti, Loren, or Bond. S VP N Bond
Using the syntax of F1 • We start with S (we are building a sentence). • Several different rules can apply. We can either rewrite S as N VP, or as S conj S, or as neg S. Let’s pick N VP. • Now, N can be rewritten as Pavarotti, Loren, or Bond. • And VP can be rewritten either as Vt N or Vi. S VP N Bond Vi
Using the syntax of F1 • We start with S (we are building a sentence). • Several different rules can apply. We can either rewrite S as N VP, or as S conj S, or as neg S. Let’s pick N VP. • Now, N can be rewritten as Pavarotti, Loren, or Bond. • And VP can be rewritten either as Vt N or Vi. • And Vi can be rewritten as is boring, is hungry, or is cute. S VP N Bond Vi is hungry
Using the syntax of F1 • With this little grammar, we can already create an unbounded number of sentences. • It is not the case that Bond is boring or Loren is hungry.
Using the syntax of F1 • It is not the case that Bond is boring or Loren is hungry. S Neg S S Conj S It is notthe case that N N VP or VP Bond Vi Loren Vi is boring is hungry
Using the syntax of F1 • It is not the case that Bond is boring or Loren is hungry. S S Conj S N S or VP Neg N VP Loren Vi It is notthe case that Bond Vi is hungry is boring
Compositionality • A fundamental assumption about how it is that we can know what novel sentences mean is that meaning is compositional. • The meaning of the whole is derived from the meaning of the parts and how the parts are arranged. • The syntax gives us the parts and how they are arranged, now we must approach the question of how the meaning is assigned to the parts and from there to the whole.
Enter [ ]M • Here, we turn to [ ]M, the evaluation function. • We already talked about the first steps: • M=<U,F> • [Pavarotti]M = F(Pavarotti) = Pavarotti • [Loren]M = F(Loren) = Loren • [Bond]M = F(Bond) = Bond • [is boring]M = F(is boring) = {Loren, Pavarotti} • [is hungry]M = F(is hungry) = {Bond, Pavarotti} • [is cute]M = F(is cute) = {Loren, Bond}
[ ]M S • We can write the denotation of the terminal nodes using those rules. VP N Bond Vi [Bond]M =F(Bond) =Bond is hungry [is hungry]M =F(is hungry) ={Bond, Pavarotti}
[ ]M S • We can write the denotation of the terminal nodes using those rules. • And, on the principle of compositionality, we can assume the that nodes above share the same denotation (where there is no combination involved) VP N Bond Vi [Bond]M =F(Bond) =Bond is hungry [is hungry]M =F(is hungry) ={Bond, Pavarotti}
[ ]M S • Now, to determine the meaning of the S as a whole, we want to combine the denotation of N and VP such that the S is true just in case (here), Bond is hungry. • That is, true just in case [N]M is in the set [VP]M. VP N Bond Vi [Bond]M =F(Bond) =Bond is hungry [is hungry]M =F(is hungry) ={Bond, Pavarotti}
[ ]M S • We can define a semantic rule for interpretation that says just that: • [S N VP]M = true iff[N]M [VP]M,otherwise false. VP N Bond Vi [Bond]M =F(Bond) =Bond is hungry [is hungry]M =F(is hungry) ={Bond, Pavarotti}
[ ]M S • Thus, we end up with an interpretation of this sentence that goes like this: • [S]M = true iffF(Bond) F(is hungry), otherwise false. • Given this particular model, that boils down to • [S]M = true iff Bond {Bond, Pavarotti}, otherwise false. • (True in this situation) VP N Bond Vi [Bond]M =F(Bond) =Bond is hungry [is hungry]M =F(is hungry) ={Bond, Pavarotti}
A semantic rule for every structural rule • Our goal is to design a semantics for F1 that can provide an interpretation (truth conditions) for any structure that the syntax can provide. • So, we also need rules for structures like S conj S, neg S, Vt N.
Neg S • As for Neg S, we want it to be false whenever S is true, and true whenever S is false. • [Neg S]M = false if [S]M = true,true if [S]M = false. • However, this is not quite enough—we want to have an interpretation for every node in the tree. This gives us an interpretation of [S Neg S], but what is the interpretation of Neg?
Neg • What Neg does is takes the truth value of the S it is next to and reverses it. • It is a function—it takes the truth value of the S it is next to as an argument, and returns a truth value (the opposite one). • [it is not the case that]M = true false false true
Neg S • [S [Neg It is not the case that] [S´ Pavarotti is boring]]. • [Neg]M = [It is not the case that]M = true false false true • [S´]M = true iff [N]M [VP]M, otherwise false= true iff [Pavarotti]M [Vi]M, otherwise false= true iff [Pavarotti]M [is boring]M, otherwise false= F(Pavarotti) F(is boring), otherwise false
Neg S • [S [Neg It is not the case that] [S´ Pavarotti is boring]]. • And, so [SNeg S´]M = [Neg]M ( [S´]M ). • Resulting in: • [S]M = false if F(Pavarotti) F(is boring),otherwise true.
And • For dealing with andand or, we also want to define a function. We want S1 and S2 to be true when S1 is true and S2 is true, and false under any other circumstance. • [SS1 Conj S2]M = [Conj]M ( < [S1]M, [S2]M > ) • [and]M = < true, true > true < true, false > false < false, true > false < false, false > false
Or • For dealing with andand or, we also want to define a function. We want S1 or S2 to be false when S1 is false and S2 is false , and true under any other circumstance. • [SS1 Conj S2]M = [Conj]M ( < [S1]M, [S2]M > ) • [or]M = < true, true > true < true, false > true < false, true > true < false, false > false
Revisiting verbs • Earlier, we defined a meaning for is boring by explicitly listing the set of boring individuals. This relies on a specific model/situation. We want to be more general than that, so that our interpretation rules work in any model. • [is boring]M = {x: x is boring in M} • [is boring]M = {xU : xF(is boring)}
Generalizing • We also do not yet have a general statement of how to evaluate [SN VP]M. • [VP [Viis boring]]M = {x : x is boring in M} • [SN VP]M = true iff [N]M [VP]M, otherwise false
Transitive verbs • The one piece of the model that we have not addressed yet are transitive verbs, like likes. • S N VP • VP Vt N • Vt likes • We want to be able to evaluate [SN VP]M the same way whether VP is built from a transitive verb or an intransitive verb. That is, we want [VP]M to be a predicate, a set of individuals.
Transitive verbs • Essentially, we want [likes Bond]M to be a set of those individuals that like Bond in M. • However, we need a definition for [likes]M (we already have one for [Bond]M). It should be something that creates a set of individuals that depends on the individual next to it in the structure. A function again.
Transitive verbs • Like and, likesrelates two things, although likesrelates two individuals, and andrelates two sentences. • So, we build a two-place predicate, in the same way: • [likes]M = { <x,y> : x likes y in M } • For example, if P likes L, L likes B and that’s all the liking in this situation, then [likes]M = { <P,L>, <L,B> }
Transitive verbs • And then, we define a rule that will interpret the VP in a sentence with a transitive verb: • [VP Vt N]M = {x : < x, [N]M > [Vt]M } • So if [N]M = Bond, then [VPVt N]M is the set containing those individuals who like Bond in M.
What we have • We have created a little fragment describing a (very small) subset of English, generating structural descriptions of syntactically valid sentences and providing the means to determine the truth conditions of these sentences. • We did this by formulating a set of syntactic rewrite rules, each accompanied by a semantic rule of interpretation, such that every syntactic step can be interpreted compositionally.
One step more general • Looking over the rules that we have, we can actually go a step further in generalizing our semantic rules (helpful as we expand our fragment’s coverage). • There are basically two kinds of rules we have: Those that combine meanings of adjacent (sister) nodes in the syntactic structure, and those that define intrinsic (non-compositional) meanings.
Semantic type • The entire semantics that we are creating here depends on two types of things, individuals and truth values. • We can label individuals as being of type “e” (traditional, think “entity”), and truth values as being of type “t”. • In these terms, names like Bond are of type <e>, and sentences like Bond is hungry are of type <t>.
Characteristic functions • For predicates like is hungry, we have considered these to be sets of individuals (e.g., those that are hungry in the model). • We can look at those same individuals in a slightly different way, using the characteristic functionof the set. • A characteristic function is a function that, given an argument, will return true iff the argument was a member of the set, and false otherwise. The same information content as the set.
Predicates as functions • So, without losing information, we can view predicates from the perspective of their characteristic functions and define is hungry to instead be a function that, given an individual, will return true if the individual is hungry in the model. • [is hungry]M = xtrue if x is hungry in Mxfalse otherwise
Semantic type • Predicates like is hungry can then be said to have semantic type <e,t>. That is, a function from individuals to truth values. • Similarly, it is not the case that can be taken to be of type <t,t>, a function from truth values to truth values.
Transitive verbs • For transitive verbs, what we want is a relation between two individuals, resulting in a truth value. The way we have it set up now, a verb like likes will combine with the object to form a simpler predicate like likes Bond, at which point it acts just like is boring. • So, here, we want likes to take an argument of type <e> and return a predicate of type <e,t>. So, we define it as a function of type <e,<e,t>>.
Transitive verbs • That is, we can define [likes]M as something like this: • [likes]M = xf where f is a function from individuals to truth values and f(y) = true iff y likes x in M, otherwise false. • That is, [likes]M is a function from individuals to functions (from individuals to truth values): semantic type <e,<e,t>>.
Why we’re doing this • Once we have defined things in terms of semantic type, and in terms of functions and arguments, we can collapse a number of our semantic interpretation rules into more general rules. • Functional application:[ab]M = [a]M ([b]M ) or [b]M ([a]M), whichever is defined. • Pass up:[ba]M = [a]M