CAS LX 502 Semantics

Download Report

Transcript CAS LX 502 Semantics

CAS LX 502
Semantics
2b. A formalism for meaning
2.5, 3.2, 3.6
Truth and meaning

The basis of formal semantics: knowing the
meaning of a sentence is knowing under
what conditions it is true.


Formal semantics, a.k.a. truth conditional semantics,
a.k.a. model-theoretic semantics, related to Montague
Grammar.
We wish to describe meaning (truth
conditions) precisely and in such a way as
to predict our intuitions about meanings—
we will do this by using a logical language
as a metalanguage.
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):
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

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
N
VP
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
N
Bond
VP
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
N
Bond
VP
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
N
Bond
VP
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
It is not
the case that
S
S
Conj
N
VP
Bond
Vi
is boring
or
S
N
VP
Loren
Vi
is hungry
Using the syntax of F1

It is not the case that Bond is boring or Loren is hungry.
S
S
Conj
S
Neg
It is not
the case that
or
N
VP
Bond
Vi
is boring
S
N
VP
Loren
Vi
is hungry
A word of warning

Use the rules and only the rules.



You may or may not have had experience with syntax
before. And it may or may not have involved trees like
the ones we’ve just seen.
Probably it involved more complicated trees (and for
good reasons, which are explored in the syntax class).
But here, it’s fine to just approximate the syntax by
using the PS rules just given.
When drawing trees, don’t try to remember what you
learned about them in LX250 or LX522. Just rewrite
the way the rules allow you to. No IP, no CP. Just
what the rules allow.
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.
The meaning of names



We talked about a meaning for names (like
Bond, say) as being something like “pointing
to an individual that exists in the world.”
We need a way to formalize this kind of
intuitive idea: a model.
A model contains two relevant things: A set
of the individuals in the universe, and a
“pointing function” that associates names
with those individuals.
Models and pointing


We’ll call the set of individuals
in the universe “U” (for
“Universe”), and the pointing
function “F” (for “function”—or
maybe “finger”). Both of those
together constitute a model,
which we will often call “M”
(for “model”).
 M = <U, F>.
So, to evaluate the meaning
of a name, we see which
individual in the world the
name points to.
 F(Pavarotti), then, is “the
individual named (in this
model) by Pavarotti”.
…
is hungry
…
Bond
Loren
Pavarotti
…
F
U
Evaluating the meaning of bits
of tree


Our goal in F1 is to create simple
sentence structures with the syntax,
and a assign a meaning
(compositionally) to the whole
sentence that matches our intuitions.
So, we need to evaluate the meaning
of individual nodes in the tree as well.
Evaluating meaning: [ ]M

Translating from a node in a syntactic
structure to a semantic meaning is
accomplished by what we call an
evaluation function. Given a syntactic
node, its result is the semantic
interpretation of that node.

The interpretation depends on the model, so
we also need to specify with respect to what
model a node is being evaluated.
Simplest case

The simplest case would be evaluating
the meaning of the a node like
Pavarotti at the bottom of the tree.
Evaluating the node: [Pavarotti]M
 The meaning of names:
[Pavarotti]M = F(Pavarotti) = Pavarotti
 The ultimate interpretation assigned to this
node is the individual Pavarotti.

Predicates/properties




So we have a meaning
assigned for one node in
S
the tree.
How about the “verb” is
VP
N
hungry?
What is [is hungry]M?
A way we can think of
Bond
Vi
properties is as something
that divides the universe
of individuals into two
[Bond]M =
is hungry
groups, those that have
F(Bond) =
the property and those
M
[is
hungry]
Bond
that do not.
Predicates/properties



One simple and intuitive
way to implement this is to
S
say that []M of a property
is a set containing those
VP
individuals that have the
N
property.
Like we did for names of
Bond
Vi
individuals, we can
suppose that the name of
a property “points” to the
M
is hungry
set of individuals that has [Bond] =
the property.
F(Bond) =
[is hungry]M
That is, this can be part of Bond
the job that F does.
Predicates/properties



