Transcript PowerPoint

CAS LX 502
Semantics
3a. A formalism for meaning
(cont’d)
3.2, 3.6
Recap

“F1” = Rules for generating and interpreting
a small fragment of English.

Syntax: Phrase structure rules



Reviewed on the next slide
Idea: All and only sentences generated by the PS rules are
part of the language (F1, approximating English).
Interpretation: [ ]M

Goals:



Assign an interpretation to every node in the structure
Arrive at the interpretation compositionally
Interpretation is assigned with respect to a model (effectively,
the facts about the world: The players [U] and their properties
[F]).
F1: The syntax

Phrase Structure rules (the syntax):

To be revised…
S  N VP
N  Pavarotti, Loren, Bond
S  S conj S
Vi  is boring, is hungry, is cute
S  neg S
Vt  likes
VP  Vt N
Conj  and, or
VP  Vi
Neg  it is not the case that
Using the syntax of F1

Starting with S, we can
“rewrite it” using the rules of
the syntax until we get to a
structure such as this one.






S  N VP
N  Pavarotti
VP  Vi
Vi  is boring
S  N VP
What is the interpretation of
S? Put another way, what is
[S]M?
S
N
VP
Pavarotti
Vi
is boring
The interpretation of S

We developed a semantic
rule that tells us what the
interpretation of [S N VP] is:





[S N VP]M = true iff [N]M  [VP]M
Great, are we done? Well,
we would be, if we knew
what [N]M and [VP]M were.
What’s [N]M?
Since meaning is
compositional and N does
not branch, [N]M is the same
as [Pavarotti]M.
So, what’s [Pavarotti]M?
S
N
VP
Pavarotti
Vi
is boring
The interpretation of S

So far:




What’s [Pavarotti]M?
We have a semantic rule that tells
us that:





[S N VP]M = true iff [N]M  [VP]M
[N]M = [Pavarotti]M
S
N
VP
Pavarotti
Vi
[Pavarotti]M = F(Pavarotti)
That is, the interpretation of a
name is the individual from the
model M that the “pointing” (or
“naming”) function F designates.
F(Pavarotti) in this model is the
individual PAVAROTTI.
So [Pavarotti]M = PAVAROTTI.
So [N]M = PAVAROTTI.
[Pavarotti]M
=
F(Pavarotti) =
PAVAROTTI
is boring

The
interpretation of
Shave:
So, given that, we







[N]M = PAVAROTTI
[S N VP]M = true iff PAVAROTTI 
[VP]M
Now, what is [VP]M?
Since meaning is compositional
and VP does not branch, [VP]M is
the same as [Vi]M.
So, what is [Vi]M?
Since meaning is compositional
and VP does not branch, [Vi]M is
the same as [is boring]M.
We have a semantic rule that tells
us that [is boring]M is the set of
individuals from the model M that
the function F designates.
So [is boring]M = F(is boring).
S
N
VP
Pavarotti
Vi
is boring

The
interpretation of
S
So far:








[S N VP]M = true iff
PAVAROTTI  [VP]M
[VP]M = [Vi]M
[Vi]M = [is boring]M
[is boring]M = F(is boring)
Now, what is F(is boring)?
It will depend on the model—who
are the boring individuals in this
particular model? F(is boring) will
be a set of individuals that are
boring in this model.
On one particular model, perhaps
F(is boring)= {PAVAROTTI, LOREN}
In general:

F(is boring) = {x: x is boring in M}
[N]M = PAVAROTTI
S
N
VP
Pavarotti
Vi
is boring
[is boring]M =
F(is boring) =
{x: x is boring in M}

The
interpretation of
S done.
Now, we’re basically










F(is boring) = {x: x is boring in M}
[is boring]M = F(is boring)
[is boring]M = {x: x is boring in M}
[Vi]M = [is boring]M
[Vi]M = {x: x is boring in M}
[VP]M = [Vi]M
[VP]M = {x: x is boring in M}
[S N VP]M = true iff
PAVAROTTI  [VP]M
[S N VP]M = true iff
PAVAROTTI  {x: x is boring in M}
As desired. Picking the particular
model where {x: x is boring in M} =
{PAVAROTTI, LOREN}, [S]M = true.
[N]M = PAVAROTTI
S
N
VP
Pavarotti
Vi
is boring
[is boring]M =
F(is boring) =
{x: x is boring in M}
Semantic rules of F1

Summarizing the rules we used so far:
N VP]M = true iff [N]M  [VP]M
 [Pavarotti]M = F(Pavarotti)
 [is boring]M = F(is boring)
 F(Pavarotti) = the individual in M named by F
as “Pavarotti”
 F(is boring) = the set of individuals in M that
