Transcript acc
Ambiguity Management in
Deep Grammar Engineering
Tracy Holloway King
Ambiguity: bug or feature?
Bug in computer programming languages
Feature in natural language
– People good at resolving ambiguity in context
– Ambiguity consequently often unperceived
“Readjust paper holding clip”
even though thousand-fold ambiguities are common
– Ambiguity promotes conciseness
Computers can’t resolve ambiguity like humans
If we are going to build large-scale, linguistically
sophisticated grammars, we need ways to
handle ambiguity
Talk Outline
Sources of ambiguity
Grammar engineering approaches
– Shallow markup
– (Dis)preference marks
Stochastic disambiguation
Efficiency in ambiguity management
Sources of Ambiguity
Phonetic:
Tokenization:
– “I scream” or “ice cream”
– “I like Jan.” --- |Jan|. Or |Jan.|.
Morphological:
Lexical:
Syntactic:
Semantic:
Pragmatic:
(abbrev January)
– “walks” --- plural noun or 3sg verb
– “untieable knot” --- un(tieable) or (untie)able
– “bank” --- river bank or financial institution
– “The turkeys are ready to eat.” --- fattened or hungry
– “Two boys ate fifteen pizzas.” --- 15 each or 15 total
– “Sue won. Ed gave her a good luck charm.” --- cause or result
PP Attachment
A classic example of syntactic ambiguity
PP adjuncts can attach to VPs and NPs
Strings of PPs in the VP are ambiguous
– I see the girl with the telescope.
I see [the girl with the telescope].
I see [the girl] [with the telescope].
Ambiguities proliferate exponentially
– I see the girl with the telescope in the park
I see [the girl with [the telescope in the park]]
I see [the [girl with the telescope] in the park]
I see the girl [with the [telescope in the park]]
I see the girl [with the telescope] [in the park]
I see [the girl with the telescope] [in the park]
– The syntax has no way to determine the attachment, even if
humans can.
Coverage entails ambiguity
I fell in the park.
+
I know the girl in the park.
I see the girl in the park.
Ambiguity can be explosive
If alternatives multiply within or across
components…
Discourse
Semantics
Syntax
Morphology
Tokenize
Ambiguity figures
Deep grammars are massively ambiguous
Example: 700 from section 23 of WSJ
– average # of words: 19.6
– average # of optimal parses: 684
» for 1-10 word sentences: 3.8
» for 11-20 word sentences: 25.2
» for 50-60 word sentences: 12,888
Managing Ambiguity
Grammar engineering approaches
– Trim early with shallow markup
– (Dis)preference marks on rules
Choose most probable parse for applications
that need a single input
Use packing to parse and manipulate the
ambiguities efficiently
Talk Outline
Sources of ambiguity
Grammar engineering approaches
– Shallow markup
– (Dis)preference marks
Stochastic disambiguation
Efficiency in ambiguity management
Shallow markup
Part of speech marking as filter
I saw her duck/VB.
– accuracy of tagger (v. good for English)
– can use partial tagging (verbs and nouns)
Named entities
– <company>Goldman, Sachs & Co.</company> bought IBM.
– good for proper names and times
– hard to parse internal structure
Fall back technique if fail
– slows parsing
– accuracy vs. speed
Example shallow markup: Named entities
Allow tokenizer to accept marked up input:
parse {<person>Mr. Thejskt Thejs</person> arrived.}
tokenized string:
Mr. Thejskt Thejs TB +NEperson
Mr(TB). TB Thejskt TB Thejs
Add
TB arrived TB . TB
lexical entries and rules for NE tags
Resulting C-structure
Resulting F-structure
Results for shallow markup
Full/All
% Full
parses
Optimal
sol’ns
Best
F-sc
Time
%
Unmarked
76
482/1753
82/79
65/100
Named ent
78
263/1477
86/84
60/91
POS tag
62
248/1916
76/72
40/48
Kaplan and King 2003
(Dis)preference marks (OT marks)
Want to (dis)prefer certain constructions
– prefer: use when possible
– disprefer: do not use unless no other analysis
Implementation
– Put marks in rules and lexical entries
– Rank those marks
» ranking can be different for different grammars/corpora
– Use most prefered parse(s)
» can use as a two pass system for robust parsing
Ungrammatical input
Real world text contains ungrammatical input
– Deep grammars tend to only cover grammatical output
Common errors can be coded in the rules
– may want to know that error occurred
(e.g., provide feedback in CALL grammars)
Disprefer parses of ungrammatical structures
– tools for grammar writer to rank rules
– two+ pass system
1. standard rules
2. rules for known ungrammatical constructions
3. default fall back rules
Sample ungrammatical structures
Mismatched subject-verb agreement
Verb3Sg = { SUBJ PERS = 3
SUBJ NUM = sg
|BadVAgr }
Missing copula
VPcop ==> { Vcop: ^=!
|e: (^ PRED)='NullBe<(^ SUBJ)(^XCOMP)>'
MissingCopularVerb}
{ NP: (^ XCOMP)=!
|AP: (^ XCOMP)=!
| …}
Dispreferred grammatical structures
Prefer subcategorized infinitives to adverbials
– I want it.
I finished up (in order) to leave.
– I want it to leave.
VP --> V
(NP: (^ OBJ)=!)
(VPinf: { (^ XCOMP)=! +InfSubcat
|! $ (^ ADJUNCT) InfAdjunct } ).
Post-copular gerunds
– He is a boy. (His) going is difficult.
– He is going.
OT Mark summary
Use (dis)preference marks to (dis)prefer
constructions or words
Allows inclusion of marginal/ungrammatical
constructions
Issues:
– Only works with ambiguities with known
preferences (not PP attachment)
– Hard to determine ranking for many marks
– Two-pass parsing can be slow
Talk Outline
Sources of ambiguity
Grammar engineering approaches
– Shallow markup
– (Dis)preference marks
Stochastic disambiguation
Efficiency in ambiguity management
Packing & Pruning in XLE
XLE produces (too) many candidates
– All valid (with respect to grammar and OT marks)
– Not all equally likely
– Some applications require a single best parse
or at most just a handful (n best)
Grammar writer can’t specify correct choices
– Many implicit properties of words and structures with
unclear significance
Pruning in XLE
Appeal to probability model to choose best parse
Assume: previous experience is a good guide for
future decisions
Collect corpus of training sentences, build
probability model that optimizes for previous good
results
– partially labelled training data is ok
[NP-SBJ They] see [NP-OBJ the girl with the telescope]
Apply model to choose best analysis of new
sentences
– efficient (XLE English grammar: 5% of parse time)
Exponential models are appropriate
(aka Maximum Entropy or Log-linear models)
Assign probabilities to representations, not to
choices in a derivation
No independence assumption
Arithmetic combined with human insight
– Human:
» Define properties of representations that may be relevant
» Based on any computable configuration of features, trees
– Arithmetic:
» Train to figure out the weight of each property
Properties employed in WSJ Experiment
~800 property-functions:
–
–
–
–
–
–
–
c-structure nodes and subtrees
recursively embedded phrases
f-structure attributes (grammatical functions)
atomic attribute-value pairs
left/right branching
(non)parallelism in coordination
lexical elements (subcategorization frames)
Some end up with no discrimination power after
training
Stochastic Disambiguation Summary
Training:
– Define a set of features by hand
– Train on partially labelled data
– Can train on low-ambiguity data
Use:
– Choose just one structure for applications that
want just one
– XLE displays most probable first
– 5% of parse time to disambiguate
– 30% gain in F-score
Talk Outline
Sources of ambiguity
Grammar engineering approaches
– Shallow markup
– (Dis)preference marks
Stochastic disambiguation
Efficiency in ambiguity management
Computational consequences of ambiguity
Serious problem for computational systems
– Broad coverage, hand written grammars frequently produce
thousands of analyses, sometimes millions
– Machine learned grammars easily produce hundreds of
thousands of analyses if allowed to parse to completion
Three approaches to ambiguity management:
– Pruning: block unlikely analysis paths early
– Procrastination: do not expand analysis paths that will lead
to ambiguity explosion until something else requires them
» Also known as underspecification
– Packing: compact representation and computation of all
possible analyses
The Problem with Pruning:
premature disambiguation
The conventional approach: Use heuristics to prune as soon as possible
Strong constraints may reject the so-far-best (= only) option
Statistics
X
Discourse
Fast computation, wrong result
Semantics
X
Syntax
Morphology
Tokenize
X
X
X
The problem with procrastination:
passing the buck
Chunk parsing as an example:
– Collect noun groups, verb groups, PP groups
– Leave it to later processing to figure out the
correct way of putting these together
– Not all combinations are grammatically acceptable
Later processing must either
– Call parser to check grammatical constraints
– Have its own model of grammatical constraints
– In the best case, solve a set of constraints the
partial parser includes with its output
The Problem with Packing
There may be too many analyses to pack
efficiently
A major problem for relatively unconstrained
machine induced grammars
– Grammars overgenerate massively
– Statistics used to prune out unlikely sub-analyses
Less of a problem for carefully hand-coded
broad coverage grammars
Packing
Explosion of ambiguity results from a small
number of sub-analyses combining in
different ways to produce a large number of
total analyses (e.g. PP attachment)
Compute and represent each sub-analysis
just once
Compute a factored representation of how
these sub-analyses combine
Generalizing Free Choice Packing
The sheep saw the fish.
How many sheep?
How many fish?
Options multiplied out
The sheep-sg saw the fish-sg.
The sheep-pl saw the fish-sg.
The sheep-sg saw the fish-pl.
The sheep-pl saw the fish-pl.
In principle, a verb might require
agreement of Subject and Object:
Have to check it out.
Options packed
The sheep
sg
sg
saw the fish
pl
pl
But English doesn’t do that:
Any combination of choices is OK
Dependent choices
Das Mädchen
The girl
nom
acc
sah die Katze nom
acc
saw the cat
Again, packing avoids duplication … but it’s wrong
It doesn’t encode all dependencies, choices are not free.
Das Mädchen-nom sah die Katze-nom
Das Mädchen-nom sah die Katze-acc
Das Mädchen-acc sah die Katze-nom
Das Mädchen-acc sah die Katze-acc
bad
The girl saw the cat
The cat saw the girl
bad
Solution: Label dependent choices
Das Mädchen-nom sah die Katze-nom
Das Mädchen-nom sah die Katze-acc
Das Mädchen-acc sah die Katze-nom
Das Mädchen-acc sah die Katze-acc
Das Mädchen
p:nom
p:acc
sah die Katze
q:nom
q:acc
bad
The girl saw the cat
The cat saw the girl
bad
=
(pq)
(pq)
• Label each choice with distinct Boolean variables p, q, etc.
• Record acceptable combinations as a Boolean expression
• Each analysis corresponds to a satisfying truth-value assignment
(a line from ’s truth table that assigns it “true”)
The Free Choice Gamble
Worst case, where everything interacts:
– As many choice variables as there are readings
– Packing blows up, and becomes exponential
Best case, no interactions
– N completely independent choices represent 2N
readings
Language interactions mostly limited & local
– Tends towards the best case
– Free choice packing pays off for linguistic analysis
Conclusions
Ambiguity has to be dealt with
Deep grammars use a variety of approaches
– preprocessing
– grammar engineering
– stochastic disambiguation
Why use deep grammars if they are so
ambiguous?
Deep analysis matters…
if you care about the answer
Example:
A delegation led by Vice President Philips, head of the chemical
division, flew to Chicago a week after the incident.
Question: Who flew to Chicago?
Candidate answers:
division
head
V.P. Philips
closest noun
next closest
next
delegation
furthest away but
Subject of flew
shallow but wrong
deep and right
Applications of Language Engineering
Post-Search
Sifting
Broad
Autonomous
Knowledge Filtering
Alta
Vista
AskJeeves
Document Base
Management
Narrow
Domain Coverage
Google
Restricted
Dialogue
Manually-tagged
Keyword Search
Knowledge
Fusion
Good
Translation
Useful
Summary
Natural
Dialogue
Microsoft
Paperclip
Low
Functionality
High
What to do with them?
Define yes-no / 1-0 features, f, that seem important
Training determines weights on these features, λ, to
reflect their actual importance
Select parse x: count occurrences of features (0,1)
and multiply by corresponding weights, λ.f(x)
Convert weighted feature counts to probabilities
eλ.f(x)
eλ.f(X)
Un-normalized probability
Normalizing factor
Issues in Stochastic Disambiguation
What kind of probability model?
What kind of training data?
Efficiency of training, efficiency of
disambiguation?
Benefit vs. random choice of parse
Advantages of Free Choice Packing
Avoids procrastination
– Nogoods are constraints that parser sends to other component
– Eliminating nogoods: other components don’t do parser’s work
Independence between choices:
Allows processing relying on independence assumptions
– Counting number of readings
» Apparently trivial but of crucial importance, since statistical modelling
requires the ability to count
– Hence, statistical processing
A general mechanism extending beyond parsing
Simplifying Truth Tables
Das Mädchen
p:nom
p:acc
sah die Katze
p
1
1
0
0
Das Mädchen
p:nom
p:acc
q
1 0
0 1
1 1
0 0
sah die Katze
p
1
0
1
1
q:nom
q:acc
=
(pq)
(pq)
(q = p)
p:nom
p:acc
=
(p
p)
Freely choose any line
from the truth table