Context Free Grammars 10/28/2003 Reading: Chap 9, Jurafsky

Download Report

Transcript Context Free Grammars 10/28/2003 Reading: Chap 9, Jurafsky

Context Free Grammars
Syntax
Syntax = rules describing how words can connect to
each other

Goal of syntax is to model the knowledge
people unconsciously have about the grammar
of their native language
Syntax
Why should you care?
Grammar checkers
Question answering
Information extraction
Machine translation
Constituency



The basic idea here is that groups of words within
utterances can be shown to act as single units.
And in a given language, these units form coherent
classes that can be shown to behave in similar ways
Constituency
 How words group into units and how the various
kinds of units behave
Constituency
 Ordering:
 What
are the rules that govern the ordering of
words and bigger units in the language?
Constituency

E.g., Noun phrases (NPs)
•
•
•
•
•
•
Three parties from Brooklyn
A high-class SUV such as Mindy’s
The Broadway coppers
They
Harry the Horse
The reason he comes into the Hot Box
How do we know these form a constituent?

They can all appear before a verb:





But individual words can’t always appear before verbs:





Three parties from Brooklyn arrive…
A high-class SUV such as Mindy’s attracts…
The Broadway coppers love…
They sit
*from arrive…
*as attracts…
*the is
*spot is…
Must be able to state generalizations like:

Noun phrases occur before verbs

Preposing and postposing:
On September 17th, I’d like to fly from Atlanta to Denver
 I’d like to fly on September 17th from Atlanta to Denver
 I’d like to fly from Atlanta to Denver on September 17th.


But not:
*On September, I’d like to fly 17th from Atlanta to Denver
 *On I’d like to fly September 17th from Atlanta to Denver

Context-Free Grammars

Context-free grammars (CFGs)
 Also
known as
 Phrase
structure grammars
 Backus-Naur form

Consist of
 Rules
 Terminals
 Non-terminals
Context-Free Grammars

Terminals
 We’ll

Non-Terminals
 The
constituents in a language
 Like

take these to be words
noun phrase, verb phrase and sentence
Rules
 Rules
are equations that consist of a single non-terminal
on the left and any number of terminals and nonterminals on the right.
CFG Example









S -> NP VP
NP -> Det NOMINAL
NOMINAL -> Noun
VP -> Verb
Det -> a
Noun -> flight
Verb -> left
these rules are defined independent of the context
where they might occur -> CFG
CFGs

S -> NP VP
 This
says that there are units called S, NP, and VP in this
language
 That an S consists of an NP followed immediately by a
VP

Generativity
 As
•
•
•
with FSAs we can view these rules as either analysis
or synthesis machines
Generate strings in the language
Reject strings not in the language
Impose structures (trees) on strings in the language
Parsing
Parsing is the process of taking a string and a
grammar and returning a (many?) parse tree(s) for
that string
Context?

The non-terminal on the left-hand side of a rule is
out there all by itself

A -> B C

Means that I can rewrite an A as a B followed by a C
regardless of the context in which A is found
Key Constituents (English)

•
•
•
•
Sentences
Noun phrases
Verb phrases
Prepositional phrases
Some NP Rules

Here are some rules for the noun phrases

Together, these describe two kinds of NPs.



One that consists of a determiner followed by a nominal
And another that says that proper names are NPs.
The third rule illustrates two things
 An explicit disjunction


Two kinds of nominals
A recursive definition

Same non-terminal on the right and left-side of the rule
Grammar
CFGs more formally

A context-free grammar has 4 parameters
(“is a 4-tuple”)
1)
A set of non-terminal symbols (“variables”) N
2)
A set of terminal symbols  (disjoint from N)
3)
A set of productions P, each of the form


4)
A -> 
Where A is a non-terminal and  is a string of symbols from
the infinite set of strings (  N)*
A designated start symbol S
Derivations


A derivation is a
sequence of rules
expansion
Common to represent
derivation by a parse
tree
Bracketed Notation

[S [NP [PRO I]] [VP [V prefer] [NP [Det a] [Nom [N
morning]
[N flight] ] ] ] ]
Sentence Types

Declaratives: A plane left.
S  NP VP

Imperatives: Leave!
S  VP

Yes-No Questions: Did the plane leave?
S  Aux NP VP

WH Questions: When did the plane leave?
S  WH-NP Aux NP VP
7/16/2015
21
NPs

NP -> Pronoun


NP -> Proper-Noun



I came, you saw it, they conquered
Los Angeles is west of Texas
John Hennessy is the president of Stanford
NP -> Det Noun

The president

NP -> Nominal

Nominal -> Noun Nominal l Noun

A morning flight to Denver
PPs

PP -> Preposition NP
 From
LA
 To the store
 On Tuesday morning
 With lunch
Recursion

We’ll have to deal with rules such as the following
where the non-terminal on the left also appears
somewhere on the right (directly)

 NP