are boring = {x: x is boring in M}
 [S
Saving ink and expressing a
generalization

Some of these rules are very specific. Rather
than add a new rule for each individual and
predicate…





[Bond]M = F(Bond)
[Loren]M = F(Loren)
[is hungry]M = F(is hungry)
[is cute]M = F(is cute)
…we can abstract out the pattern here and
write a more general rule:

[X]M = F(X) where X is a terminal node (has no
children, does not appear on the LHS of a PS rule in
the syntax)
The role of F




This perhaps also clarifies the role of F.
F is essentially the thing that translates the
object language (English, say) into the
metalanguage in terms of the model.
F is responsible for assigning the
interpretations to the terminal nodes.
The semantic rules are responsible for
assigning the interpretations to the
combinations.
Continuing with the semantic
rules

We can also generate trees with Neg that we need to
assign an interpretation to as well.


Notice that we have written one of the S nodes as S. This is like painting
one blue and one red—we just want to be able to refer to each one
separately. As far as the rules are concerned, it is just a normal S.
S
We know what [S]M is, we just
just worked that out.
S
Neg

We know what we want
[S]M to be—false when
[S]M is true, and true when
[S]M is false.
N
VP
It is not
the case that Pavarotti Vi
is boring
Neg S




Goal: [S Neg S]M = false if [S]M = true, true if [S]M =
false.
What interpretation must we assign to [Neg]M to
arrive at this result?
Let’s try to make this look like is hungry in a certain
sense. A property of truth values, in this case the
property of being false.
[Neg]M = {false}
Neg S


Goal: [S Neg S]M = false if [S]M = true, true if [S]M =
false.
[Neg]M = {false}



So [Neg]M is a set of truth values (like [is hungry]M is a set of
individuals).
Now we can define an interpretation rule very
much like our previous [S N VP]M rule.
[S Neg S]M = true iff [S]M  [Neg]M
It is not the case that
Pavarotti is boring






[S]M = [S Neg S]M
[S Neg S]M = true iff [S]M  [Neg]M
[Neg]M = {false}
[S]M = true iff
PAVAROTTI  {x: x is boring in M}
S
[S]M = true iff
[PAVAROTTI 
{x: x is boring in M}]
S
Neg
[S]M = true iff
N
VP
PAVAROTTI 
It is not
{x: x is boring in M}
the case that Pavarotti Vi
is boring
Transitive verbs

The syntax of F1 also generates trees with
transitive verbs, like likes.




S  N VP
VP  Vt N
Vt  likes
We want to be able to evaluate [S N 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 in either case.
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.
[VP likes Bond]M = {x: x likes Bond in M}
Transitive verbs


A transitive verb relates two individuals. They stand in
an (asymmetrical) relationship.
Suppose that this is expressed in the model as a set
of pairs that are involved in the relationship.


For example, if P likes L, L likes B and that’s all the liking in this
situation, then F(likes) = { <P,L>, <L,B> }
We could express this as follows, to use a
(metalanguage) shorthand:

[likes]M = { <x,y> : x likes y in M }
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 }
If [N]M = Bond, [VP Vt N]M is the set containing
those individuals who like Bond in M.


For example Loren likes Bond: If in a particular
model M1, [likes]M1 = {<P,L>, <L,B>}, then
[VP Vt N]M1 = {L}, and [S]M1 = true.
In general, [S]M = true iff
F(Loren)  {x: <x, F(Bond)>  F(likes)}
= true iff <F(Loren), F(Bond)>  F(likes).
Sentence coordination


We also need a way to interpret or and and.
Two options: New rule for ternary branching and
symmetric relations. Or recast as binary branching.
S
S
Conj
S
Neg
N
It is not
the case that Pavarotti
or
VP
Vi
is boring
S
N
VP
Loren
Vi
is hungry
Thoughts on coordination





Like transitive verbs, or and and express a kind of
relation (between truth values, rather than between
individuals).
The relation expressed by or and and is symmetrical,
order does not seem to affect the relation.
But some transitive verbs are like this too (e.g.
resemble).
And we might want to consider if a kind of
coordinator—but for if, order does matter.
Let’s consider symmetry an accidental property,
due to the definition of the word in question
(according to F), and not a property inherent in a
new type of semantic combination.
Breaking the structural
symmetry



In order to reduce symmetrical and
and or to a binary-branching (and
therefore necessarily asymmetrical)
structure, we modify the syntax slightly:
S  S ConjP
ConjP  Conj S
Revised structure for or:

Thus:
S
S
ConjP
S
Neg
N
It is not
the case that Pavarotti
Conj
VP
Vi
is boring
or
S
N
VP
Loren
Vi
is hungry
Or




For or we need to consider pairs of
sentences. We want S1 or S2 to be false
when S1 is false and S2 is false , and true
under any other circumstance.
Goal:
[S S1 [ConjP or S2 ]]M = true iff [S1]M  [S2]M.
The combination occurs in two stages, first
with S2, to yield a property then applied to
S1.
Or

On the model of transitive verbs, suppose that F(or)
is a set of relations between true values:





F(or) = {<true, true>, <true, false>, <false, true>}
And a rule of combination just like that for [VP Vt N]:
 [ConjP Conj S]M = {x : < x, [S]M >  [Conj]M }
Does it work?
What’s F(and)?
What would be involved in adding if?
Semantic rules of F1

Summarizing the rules we used so far:







[S N VP]M = true iff [N]M  [VP]M
[S S1 Conj S2]M = true iff {[S1]M, [S2]M}  [Conj]M
[S Neg S]M = true iff [S]M  [Neg]M
[X]M = F(X) where X is a terminal node
F(It is not the case that) = {false}
F(or) = {{true, true}, {false, true}}
F(and) = {{true, true}}

Note the change for and, or, not (ultimately assigned by F)
Full summary of F1
S  N VP
S  Neg S
S  S ConjP
[S N VP]M = true iff [N]M  [VP]M
[S Neg S´]M = true iff [S´]M  [Neg]M
[S S ConjP]M = true iff [S]M  [ConjP]M
ConjP  Conj S
VP  Vt N
VP  Vi
[ConjP Conj S]M = {x : < x, [S]M >  [Conj]M }
[VP Vt N]M = {x : < x, [N]M >  [Vt]M }
[ [X] ]M = [X]M for any X
N  Pavarotti, …
Vi  is boring, …
Vt  likes
[X]M = F(X) where X is a terminal node
F(Pavarotti) = PAVAROTTI
F(is boring) = {x: x is boring in M}
F(likes) = { <x,y> : x likes y in M }
Conj  and, or
Neg  it is not…
F(and) = {<true, true>}, F(or) =
{<true, true>, <true,false>, <false,true>}
F(iintct) = {false}
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, there are basically just
two kinds:






[S N VP]M = true iff [N]M  [VP]M
[S S ConjP]M = true iff [S]M  [ConjP]M
[S Neg S]M = true iff [S]M  [Neg]M
[VP Vt N]M = {x: <x,[N]M>  [Vt]M }
[ConjP Conj S]M = {x: <x,[S]M>  [Conj]M }
More generally:

[A B]M = true iff [A]M  [B]M


[A B]M = {x: <x,[A]M>}  [B]M



(where [B]M is a set of [A]M-type things)
(where [B]M is a set of pairs, the second member being an [A]M-type thing)
[ [A] ]M = [A]M
This will cover our other rules… and make it easier to extend
our syntax as well.
One step further…?

If we have these rules:

[A B]M = true iff [A]M  [B]M


[A B]M = {x: <x,[A]M>  [B]M }



(where [B]M is a set of [A]M-type things)
(where [B]M is a set of pairs, the second member being an [A]M-type thing)
[ [A] ]M = [A]M
It feels as if we still have a kind of specific rule: the first looks kind of
like a “special case” of the second. But how can we reduce them to
one rule?

One option:




Redefine F(is boring) as, e.g., {<Bond,true>,<Loren,false>,…}
Define {true} as true and {false} as false.
Redefine F(likes) as, e.g., {<Bond,<Loren,true>>, <Loren,<Bond,false>>,…}
See how it works? But it’s confusing…
Exploring the option…

The option:





What we have to do is, for properties: redefine the set so that there is a pair for
each individual, with true or false depending on whether the individual has
the property.
But, wait. What we just defined is in fact a function. The first member of the
pair is the argument, the second is the return value.


F(is boring) = the function f such that f(x)=true iff X is boring (in M)
Or, using the -notation we saw before:


Is-boring(x) = true iff x is boring.
Ah. It would be less confusing if we just wrote it as a function.


Redefine F(is boring) as, e.g., {<Bond,true>,<Loren,false>,…}
Define {true} as true and {false} as false.
Redefine F(likes) as, e.g., {<Bond,<Loren,true>>, <Loren,<Bond,false>>,…}
F(is boring) = x[x is boring in M]
This is the same thing as a set of pairs, the first of which is an individual, and
second of which is true if the individual is boring in M and false otherwise. But
thinking of it as a function is more graspable. It’s something that needs an
individual and provides a truth value. Type <e,t>. See where the notation
comes from?
Exploring the option…

As for transitive verbs:



What we want is a function that applies to the object and
returns a property.
A property is a function that applies to an individual and
returns a truth value.




Redefine F(likes) as, e.g., {<Bond,<Loren,true>>,
<Loren,<Bond,false>>,…}
F(likes) = y[x[x likes y in M]]
F(is boring) = x[x is boring in M]
Well, that’s much more compact.
So, combining likes with Bond yields:

[likes Bond]M
= y[x[x likes y in M]](Bond)
= x[x likes Bond in M]
(the property of liking Bond)
What this buys us




Defining things in terms of functions allows us to reduce our
semantic rules to just two:
Functional application:
[a b]M = [a]M ([b]M ) or [b]M ([a]M),
whichever is defined.
Pass up:
[b a]M = [a]M
This will be the basis of F2, which we will define fully next time
and then move on to the connection with “theta-roles.”


By the time we’re done, there will be one more semantic rule, to
interpret “modification” relations like adjectives and adverbs.
We will also consider an alternative version in terms of “events” and
“states” in future classes.









