csa3050: nlp algorithms
DESCRIPTION
CSA3050: NLP Algorithms. Parsing Algorithms 2 Problems with DFTD Parser Earley Parsing Algorithm. Left Recursion Ambiguity Inefficiency. Problems with DFTD Parser. Left Recursion. - PowerPoint PPT PresentationTRANSCRIPT
December 2003 CSA3050: Parsing Algorithms 2 1
CSA3050: NLP Algorithms
Parsing Algorithms 2
Problems with DFTD Parser
Earley Parsing Algorithm
December 2003 CSA3050: Parsing Algorithms 2 2
Problems withDFTD Parser
• Left Recursion• Ambiguity• Inefficiency
December 2003 CSA3050: Parsing Algorithms 2 3
Left Recursion
• A grammar is left recursive if it contains at least one non-terminal A for whichA * A and *
• Intuitive idea: derivation of that category includes itself along its leftmost branch.
NP NP PP NP NP and NP
NP DetP Nominal DetP NP ' s
December 2003 CSA3050: Parsing Algorithms 2 4
Infinite Search
December 2003 CSA3050: Parsing Algorithms 2 5
Dealing with Left Recursion
• Reformulate the grammar – A A |
as– A A'
A' A' |
– Disadvantage: different (and probably unnatural) parse trees.
• Use a different parse algorithm
December 2003 CSA3050: Parsing Algorithms 2 6
Ambiguity
• Coordination Ambiguity: different scope of conjunction:Black cats and dogs like to play
• Attachment Ambiguity: a constituent can be added to the parse tree in different places:I shot an elephant in my pyjamas
• VP → VP PPNP → NP PP
December 2003 CSA3050: Parsing Algorithms 2 7
Catalan Numbers
The nth Catalan number counts the ways of dissecting a polygon with n+2 sides into triangles by drawing nonintersecting diagonals. No of PPs # parses
2 2
3 5
4 14
5 132
6 469
7 1430
8 4867
December 2003 CSA3050: Parsing Algorithms 2 8
Handling Disambiguation
• Statistical disambiguation
• Semantic knowledge.
December 2003 CSA3050: Parsing Algorithms 2 9
Repeated Parsing ofSubtrees
a flight 4
from Indianapolis 3
to Houston 2
on TWA 1
A flight from Indianapolis 3
A flight from Indianapolis to Houston
2
A flight from Indianapolis to Houston on TWA
1
December 2003 CSA3050: Parsing Algorithms 2 10
Earley Algorithm• Dynamic Programming: solution involves
filling in table of solutions to subproblems.
• Parallel Top Down Search
• Worst case complexity = O(N3) in length N of sentence.
• Table, called a chart, contains N+1 entries
● book ● that ● flight ● 0 1 2 3
December 2003 CSA3050: Parsing Algorithms 2 11
The Chart
• Each table entry contains a list of states• Each state represents all partial parses that have
been reached so far at that point in the sentence.• States are represented using dotted rules
containing information about– Rule/subtree: which rule has been used
– Progress: dot indicates how much of rule's RHS has been recognised.
– Position: text segment to which this parse applies
December 2003 CSA3050: Parsing Algorithms 2 12
Examples of Dotted Rules
• Initial S RuleS → ● VP, [0,0]
• Partially recognised NPNP → Det ● Nominal, [1,2]
• Fully recognised VPVP → V VP ● , [0,3]
• These states can also be represented graphically
December 2003 CSA3050: Parsing Algorithms 2 13
The Chart
December 2003 CSA3050: Parsing Algorithms 2 14
Earley Algorithm
• Main Algorithm: proceeds through each text position, applying one of the three operators below.
• Predictor: Creates "initial states" (ie states whose RHS is completely unparsed).
• Scanner: checks current input when next category to be recognised is pre-terminal.
• Completer: when a state is "complete" (nothing after dot), advance all states to the left that are looking for the associated category.
December 2003 CSA3050: Parsing Algorithms 2 15
Early Algorithm – Main Function
December 2003 CSA3050: Parsing Algorithms 2 16
Early Algorithm – Sub Functions
December 2003 CSA3050: Parsing Algorithms 2 17
December 2003 CSA3050: Parsing Algorithms 2 18
December 2003 CSA3050: Parsing Algorithms 2 19
fl
December 2003 CSA3050: Parsing Algorithms 2 20
Retrieving Trees• To turn recogniser into a parser, representation of
each state must also include information about completed states that generated its constituents
December 2003 CSA3050: Parsing Algorithms 2 21
December 2003 CSA3050: Parsing Algorithms 2 22
Chart[3]
↑Extra Field