-> NP PP
 VP -> VP PP
[[The flight] [to Boston]]
[[departed Miami] [at noon]]
Recursion Example
flights from Denver
 Flights from Denver to Miami
 Flights from Denver to Miami in February
 Flights from Denver to Miami in February on a Friday
 Flights from Denver to Miami in February on a Friday
under $300
 Flights from Denver to Miami in February on a Friday
under $300 with lunch

Determiners


Noun phrases can start with determiners...
Determiners can be
 Simple
A
 Or
car
simple possessives
 John’s
 Or
car
complex recursive versions of that
 John’s
7/16/2015
lexical items: the, this, a, an, etc.
sister’s husband’s son’s car
26
Pre-determiners

Word classes that appear in the NP before the
determiner are called predeterminers


Eg: all the flights
Word classes that appear in the NP between the
determiner and the head noun are called post
determiners ( they include cardinal numbers, ordinal
numbers and quantifiers, adjective phrase)
Eg: one stop
The first one
The nonstop flight
the least expensive fare
Nominals

Contains the head and any pre- and post- modifiers
of the head.
 Pre Quantifiers,

cardinals, ordinals...
Three cars
 Adjectives

large cars
 Ordering


7/16/2015
constraints
Three large cars
?large three cars
28

NP->(det) (card) (ord) (quant) (AP) Nominal

After the head noun there can be post modifiers
Postmodifiers

Three kinds

Prepositional phrases


Non-finite clauses


Any flights arriving before noon
Relative clauses


All flights from Seattle
a flight that serves breakfast
Same general (recursive) rule to handle these




Nominal  Nominal PP
Nominal  Nominal GerundVP
Nominal  Nominal RelClause
GerundVP-> GerundV NP
GerundV PP
GerundV (being, preferring, arriving…)
GerundV NP PP




7/16/2015
RelClause -> (who, that) VP
30
Coordination Constructions


Noun phrases and other units can be conjoined with
conjunctions like and, or and but
S -> S and S
 John



went to NY and Mary followed him
NP -> NP and NP ( the flights and the costs)
VP -> VP and VP (leaving Denver and arriving in
Sanfrancisco)
…
Practice: Another Recursion Example
The following where the non-terminal on the left also
appears somewhere on the right (directly).
NP -> NP PP
[[The flight] [to Boston]]
VP -> VP PP
[[departed Miami] [at noon]]
Recursion Example
flights from Denver
Flights from Denver to Miami
Flights from Denver to Miami in February
Flights from Denver to Miami in February on a Friday
Flights from Denver to Miami in February on a Friday under $300
Flights from Denver to Miami in February on a Friday under $300 with lunch
Potential Problems in CFG
Agreement
Subcategorization
Movement
Sentence Types
Declaratives: A plane left.
S
 NP VP
Imperatives: Leave!
S
 VP
Yes-No Questions: Did the plane leave?
S
 Aux NP VP
WH Questions: When did the plane leave?
S
 WH-NP Aux NP VP
Noun Phrases
Let’s consider the following rule in more detail...
NP  Det Nominal
Most of the complexity of English noun phrases is
hidden in this rule.
Consider the derivation for the following example
All the morning flights from Denver to Tampa leaving before 10
Noun Phrases
NP Structure
Clearly this NP is really about flights. That’s the
central criticial noun in this NP. It is the head.
We can dissect this kind of NP into the stuff that can
come before the head, and the stuff that can come
after it.
Determiners
Noun phrases can start with determiners...
Determiners can be
Simple lexical items: the, this, a, an, etc.
A car
Or simple possessives
John’s car
Or complex recursive versions of that
John’s sister’s husband’s son’s car
Nominals
Contains the head and any pre- and post- modifiers
of the head.
Pre-
Quantifiers, cardinals, ordinals...
Three cars
Adjectives
large cars
Ordering constraints
Three large cars
?large three cars
Postmodifiers
Three kinds
Prepositional phrases
From Seattle
Non-finite clauses
Arriving before noon
Relative clauses
That serve breakfast
Same general (recursive) rule to handle these
Nominal  Nominal PP
Nominal  Nominal GerundVP
Nominal  Nominal RelClause
Agreement
This dog
*This dogs
Those dogs
*Those dog
This dog eats
*This dog eat
Those dogs eat
*Those dogs eats
Verb Phrases
English VPs consist of a head verb along with 0 or
more following constituents which we’ll call
arguments.
Subcategorization
Sneeze: John sneezed
Find: Please find [a flight to NY]NP
Give: Give [me]NP[a cheaper fare]NP
Help: Can you help [me]NP[with a flight]PP
Prefer: I prefer [to leave earlier]TO-VP
Told: I was told [United has a flight]S
…
*John sneezed the book
*I prefer United has a flight
*Give with a flight
Subcat expresses the constraints that a predicate places on the number
and type of the argument it wants to take
Overgeneration
The various rules for VPs overgenerate.
They permit the presence of strings containing verbs and arguments that don’t go
together
For example
VP -> V NP therefore
Sneezed the book is a VP since “sneeze” is a verb and “the book” is a valid NP
In lecture: go over the grammar for assignment 3
Possible CFG Solution
Possible solution for agreement.
SgS -> SgNP SgVP
Can use the same trick for all the
verb/VP classes.
PlS -> PlNp PlVP
SgNP -> SgDet SgNom
PlNP -> PlDet PlNom
PlVP -> PlV NP
SgVP ->SgV Np
…
Movement

