Dependency structure
- blue
- modifier, dependent, child, subordinate
- house
- head, governor, parent, regent
- Phrase structure
- Dependency structure
Dependency grammar
- Characteristics
- lexical/syntactic dependencies between words
- top-level predicate of the sentence is the root
- simpler to parse than CFG
- particularly useful for free word order languages(Latin)
How to identify the head
- H=head, M=modifier
- H determines the syntactic category of the construct
- H determines the semantic category of the construct
- H is required, M can be skipped( house is a must, but blue can be skipped)
- Fixed linear position of M with respect to H
Head rules from Collins
Techniques
- Dynamic Programming
- CKY - similar to lexicalized PCFG,
O(n3)
- CKY - similar to lexicalized PCFG,
O(n3)
- Constraint based methods
- Maruyama 1990, Karlsson 1990
- NP complete problem; heuristics need
- Constraint Graph
- Deterministic Parsing
- Covington 2001
- Maltparser by Nivre
- Similar to shift-reduce parser
- Graph based methods
- Maximum spanning trees(MCDonald et al.)
Non-projectivity
If you allow your parse tree to have crossings as shown at the bottom of the sentence, the parse tree is non-projective parse tree.
Dependency parsing
- Background
- McDonald et al. 2005
- Projectivity
- English dependency trees are mostly projective (can be drawn without crossing dependencies)
- Idea
- Dependency parsing is equivalent to search for a maximum spanning tree in a directed graph.
MaltParser
- It includes following components
- a stack
- a buffer
- set of dependencies (arcs)
- There is also arc-eager parser having different actions
Example
- There is no search, the next action is chosen using a classifier.
- The final list of arcs is returned as the dependency tree.
Evaluation metric
- Labelled dependency accuracy
- # correct deps / # deps
Complexity
- Projective (CKY) O(n5)
- Projective (Eisner) O(n3)
- Non-projective (MST- Chu-Liu-Edmonds) O(n2)
- Projective (Malt) O(n)
Application
Use in Information Extraction
Dependency kernels
Decides how similar 2 sentences are based on how similar their dependency structures are.