1
CPE 641 Natural Language Processing
Lecture 6: Parser
Asst. Prof. Nuttanart Facundes, Ph.D.
2
Review
• Parts of Speech Basic syntactic/morphological categories that
words belong to
• Part of Speech tagging Assigning parts of speech to all the words in a
sentence
3
Probabilities
• We want the best set of tags for a sequence of words (a sentence)
• W is a sequence of words
• T is a sequence of tags
)()|()|(maxarg TPTWPWTP
4
So…
• We start with
• And get
)()|()|(maxarg TPTWPWTP
n
i
ii
n
i
ii ttPtPtwP2
1
2
)|(*)1(*)|(maxarg
5
HMMs
• This is an HMM
• The states in the model are the tags, and the observations are the words. The state to state transitions are driven by the bigram statistics The observed words are based solely on the state that you’re
currently in
n
i
ii
n
i
ii ttPtPtwP2
11
2
)|(*)(*)|(maxarg
6
State Transitions
Det Verb
Noun
Aux
0.5
7
State Transitions and Observations
Det Verb
Noun
Aux
0.5
the
a
that
barkrun
bite
can
will
did
bark
dog
cat
8
The State Space
<s></s>
Det
Noun
Det
Noun
Det
Noun
Aux
Verb
Aux
Verb Verb
Aux
Noun
Det
Aux
Verb
The dog can run
9
The State Space
<s></s>
Det
Noun
Det
Noun
Det
Noun
Aux
Verb
Aux
Verb Verb
Aux
Noun
Det
Aux
Verb
The dog can run
10
The State Space
<s></s>
Det
Noun
Det
Noun
Det
Noun
Aux
Verb
Aux
Verb Verb
Aux
Noun
Det
Aux
Verb
The dog can run
11
Syntax
• By syntax (or grammar) I mean the kind of implicit knowledge of your native language that you had mastered by the time you were 2 or 3 years old without explicit instruction
• Not the kind of stuff you were later taught in school.
12
Syntax
• Why should you care? Grammar checkers Question answering Information extraction Machine translation
13
Search?
On Friday, PARC is announcing a deal that underscores that strategy. It is licensing a broad portfolio of patents and technology to a well-financed start-up with an ambitious and potentially lucrative goal: to build a search engine that could some day rival Google.The start-up, Powerset, is licensing PARC’s natural language technology - the art of making computers understand and process languages like English… Powerset hopes the technology will be the basis of a new search engine that allows users to type queries in plain English, rather than using keywords.
14
Search
For a lot of things, keyword search works well, said Barney Pell, chief executive of Powerset. But I think we are going to look back in 10 years and say, remember when we used to search using keywords.
15
Search
In a November interview, Marissa Mayer, Google’s vice president for search and user experience, said: “Natural language is really hard. I don’t think it will happen in the next five years.”
16
Context-Free Grammars
• Capture constituency and ordering Ordering is easy
What are the rules that govern the ordering of words and bigger units in the language
What’s constituency?
How words group into units and how the various kinds of units behave wrt one another
17
CFG Examples
• S -> NP VP• NP -> Det NOMINAL• NOMINAL -> Noun• VP -> Verb• Det -> a• Noun -> flight• Verb -> left
18
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 Doesn’t say that that’s the only kind of S Nor does it say that this is the only place that
NPs and VPs occur
19
Generativity
• As with FSAs and FSTs you 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
20
Derivations
• A derivation is a sequence of rules applied to a string that accounts for that string Covers all the elements in the string Covers only the elements in the string
21
Derivations as Trees
22
Parsing
• Parsing is the process of taking a string and a grammar and returning a (many?) parse tree(s) for that string
• It is completely analogous to running a finite-state transducer with a tape It’s just more powerful
Remember this means that there are languages we can capture with CFGs that we can’t capture with finite-state methods
23
Other Options
• Regular languages (expressions) Too weak
• Context-sensitive or Turing equivalent Too powerful (maybe)
24
Context?
• The notion of context in CFGs has nothing to do with the ordinary meaning of the word context in language.
• All it really means is that the non-terminal on the left-hand side of a rule is out there all by itself (free of context)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 Or when I see a B followed by a C I can infer an A regardless of
the surrounding context
25
Key Constituents (English)
• Sentences
• Noun phrases
• Verb phrases
• Prepositional phrases
26
Sentence-Types
• Declaratives: A plane leftS -> 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 Aux NP VP
27
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).Nominal -> Nominal PP [[flight] [to Boston]]
VP -> VP PP [[departed Miami] [at noon]]
28
Recursion
• Of course, this is what makes syntax interestingflights 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
29
Recursion
• Of course, this is what makes syntax interesting[[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]]
Etc.
30
The Point
• If you have a rule like VP -> V NP
It only cares that the thing after the verb is an NP. It doesn’t have to know about the internal affairs of that NP
31
The Point
32
Conjunctive Constructions
• S -> S and S John went to NY and Mary followed him
• NP -> NP and NP
• VP -> VP and VP
• …
• In fact the right rule for English isX -> X and X
33
Problems
• Agreement
• Subcategorization
• Movement (for want of a better term)
34
Agreement
• This dog• Those dogs
• This dog eats• Those dogs eat
• *This dogs• *Those dog
• *This dog eat• *Those dogs eats
35
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
• …
36
Subcategorization
• *John sneezed the book
• *I prefer United has a flight
• *Give with a flight
• Subcat expresses the constraints that a predicate (verb for now) places on the number and syntactic types of arguments it wants to take (occur with).
37
So?
• So 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
38
So What?
• Now overgeneration is a problem for a generative approach. The grammar is supposed to account for all
and only the strings in a language
• From a practical point of view... Not so clear that there’s a problem Why?
39
Possible CFG Solution
• S -> NP VP• NP -> Det Nominal• VP -> V NP• …
• SgS -> SgNP SgVP• PlS -> PlNp PlVP• SgNP -> SgDet
SgNom• PlNP -> PlDet PlNom• PlVP -> PlV NP• SgVP ->SgV Np• …
40
CFG Solution for Agreement
• It works and stays within the power of CFGs
• But its ugly
• And it doesn’t scale all that well
41
Forward Pointer
• It turns out that verb subcategorization facts will provide a key element for semantic analysis (determining who did what to who in an event).
42
Movement
• Core (canonical) example My travel agent booked the flight
43
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.
44
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 its separated from its verb by 2 other verbs.
45
The Point
• CFGs appear to be just about what we need to account for a lot of basic syntactic structure in English.
• But there are problems That can be dealt with adequately, although not
elegantly, by staying within the CFG framework.
• There are simpler, more elegant, solutions that take us out of the CFG framework (beyond its formal power)
46
Parsing
• Parsing with CFGs refers to the task of assigning correct trees to input strings
• Correct here means a tree that covers all and only the elements of the input and has an S at the top
• It doesn’t actually mean that the system can select the correct tree from among all the possible trees
47
Parsing
• As with everything of interest, parsing involves a search which involves the making of choices
• We’ll start with some basic (meaning bad) methods before moving on to the one or two that you need to know
48
For Now
• Assume… You have all the words already in some buffer The input isn’t POS tagged We won’t worry about morphological analysis All the words are known
49
Top-Down Parsing
• Since we’re trying to find trees rooted with an S (Sentences) start with the rules that give us an S.
• Then work your way down from there to the words.
50
Top Down Space
51
Bottom-Up Parsing
• Of course, we also want trees that cover the input words. So start with trees that link up with the words in the right way.
• Then work your way up from there.
52
Bottom-Up Space
53
Bottom Up Space
54
Control
• Of course, in both cases we left out how to keep track of the search space and how to make choices Which node to try to expand next Which grammar rule to use to expand a node
55
Top-Down and Bottom-Up
• Top-down Only searches for trees that can be answers
(i.e. S’s) But also suggests trees that are not
consistent with any of the words
• Bottom-up Only forms trees consistent with the words But suggest trees that make no sense globally
56
Problems
• Even with the best filtering, backtracking methods are doomed if they don’t address certain problems Ambiguity Shared subproblems
57
Ambiguity
58
Shared Sub-Problems
• No matter what kind of search (top-down or bottom-up or mixed) that we choose. We don’t want to unnecessarily redo work
we’ve already done.
59
Shared Sub-Problems
• Consider A flight from Indianapolis to Houston on TWA
60
Shared Sub-Problems
• Assume a top-down parse making bad initial choices on the Nominal rule.
• In particular… Nominal -> Nominal Noun Nominal -> Nominal PP
61
Shared Sub-Problems
62
Shared Sub-Problems
63
Shared Sub-Problems
64
Shared Sub-Problems