1 / 19

Chart Parsing

Chart Parsing. Allen ’ s Chapter 3 J & M ’ s Chapter 10. Chart Parsing. General Principles: A Bottom-Up parsing method – Construct a parse starting from the input symbols – Build constituents from sub-constituents

jill
Download Presentation

Chart Parsing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chart Parsing Allen’s Chapter 3 J & M’s Chapter 10

  2. Chart Parsing General Principles: A Bottom-Up parsing method – Construct a parse starting from the input symbols – Build constituents from sub-constituents – When all constituents on the RHS of a rule are matched, create a constituent for the LHS of the rule The Chart allows storing partial analyses, so that they can be shared. Data structures used by the algorithm: – The Key: the current constituent we are attempting to “match” – An Active Arc: a grammar rule that has a partially matched RHS – The Agenda: Keeps track of newly found unprocessed constituents – The Chart: Records processed constituents (non-terminals) that span substrings of the input

  3. Chart Parsing Steps in the Process: Input is processed left-to-right, one word at a time 1. Find all POS of the current word (terminal-level) 2. Initialize Agenda with all POS of the word 3. Pick a Key from the Agenda 4. Add all grammar rules that start with the Key as active arcs 5. Extend any existing active arcs with the Key 6. Add LHS constituents of newly completed rules to the Agenda 7. Add the Key to the Chart 8. If Agenda not empty – go to (3), else go to (1)

  4. The Chart Parsing Algorithm Extending Active Arcs with a Key: • Each Active Arc has the form: <pi>[A  X1…C…Xm] <pj> - A Key constituent has the form: <pj >C<pk> - When processing the Key <p1>C<p2>, we search the active arc list for an arc <p0>[A  X1…C…Xm]<p1>, and then create a new active arc <p0>[A  X1…C… Xm]<p2> - If the new active arc is a completed rule: <p0>[A  X1…C]<p2>, then we add <p0>A<p2> to the Agenda - After “using” the key to extend all relevant arcs, it is entered into the Chart

  5. The Chart Parsing Algorithm The Main Algorithm: parsing input x = x1…xn 1. i = 0 2. If Agenda is empty and i < n then set i = i + 1, find all POS of xi and add them as constituents <pi>C<pi+1> to the Agenda 3. Pick a Key constituent <pj>C< pk > from the Agenda 4. For each grammar rule of form A  CX1…Xm, add <pj>[A   CX1…Xm]<pj> to the list of active arcs 5. Use Key to extend all relevant active arcs 6. Add LHS of any completed active arcs into the Agenda 7. Insert the Key into the Chart 8. If Key is <1>S<n> then Accept the input Else goto (2)

  6. Chart Parsing - Example The Grammar: (1) S  NP VP (2) NP  ART ADJ N (3) NP  ART N (4) NP  ADJ N (5) VP  AUX VP (6) VP  V NP

  7. Chart Parsing - Example The input: “x = The large can can hold the water” POS of Input Words: • the: ART • large: ADJ • can: N, AUX, V • hold: N, V • water: N, V

  8. The large can can hold the water

  9. The large can can hold the water

  10. The large can can hold the water

  11. The large can can hold the water

  12. The final Chart

  13. Time Complexity of Chart Parsing • Algorithm iterates for each word of input (i.e. n iterations) • How many keys can be created in a single iteration i? – Each key in Agenda has the form <pj>C< pi+1>, 1  j  i – Thus O(n) keys • Each key <pj>C<pi+1> can extend active arcs of the form • <pk>[A  X1…C…Xm]<pj>, for 1  k  j • Each key can thus extend at most O(n) active arcs • Time required for each iteration is thus O(n2) • Time bound on entire algorithm is therefore O(n3)

  14. Improved Chart Parser Increasing the Efficiency of the Algorithm • Observation: The algorithm creates constituents that cannot “fit” into a global parse structure. Example: <2>[NP  ADJ N]<3> • These can be eliminated using predictions • Using Top-down predictions: – For each non-terminal A, define First(A) = the set of all leftmost non-terminals derivable from A – Compute in advance First(A) for all non-terminals A – When processing the key <pj>C<pi+1> we look for grammar rules that form an active arc <pj>[A C X2…Xm]<pj> – Add the active arc only if A is predicted: there already exists an active arc <pk>[B  X1…D…Xm]<pj> such that A  First(D) – For pk = 1 (arcs of the form <1>[A   C X2…Xm]<1>), add the active arc only if A  First(S)

  15. Improved Chart Parser - Example

  16. The large can can hold the water

  17. The large can can hold the water

More Related