Suppose Bond and
Pavarotti are the hungry
ones in the universe of
individuals in this model.
F(is hungry) =
{Bond, Pavarotti}
S
N
Bond
VP
Vi
Great, 2 down, 4 to go.
[Bond]M =
is hungry
F(Bond) =
[is hungry]M =
Bond
F(is hungry) =
{Bond, Pavarotti}
Bond is hungry
S
N
VP
Bond
Vi
is hungry



…
is hungry
…
Bond
Loren
Pavarotti
…
F
[N]M = F(Bond)
[VP]M = [Vi]M = F(is hungry)
{ x: x is hungry in M}
[S]M = true iff [N]M  [VP]M =
true
iff F(Bond)  { x: x is hungry in M}
U
Bond is hungry
S
N
VP
Bond
Vi
is hungry


…
is hungry
…
Bond
Loren
Pavarotti
…
F1
[S]M1 =
F1(Bond)  F1(is hungry) =
Bond  {Bond, Loren}
In the specific situation M1.
U1
[ ]M




We now need to assign
interpretations to the rest
of the nodes of the tree.
There are no new
meaningful elements, so
the meanings will all be
formed on the basis of
Bond or is hungry or both.
S
N
Bond
VP
Vi
[Bond]M =
is hungry
Meaning is compositional. F(Bond) =
[is hungry]M =
Bond
F(is hungry) =
M
So, what’s [N] ?
{Bond, Pavarotti}
[ ]M


Based on the principle of
compositionality, we can
assume/deduce the that
nodes above share the
same denotation as the
nodes below, in cases
where there is no
combination happening.
[N]M = Bond
S
N
Bond
VP
Vi
[Bond]M =
is hungry
F(Bond) =
[is hungry]M =
Bond
F(is hungry) =
{Bond, Pavarotti}
[ ]M





Now, to determine the
meaning of the S as a
whole…
What do we want?
Well, this should be true
only when Bond is hungry.
And that’s true if Bond is in
the F(is hungry) set.
[S]M
That is,
= true just in
case [N]M is in the set
[VP]M.
S
N
Bond
VP
Vi
[Bond]M =
is hungry
F(Bond) =
[is hungry]M =
Bond
F(is hungry) =
{Bond, Pavarotti}
[ ]M


We can define a
semantic rule for
interpretation that says
just that:
VP]M
[S N
= true iff
[N]M  [VP]M,
otherwise false.
S
N
Bond
VP
Vi
[Bond]M =
is hungry
F(Bond) =
[is hungry]M =
Bond
F(is hungry) =
{Bond, Pavarotti}
[ ]M



Thus, we end up with an
interpretation of this sentence
that goes like this:
 [S]M = true iff
F(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)
S
N
Bond
VP
Vi
[Bond]M =
is hungry
F(Bond) =
[is hungry]M =
Bond
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



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 [S Neg S´]M = [Neg]M ( [S´]M ).

Resulting in:

[S]M = false if F(Pavarotti)  F(is boring),
otherwise true.
And

For dealing with and and 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.
[S S1 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 and and 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.
[S S1 Conj S2]M = [Conj]M ( < [S1]M, [S2]M > )

[or]M =

< true, true >  true
< true, false >  true
< false, true >  true
< false, false >  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 [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.
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, likes relates two things, although likes
relates two individuals, and and relates 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 [VP Vt N]M is the
set containing those individuals who
like Bond in M.
S  N VP
[S N VP]M = true iff [N]M  [VP]M,
otherwise false
S  S Conj S
[S S1 Conj S2]M = [Conj]M ( < [S1]M, [S2]M > )
S  Neg S
VP  Vt N
VP  Vi
N  Pavarotti, …
[S Neg S´]M = [Neg]M ( [S´]M ).
[VP Vt N]M = {x : < x, [N]M >  [Vt]M }
[Pavarotti]M = F(Pavarotti)
Vi  is boring, …
[is boring]M = {x: x is boring in M}
Vt  likes
[likes]M = { <x,y> : x likes y in M }
Conj  and, …
[and]M = {<<true,true>,true>,
<true,false>,false>, …}
Neg  it is not the [iintct]M = {<true,false>, <false,true>}
case that
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 function of 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 = x  true if x is hungry in M
x  false 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 = x  f 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:
[a b]M = [a]M ([b]M ) or [b]M ([a]M),
whichever is defined.
Pass up:
[b a]M = [a]M









