+ All Categories
Home > Documents > CSA3050: NLP Algorithms

CSA3050: NLP Algorithms

Date post: 18-Jan-2016
Category:
Upload: isaura
View: 26 times
Download: 1 times
Share this document with a friend
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 Presentation
22
December 2003 CSA3050: Parsing Algorith ms 2 1 CSA3050: NLP Algorithms Parsing Algorithms 2 Problems with DFTD Parser Earley Parsing Algorithm
Transcript
Page 1: CSA3050: NLP Algorithms

December 2003 CSA3050: Parsing Algorithms 2 1

CSA3050: NLP Algorithms

Parsing Algorithms 2

Problems with DFTD Parser

Earley Parsing Algorithm

Page 2: CSA3050: NLP Algorithms

December 2003 CSA3050: Parsing Algorithms 2 2

Problems withDFTD Parser

• Left Recursion• Ambiguity• Inefficiency

Page 3: CSA3050: NLP Algorithms

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

Page 4: CSA3050: NLP Algorithms

December 2003 CSA3050: Parsing Algorithms 2 4

Infinite Search

Page 5: CSA3050: NLP Algorithms

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

Page 6: CSA3050: NLP Algorithms

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

Page 7: CSA3050: NLP Algorithms

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

Page 8: CSA3050: NLP Algorithms

December 2003 CSA3050: Parsing Algorithms 2 8

Handling Disambiguation

• Statistical disambiguation

• Semantic knowledge.

Page 9: CSA3050: NLP Algorithms

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

Page 10: CSA3050: NLP Algorithms

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

Page 11: CSA3050: NLP Algorithms

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

Page 12: CSA3050: NLP Algorithms

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

Page 13: CSA3050: NLP Algorithms

December 2003 CSA3050: Parsing Algorithms 2 13

The Chart

Page 14: CSA3050: NLP Algorithms

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.

Page 15: CSA3050: NLP Algorithms

December 2003 CSA3050: Parsing Algorithms 2 15

Early Algorithm – Main Function

Page 16: CSA3050: NLP Algorithms

December 2003 CSA3050: Parsing Algorithms 2 16

Early Algorithm – Sub Functions

Page 17: CSA3050: NLP Algorithms

December 2003 CSA3050: Parsing Algorithms 2 17

Page 18: CSA3050: NLP Algorithms

December 2003 CSA3050: Parsing Algorithms 2 18

Page 19: CSA3050: NLP Algorithms

December 2003 CSA3050: Parsing Algorithms 2 19

fl

Page 20: CSA3050: NLP Algorithms

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

Page 21: CSA3050: NLP Algorithms

December 2003 CSA3050: Parsing Algorithms 2 21

Page 22: CSA3050: NLP Algorithms

December 2003 CSA3050: Parsing Algorithms 2 22

Chart[3]

↑Extra Field


Recommended