Title: Context-Free Parsing
1Context-Free Parsing
- Part 2
- Features and Unification
2Parsing with features
- We need to constrain the rules in CFGs, for
example - to coerce agreement within and between
constituents - to pass features around
- to enforce subcategorisation constraints
- Features can be easily added to our grammars
- And later well see that feature bundles can
completely replace constituents
3Parsing with features
- Rules can stipulate values, or placeholders
(variables) for values - Features can be used within the rule, or passed
up via the mother nodes - Example subject-verb agreement
- S ? NP VP if NP and VP agree in number
- number of NP depends on noun and/or
determiner - number of VP depends on verb
S ? NP(numX) VP (numX) NP (numX) ? det(numX)
n (numX) VP(numX) ? v(numX) NP(num?)
4Declarative nature of features
- The rules can be used in various ways
- To build an NP only if det and n agree
(bottom-up) - When generating an NP, to choose an n which
agrees with the det (if working L-to-R)
(top-down) - To show that the num value for an NP comes from
its components (percolation) - To ensure that the num value is correctly set
when generating an NP (inheritance) - To block ill-formed input
NP (numX) ? det(numX) n (numX)
this det (numsg) these det (numpl) the
det (num?) man n (numsg) men n (numpl)
NP (numsg)
det(numsg) n(numsg)
5Use of variables
- Unbound (unassigned) variables (ie variables with
a free value) - the can combine with any value for num
- Unification means that the num value for the is
set to sg
NP (numX) ? det(numX) n (numX)
this det (numsg) these det (numpl) the
det (num?) man n (numsg) men n (numpl)
NP (numsg)
det(num?) n(numsg)
6Parsing with features
- Features must be compatible
- Formalism should allow features to remain
unspecified - Feature mismatch can be used to block false
analyses, and disambiguate - e.g. they can fish he can fish he cans fish
- Formalism may have attribute-value pairs, or rely
on argument position - e.g. NP(_num,_sem) ? det(_num) n (_num,_sem)
- an det(sing)
- the det(_num)
- man n(sing,hum)
7Parsing with features
VP ? v e.g. dance VP? v NP e.g. eat VP ? v NP
NP e.g. give VP ? v PP e.g. wait (for)
- Using features to impose subcategorization
constraints
VP(_num) ? v(_num,intr) VP(_num) ? v(_num,trans)
NP VP(_num) ? v(_num,ditrans) NP NP VP(_num) ?
v(_num,prepobj(_case)) PP(_case) PP(_case) ?
prep(_case) NP dance v(plur,intr) dances
v(sing,intr) danced v(_num,intr) waits
v(sing,prepobj(for)) for prep(for)
8Parsing with features (top-down)
S ? NP(_num) VP(_num) NP(_num) ? det(_num)
n(_num) VP(_num) ? v(_num,intrans) VP(_num) ? v
(_num,trans) NP(_1)
the man shot those elephants
S ? NP(_num) VP(_num)
NP(_num) ? det(_num) n(_num)
the det(_num)
man n(sing)
(sing)
(sing)
_numsing
VP(sing) ? v(sing,intrans)
shot v(sing,trans)
(sing)
(pl)
(sing)
VP(sing) ? v(sing,trans) NP(_1)
shot v(sing,trans)
NP(_1) ? det(_1) n(_1)
(pl)
(pl)
those det(pl)
elephants n(pl)
9(No Transcript)
10(No Transcript)
11ADAPT formalism
s(_fin,_tns) --gt np(_agr,subj),
vp(_agr,_tns,_val). np(_agr,_case) --gt det(_agr),
n(_agr). np(_agr,_case) --gt pro(_agr,_case). np(no
t3sg,_case) --gt n(not3sg). bare
plurals np(3sg,_case) --gt n(mass). mass nouns
can be bare too n(_agr) --gt adj(), n(_agr).
or with noun compounds n(_agr) --gt n(_agr1),
n(_agr). vp(_agr,_tns,_val) --gt
vp(_agr,_tns,_val), pp(). vp(_agr,_tns,_val) --gt
vp(_agr,_tns,_val), adv(). vp(_agr,_tns,intr) --gt
vg(_agr,_tns,intr). vp(_agr,_tns,tr) --gt
vg(_agr,_tns,tr), np(_agr0,obj). _cat() --gt
_cat(), conj(), _cat(). etc
- Note distinction between _variable and value
- Rules always have the same number of arguments
- (or it counts as a different category)
- Even if the value is of no interest
- You can even have variable functor names
- (for those who know Prolog) it looks like
Prolog, but it aint!
12Feature structures
- Instead of attaching features to the symbols, we
can parse with symbols made up entirely of
attribute-value pairs feature structures - Can be used in the same way as seen previously
- Values can be atomic
- or embedded feature structures
13Feature structures
CAT S HEAD
14Parsing with feature structures
- Grammar rules can specify assignments to or
equations between feature structures - Expressed as feature paths
- e.g. HEAD.AGR.NUM SG
CAT S HEAD
15Feature unification
- Feature structures can be unified if
- They have like-named attributes that have the
same value - NUM SG ? NUM SG NUM SG
- Like-named attributes that are open get the
value assigned
?
16Feature unification
- Complementary features are brought together
- Unification is recursive
- Coindexed structures are identical (not just
copies) assignment to one effects all
?
PERSON 3
CAT NP AGR NUM SG
CAT NP AGR PERS 3
?
17Example
CAT N AGR _2 SEM _3
CAT NP AGR _1 ? _2 SEM
_3
CAT DET AGR _1
?
CAT DET AGR
?
a
?
CAT DET AGR VAL DEF
the
CAT N LEX man AGR NUM SG SEM
HUM
?
man
18the man
the
the man
CAT N AGR _2 SEM _3
CAT NP AGR _1
? _2 SEM _3
CAT DET AGR _1
?
LEX man AGR NUM SG SEM HUM
VAL DEF
VAL DEF
NUM SG
HUM
19a man
a
a man
CAT NP AGR _1
? _2 SEM
_3
CAT N AGR _2 SEM _3
CAT DET AGR _1
?
LEX man AGR NUM SG SEM HUM
NUM SG
HUM
20Types and inheritance
- Feature typing allows us to constrain possible
values a feature can have - e.g. num sing,plur
- Allows grammars to be checked for consistency,
and can make parsing easier - We can express general feature co-occurrence
conditions - And feature inheritance rules
- Both these allow us to make the grammar more
compact
21Co-occurrence conditions and Inheritance rules
- General rules (beyond simple unification) which
apply automatically, and so do not need to be
stated (and repeated) in each rule or lexical
entry - Examples
- catnp ? num??, gen??, case??
- catv,numsg ? tnspres
- attr1val1 ? ? attr2val2
22Inheritance rules
- Inheritance rules can be over-ridden
- e.g. catn ? gen??,sem??
- sexmale,female
- genmasc,fem,neut
- catn,genfem,semhum ? sexfemale
- uxor catn,genfem,semhum
- agricola catn,genfem,semhum,sexmale
23Unification in Linguistics
- Lexical Functional Grammar
- If interested, see PARGRAM project
- GPSG, HPSG
- Construction Grammar
- Categorial Grammar