Core example


[[My travel agent]NP [booked [the flight]NP]VP]S
I.e. “book” is a straightforward transitive verb. It
expects a single NP arg within the VP as an
argument, and a single NP arg as the subject.
Movement

What about?



Which flight do you want me to have the travel agent book?
The direct object argument to “book” isn’t
appearing in the right place. It is in fact a long
way from where its supposed to appear.
And note that it’s separated from its verb by 2
other verbs.
Formally…
To put all previous discussions/examples in a formal
definition for CFG:
A context free grammar has four parameters:
1.
2.
3.
4.
A set of non-terminal symbols N
A set of terminal symbols T
A set of production rules P, each of the form A  a,
where A is a non-terminal, and a is a string of
symbols from the infinite set of strings (T  N)*
A designated start symbol S
Grammar equivalence and normal form
Strong equivalence:

two grammars are strongly equivalent if:



they generate/accept the same set of strings
they assign the same phrase structure to each sentence
two grammars are weakly equivalent if:


they generate/accept the same set of strings
they do not assign the same phrase structure to each sentence
Normal form






Restrict the form of productions
Chomsky Normal Form (CNF)
Right hand side of the productions has either one or two terminals or non-terminals
e.g. A -> BC A -> a
Any grammar can be translated into a weakly equivalent CNF
A -> B C D <=> A-> B X
X -> C D
Treebanks
Treebanks are corpora in which each sentence has been
paired with a parse tree (presumably the right one).
These are generally created
By first parsing the collection with an automatic parser
And then having human annotators correct each parse as
necessary.
This generally requires detailed annotation guidelines
that provide a POS tagset, a grammar and
instructions for how to deal with particular
grammatical constructions.
Penn Treebank
Penn TreeBank is a widely used treebank.
Most well known is
the Wall Street
Journal section of the
Penn TreeBank.
1 M words from the
1987-1989 Wall Street
Journal.
Treebank Grammars
Treebanks implicitly define a grammar for the
language covered in the treebank.
Simply take the local rules that make up the sub-trees
in all the trees in the collection and you have a
grammar.
Not complete, but if you have decent size corpus,
you’ll have a grammar with decent coverage.
Treebank Grammars
Such grammars tend to be very flat due to the fact
that they tend to avoid recursion.
For example, the Penn Treebank has 4500 different
rules for VPs. Among them...
Heads in Trees
Finding heads in treebank trees is a task that arises
frequently in many applications.
Particularly important in statistical parsing
We can visualize this task by annotating the nodes of
a parse tree with the heads of each corresponding
node.
Lexically Decorated Tree
Head Finding
The standard way to do head finding is to use a
simple set of tree traversal rules specific to each
non-terminal in the grammar.
Noun Phrases
Treebank Uses
Treebanks (and headfinding) are particularly critical
to the development of statistical parsers
Chapter 14
Also valuable to Corpus Linguistics
Investigating the empirical details of various constructions in a given language
Dependency Grammars
In CFG-style phrase-structure grammars the main
focus is on constituents.
But it turns out you can get a lot done with just binary
relations among the words in an utterance.
In a dependency grammar framework, a parse is a
tree where
the nodes stand for the words in an utterance
The links between the words represent dependency relations between pairs of
words.
Relations may be typed (labeled), or not.
Dependency Relations
Dependency Parse
They hid the letter on the shelf
Dependency Parsing
The dependency approach has a number of
advantages over full phrase-structure parsing.
Deals well with free word order languages where the constituent structure is quite
fluid
Parsing is much faster than CFG-bases parsers
Dependency structure often captures the syntactic relations needed by later
applications
CFG-based approaches often extract this same information
from trees anyway.
Dependency Parsing
There are two modern approaches to dependency
parsing
Optimization-based approaches that search a space of trees for the tree that best
matches some criteria
Shift-reduce approaches that greedily take actions based on the current word and
state.
Summary
Context-free grammars can be used to model various
facts about the syntax of a language.
When paired with parsers, such grammars consititute a
critical component in many applications.
Constituency is a key phenomena easily captured with
CFG rules.
But agreement and subcategorization do pose significant
problems
Treebanks pair sentences in corpus with their
corresponding trees.